
/* WARNING: Function: __x86.get_pc_thunk.si replaced with injection: get_pc_thunk_si */

longlong unpack_xz_stream(transformer_state_t *xstate)

{
  xz_buf iobuf;
  
}



/* WARNING: Function: __i686.get_pc_thunk.si replaced with injection: get_pc_thunk_si */
/* WARNING: Type propagation algorithm not settling */

undefined8 FUN_0007d999(void)

{
  uint *puVar1;
  bool bVar2;
  char cVar3;
  uint *__ptr;
  void *pvVar4;
  int iVar5;
  undefined4 uVar6;
  uint uVar7;
  int iVar8;
  uint uVar9;
  uint uVar10;
  uint uVar11;
  int *piVar12;
  undefined ***pppuVar13;
  int *piVar14;
  int *piVar15;
  int *piVar16;
  undefined4 **ppuVar17;
  uint uVar18;
  int in_GS_OFFSET;
  byte bVar19;
  undefined **local_6c;
  undefined4 local_68;
  undefined4 **local_64;
  undefined4 *local_60;
  undefined4 local_5c;
  undefined4 local_58;
  char *local_54;
  undefined4 *local_38;
  undefined4 local_34;
  undefined4 local_30;
  undefined4 *local_2c;
  undefined4 local_24;
  undefined4 local_20;
  
  bVar19 = 0;
  pppuVar13 = &local_6c;
  local_6c = &__DT_PLTGOT;
  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);
  if (DAT_000d1718 == 0) {
    FUN_000a62ce();
  }
  local_64 = &local_38;
  ppuVar17 = local_64;
  for (iVar8 = 6; iVar8 != 0; iVar8 = iVar8 + -1) {
    *ppuVar17 = (undefined4 *)0x0;
    ppuVar17 = ppuVar17 + (uint)bVar19 * -2 + 1;
  }
  local_60 = (undefined4 *)FUN_00019b1c();
  local_2c = local_60 + 0x800;
  local_24 = 0x2000;
  if ((local_54 == (char *)0x0) || (*local_54 != '\0')) {
    *local_60 = 0x587a37fd;
    *(undefined2 *)(local_60 + 1) = 0x5a;
    local_30 = 6;
  }
  local_38 = local_60;
  __ptr = (uint *)malloc(0x49c);
  if (__ptr != (uint *)0x0) {
    __ptr[8] = 2;
    pvVar4 = malloc(0x6f28);
    if (pvVar4 == (void *)0x0) {
      free(__ptr);
      __ptr = (uint *)0x0;
    }
    else {
      *(undefined4 *)((int)pvVar4 + 0x3c) = 2;
      *(undefined4 *)((int)pvVar4 + 0x34) = 0x4000000;
      *(undefined4 *)((int)pvVar4 + 0x18) = 0;
      *(undefined4 *)((int)pvVar4 + 0x38) = 0;
      __ptr[0x126] = (uint)pvVar4;
      FUN_0007d0ea();
    }
  }
  local_68 = local_34;
  local_5c = 0;
  local_58 = 0;
  iVar8 = 1;
LAB_0007daa8:
  if (((int *)pppuVar13)[0xf] == ((int *)pppuVar13)[1]) {
    ((int *)pppuVar13)[-1] = 0x7dacb;
    iVar5 = FUN_0001ac64();
    if (iVar5 < 0) {
      ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x4f84;
      ((int *)pppuVar13)[-5] = 0x7dae6;
      FUN_000191bd();
      ((int *)pppuVar13)[4] = -1;
      ((int *)pppuVar13)[5] = -1;
      if (__ptr != (uint *)0x0) goto LAB_0007dafd;
      goto LAB_0007db27;
    }
    if ((iVar5 == 0) && (iVar8 == 1)) {
      if (__ptr == (uint *)0x0) goto LAB_0007db27;
      goto LAB_0007dafd;
    }
    ((int *)pppuVar13)[0xf] = iVar5;
    ((int *)pppuVar13)[0xe] = 0;
    ((int *)pppuVar13)[1] = 0;
  }
  if (iVar8 == 1) {
    bVar2 = false;
    do {
      if (*(char *)(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1]) != '\0') {
        if (bVar2) {
          ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];
        }
        ((int *)pppuVar13)[-1] = 0x7dba9;
        FUN_0007d0ea();
        ((int *)pppuVar13)[1] = ((int *)pppuVar13)[0xe];
        goto LAB_0007dbb1;
      }
      ((int *)pppuVar13)[1] = ((int *)pppuVar13)[1] + 1;
      bVar2 = true;
    } while ((uint)((int *)pppuVar13)[1] < (uint)((int *)pppuVar13)[0xf]);
    ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];
  }
LAB_0007dbb1:
  ((int *)pppuVar13)[8] = ((int *)pppuVar13)[0x11];
  __ptr[4] = ((int *)pppuVar13)[1];
  uVar7 = *__ptr;
  ((int *)pppuVar13)[0xb] = (int)(__ptr + 0x15);
  do {
  } while (9 < uVar7);
LAB_0007dbcf:
  piVar14 = (int *)pppuVar13;
  switch(*(int *)((int)*pppuVar13 + -0x154d0 + uVar7 * 4) + (int)*pppuVar13) {
  case 0x7dc1f:
    goto switchD_0007dbdb_caseD_7dc1f;
  case 0x7dc7d:
    goto switchD_0007dbdb_caseD_7dc7d;
  case 0x7dcd4:
    goto switchD_0007dbdb_caseD_7dcd4;
  case 0x7dd72:
    goto switchD_0007dbdb_caseD_7dd72;
  case 0x7dfc9:
    ((int *)pppuVar13)[-1] = 0x7dfd4;
    cVar3 = FUN_0007d93a();
    if (cVar3 == '\0') goto LAB_0007dd81;
    *__ptr = 1;
    if ((__ptr[0x26] != 0x587a37fd) || ((short)__ptr[0x27] != 0x5a)) {
      iVar5 = ((int *)pppuVar13)[0x11];
      iVar8 = 5;
      goto LAB_0007df05;
    }
    ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);
    ((int *)pppuVar13)[-5] = 0x7e023;
    uVar7 = FUN_000a62f1();
    piVar14 = (int *)pppuVar13 + -1;
    piVar15 = (int *)pppuVar13 + -1;
    if (~uVar7 != __ptr[0x28]) goto LAB_0007defc;
    piVar15 = (int *)pppuVar13 + -1;
    if (*(char *)((int)__ptr + 0x9e) == '\0') {
      uVar7 = (uint)*(byte *)((int)__ptr + 0x9f);
      __ptr[7] = uVar7;
      piVar15 = (int *)pppuVar13 + -1;
      if (uVar7 < 0x10) {
        if (uVar7 < 2) goto switchD_0007dbdb_caseD_7e05d;
        iVar5 = ((int *)pppuVar13)[0x10];
        iVar8 = 2;
        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);
        goto LAB_0007df05;
      }
    }
    break;
  case 0x7e05d:
switchD_0007dbdb_caseD_7e05d:
    uVar10 = *(uint *)((int)piVar14 + 0x38);
    uVar7 = *(uint *)((int)piVar14 + 0x3c);
    pppuVar13 = (undefined ***)piVar14;
    if (uVar10 == uVar7) goto LAB_0007dd85;
    if (*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) != 0) {
      uVar7 = (uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) * 4 + 4;
      __ptr[0xe] = uVar7;
      __ptr[0x25] = uVar7;
      __ptr[0x24] = 0;
      *__ptr = 2;
      goto switchD_0007dbdb_caseD_7e09e;
    }
    *(uint *)((int)piVar14 + 0x38) = uVar10 + 1;
    __ptr[4] = uVar10;
    *__ptr = 6;
    uVar7 = 6;
    goto LAB_0007dbcf;
  case 0x7e09e:
switchD_0007dbdb_caseD_7e09e:
    piVar14[-1] = 0x7e0a9;
    cVar3 = FUN_0007d93a();
    pppuVar13 = (undefined ***)piVar14;
    if (cVar3 == '\0') goto LAB_0007dd81;
    __ptr[0x25] = __ptr[0x25] - 4;
    piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);
    piVar14[-5] = 0x7e0df;
    uVar10 = FUN_000a62f1();
    uVar7 = __ptr[0x25];
    pppuVar13 = (undefined ***)(piVar14 + -1);
    piVar16 = piVar14 + -1;
    piVar15 = piVar14 + -1;
    if (~uVar10 != *(uint *)((int)__ptr + uVar7 + 0x98)) goto LAB_0007defc;
    __ptr[0x24] = 2;
    bVar19 = *(byte *)((int)__ptr + 0x99);
    piVar15 = piVar14 + -1;
    if ((bVar19 & 0x3f) == 0) {
      if ((bVar19 & 0x40) == 0) {
        __ptr[10] = 0xffffffff;
        __ptr[0xb] = 0xffffffff;
        if (-1 < (char)bVar19) goto LAB_0007e129;
LAB_0007e572:
        *(uint *)((int)piVar16 + -0x10) = uVar7;
        *(undefined4 *)((int)piVar16 + -0x14) = 0x7e585;
        iVar8 = FUN_0007d044();
        pppuVar13 = (undefined ***)((int)piVar16 + -4);
        piVar15 = (int *)((int)piVar16 + -4);
        if (iVar8 != 1) goto LAB_0007defc;
        __ptr[0xc] = __ptr[2];
        __ptr[0xd] = __ptr[3];
        uVar7 = __ptr[0x25];
        uVar10 = __ptr[0x24];
        uVar9 = uVar7 - uVar10;
      }
      else {
        piVar14[-5] = uVar7;
        piVar14[-6] = 0x7e5cc;
        iVar8 = FUN_0007d044();
        pppuVar13 = (undefined ***)(piVar14 + -2);
        piVar16 = piVar14 + -2;
        piVar15 = piVar14 + -2;
        if (iVar8 != 1) goto LAB_0007defc;
        __ptr[10] = __ptr[2];
        __ptr[0xb] = __ptr[3];
        uVar7 = __ptr[0x25];
        if (*(char *)((int)__ptr + 0x99) < '\0') goto LAB_0007e572;
LAB_0007e129:
        __ptr[0xc] = 0xffffffff;
        __ptr[0xd] = 0xffffffff;
        uVar10 = __ptr[0x24];
        uVar9 = uVar7 - uVar10;
      }
      piVar15 = (int *)pppuVar13;
      if (uVar9 < 2) goto LAB_0007defc;
      __ptr[0x24] = uVar10 + 1;
      if (*(char *)((int)__ptr + uVar10 + 0x98) == '!') {
        __ptr[0x24] = uVar10 + 2;
        if (*(char *)((int)__ptr + uVar10 + 0x99) == '\x01') {
          if (uVar10 + 2 == uVar7) goto LAB_0007defc;
          uVar9 = uVar10 + 3;
          __ptr[0x24] = uVar9;
          bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);
          if (bVar19 < 0x28) {
            uVar10 = __ptr[0x126];
            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);
            *(uint *)(uVar10 + 0x30) = uVar18;
            if (*(uint *)(uVar10 + 0x34) < uVar18) {
              iVar5 = *(int *)((int)pppuVar13 + 0x44);
              iVar8 = 4;
              goto LAB_0007df05;
            }
            *(uint *)(uVar10 + 0x2c) = uVar18;
            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {
              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);
              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;
              free(*(void **)((int)pppuVar13 + -0x10));
              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);
              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;
              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));
              *(void **)(uVar10 + 0x18) = pvVar4;
              if (pvVar4 == (void *)0x0) {
                *(undefined4 *)(uVar10 + 0x38) = 0;
                *(undefined1 *)(__ptr + 9) = 0;
                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;
                iVar8 = 3;
                goto LAB_0007de61;
              }
              uVar7 = __ptr[0x25];
              uVar9 = __ptr[0x24];
            }
            *(undefined4 *)(uVar10 + 0x68) = 0;
            *(undefined4 *)(uVar10 + 0x40) = 0;
            *(undefined1 *)(uVar10 + 0x50) = 1;
            *(undefined4 *)(uVar10 + 0x6ee4) = 0;
            while (uVar9 < uVar7) {
              __ptr[0x24] = uVar9 + 1;
              iVar8 = uVar9 + 0x98;
              uVar9 = uVar9 + 1;
              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;
            }
            __ptr[0x24] = 0;
            __ptr[0xf] = 0;
            __ptr[0x10] = 0;
            __ptr[0x11] = 0;
            __ptr[0x12] = 0;
            *__ptr = 3;
            goto switchD_0007dbdb_caseD_7e21b;
          }
        }
      }
    }
    break;
  case 0x7e21b:
switchD_0007dbdb_caseD_7e21b:
    __ptr[4] = ((int *)pppuVar13)[0xe];
    __ptr[5] = ((int *)pppuVar13)[0x11];
    ((int *)pppuVar13)[-1] = 0x7e238;
    iVar8 = FUN_0007d17c();
    ((int *)pppuVar13)[7] = iVar8;
    uVar9 = (((int *)pppuVar13)[0xe] - __ptr[4]) + __ptr[0xf];
    uVar18 = __ptr[0x10] + (uint)CARRY4(((int *)pppuVar13)[0xe] - __ptr[4],__ptr[0xf]);
    __ptr[0xf] = uVar9;
    __ptr[0x10] = uVar18;
    iVar5 = ((int *)pppuVar13)[0x11];
    uVar7 = __ptr[5];
    ((int *)pppuVar13)[9] = uVar7;
    uVar7 = iVar5 - uVar7;
    ((int *)pppuVar13)[10] = uVar7;
    uVar10 = uVar7 + __ptr[0x11];
    uVar7 = __ptr[0x12] + (uint)CARRY4(uVar7,__ptr[0x11]);
    __ptr[0x11] = uVar10;
    __ptr[0x12] = uVar7;
    if ((uVar18 <= __ptr[0xb] && (uint)(__ptr[10] < uVar9) <= __ptr[0xb] - uVar18) &&
       (uVar7 <= __ptr[0xd] && (uint)(__ptr[0xc] < uVar10) <= __ptr[0xd] - uVar7)) {
      if (__ptr[7] == 1) {
        ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);
        ((int *)pppuVar13)[-5] = 0x7e2b9;
        uVar7 = FUN_000a62f1();
        __ptr[6] = ~uVar7;
        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);
      }
      if (((int *)pppuVar13)[7] == 1) {
        piVar15 = (int *)pppuVar13;
        if (((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||
           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])) {
          uVar7 = __ptr[0x11];
          if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||
             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {
            uVar10 = __ptr[0x15];
            uVar18 = __ptr[0xf] + __ptr[0x15];
            uVar9 = __ptr[0xe] + uVar18;
            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);
            __ptr[0x15] = uVar9 + bVar19;
            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +
                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);
            puVar1 = __ptr + 0x17;
            uVar10 = *puVar1;
            *puVar1 = *puVar1 + uVar7;
            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);
            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);
            ((int *)pppuVar13)[-5] = 0x7e349;
            uVar7 = FUN_000a62f1();
            __ptr[0x19] = ~uVar7;
            puVar1 = __ptr + 0x13;
            uVar7 = *puVar1;
            *puVar1 = *puVar1 + 1;
            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);
            *__ptr = 4;
            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);
            goto switchD_0007dbdb_caseD_7e360;
          }
        }
        goto LAB_0007defc;
      }
      iVar8 = ((int *)pppuVar13)[7];
      goto LAB_0007dfbc;
    }
    iVar8 = 7;
    goto LAB_0007df05;
  case 0x7e360:
switchD_0007dbdb_caseD_7e360:
    uVar10 = __ptr[0xf];
    uVar9 = __ptr[0x10];
    if ((uVar10 & 3) != 0) {
      uVar18 = *(uint *)((int)pppuVar13 + 0x38);
      uVar7 = *(uint *)((int)pppuVar13 + 0x3c);
      if (uVar18 == uVar7) goto LAB_0007dd85;
      iVar8 = *(int *)((int)pppuVar13 + 0x34);
      *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;
      piVar15 = (int *)pppuVar13;
      if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;
      uVar9 = uVar9 + (0xfffffffe < uVar10);
      while( true ) {
        uVar10 = uVar10 + 1;
        __ptr[0xf] = uVar10;
        __ptr[0x10] = uVar9;
        if ((uVar10 & 3) == 0) break;
        uVar18 = *(uint *)((int)pppuVar13 + 0x38);
        if (uVar18 == uVar7) goto LAB_0007dd85;
        *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;
        uVar9 = uVar9 + (0xfffffffe < uVar10);
        if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;
      }
    }
    *__ptr = 5;
    piVar14 = (int *)pppuVar13;
switchD_0007dbdb_caseD_7e3b0:
    pppuVar13 = (undefined ***)piVar14;
    if (__ptr[7] == 1) {
      uVar10 = piVar14[0xf];
      iVar8 = piVar14[0xd];
      uVar7 = piVar14[0xe];
      do {
        if (uVar10 == uVar7) goto LAB_0007dd85;
        uVar9 = __ptr[1];
        uVar18 = __ptr[6];
        uVar7 = uVar7 + 1;
        piVar14[0xe] = uVar7;
        if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))
        goto LAB_0007dcff;
        uVar9 = uVar9 + 8;
        __ptr[1] = uVar9;
      } while (uVar9 < 0x20);
      __ptr[6] = 0;
      __ptr[1] = 0;
    }
    else {
      uVar10 = __ptr[1];
      uVar9 = (uint)*(byte *)(*piVar14 + -0x154a8 + __ptr[7]);
      if (uVar10 < uVar9) {
        uVar18 = piVar14[0xe];
        uVar7 = piVar14[0xf];
        if (uVar18 == uVar7) goto LAB_0007dd85;
        uVar11 = uVar18;
        while( true ) {
          uVar11 = uVar11 + 1;
          if (uVar11 == (uVar18 - uVar10) + uVar9) break;
          if (uVar11 == uVar7) {
            piVar14[0xe] = uVar7;
            __ptr[1] = (uVar11 - uVar18) + uVar10;
            goto LAB_0007dd85;
          }
        }
        piVar14[0xe] = uVar11;
      }
      __ptr[1] = 0;
    }
    *__ptr = 1;
    uVar7 = 1;
    goto LAB_0007dbcf;
  case 0x7e3b0:
    goto switchD_0007dbdb_caseD_7e3b0;
  }
LAB_0007e4e9:
  iVar5 = *(int *)((int)piVar15 + 0x44);
  iVar8 = 6;
  pppuVar13 = (undefined ***)piVar15;
  goto LAB_0007df05;
switchD_0007dbdb_caseD_7dc1f:
  piVar15 = (int *)pppuVar13;
  do {
    *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x3c);
    *(undefined4 *)((int)piVar15 + -0x14) = 0x7dc3a;
    iVar8 = FUN_0007d044();
    piVar14 = (int *)((int)piVar15 + -4);
    pppuVar13 = (undefined ***)((int)piVar15 + -4);
    if (iVar8 != 1) {
      *(undefined4 *)((int)piVar15 + -8) = 0x7dfbc;
      FUN_0007d137();
      pppuVar13 = (undefined ***)((int)piVar15 + -4);
LAB_0007dfbc:
      if (iVar8 == 0) goto LAB_0007dd81;
      goto LAB_0007dd04;
    }
    uVar7 = __ptr[0x1a];
    if (uVar7 == 1) {
      puVar1 = __ptr + 0x1f;
      uVar7 = *puVar1;
      *puVar1 = *puVar1 + __ptr[2];
      __ptr[0x20] = __ptr[0x20] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);
      __ptr[0x1a] = 2;
LAB_0007dc68:
      uVar7 = __ptr[0x1d];
      uVar10 = __ptr[0x1e];
      pppuVar13 = (undefined ***)((int)piVar15 + -4);
    }
    else {
      if (uVar7 == 0) {
        uVar7 = __ptr[2];
        uVar10 = __ptr[3];
        __ptr[0x1d] = uVar7;
        __ptr[0x1e] = uVar10;
        if (__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7) {
          __ptr[0x1a] = 1;
          goto LAB_0007dc6e;
        }
        goto LAB_0007dcff;
      }
      if (uVar7 != 2) goto LAB_0007dc68;
      puVar1 = __ptr + 0x21;
      uVar7 = *puVar1;
      *puVar1 = *puVar1 + __ptr[2];
      __ptr[0x22] = __ptr[0x22] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);
      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)(*(int *)((int)piVar15 + -4) + 0xcf8);
      *(undefined4 *)((int)piVar15 + -0x18) = 0x7df5c;
      uVar7 = FUN_000a62f1();
      __ptr[0x23] = ~uVar7;
      uVar7 = __ptr[0x1d] - 1;
      uVar10 = (__ptr[0x1e] - 1) + (uint)(__ptr[0x1d] != 0);
      __ptr[0x1d] = uVar7;
      __ptr[0x1e] = uVar10;
      __ptr[0x1a] = 1;
      pppuVar13 = (undefined ***)((int)piVar15 + -8);
    }
LAB_0007dc6e:
    piVar15 = (int *)pppuVar13;
  } while (uVar10 != 0 || uVar7 != 0);
  *__ptr = 7;
switchD_0007dbdb_caseD_7dc7d:
  uVar7 = __ptr[0x1b];
  iVar8 = *(int *)((int)pppuVar13 + 0x38) + 1;
  uVar10 = __ptr[4];
LAB_0007dc95:
  if ((~uVar10 + iVar8 + uVar7 & 3) == 0) {
    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dcae;
    uVar6 = FUN_0007d137();
    *(undefined4 *)((int)pppuVar13 + -4) = uVar6;
    *(undefined4 *)((int)pppuVar13 + -8) = 0x14;
    *(uint **)((int)pppuVar13 + -0xc) = __ptr + 0x1f;
    *(uint **)((int)pppuVar13 + -0x10) = __ptr + 0x15;
    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7dcc2;
    iVar8 = memcmp(*(void **)((int)pppuVar13 + -0x10),*(void **)((int)pppuVar13 + -0xc),
                   *(size_t *)((int)pppuVar13 + -8));
    piVar15 = (int *)pppuVar13;
    if (iVar8 != 0) goto LAB_0007ddc4;
    *__ptr = 8;
switchD_0007dbdb_caseD_7dcd4:
    uVar10 = *(uint *)((int)pppuVar13 + 0x3c);
    iVar8 = *(int *)((int)pppuVar13 + 0x34);
    uVar7 = *(uint *)((int)pppuVar13 + 0x38);
    while (uVar10 != uVar7) {
      uVar9 = __ptr[1];
      uVar18 = __ptr[6];
      uVar7 = uVar7 + 1;
      *(uint *)((int)pppuVar13 + 0x38) = uVar7;
      piVar14 = (int *)pppuVar13;
      if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f))) {
LAB_0007dcff:
        iVar8 = 7;
        pppuVar13 = (undefined ***)piVar14;
LAB_0007dd04:
        *(undefined1 *)(__ptr + 9) = 0;
        iVar5 = *(int *)((int)pppuVar13 + 0x44);
        goto joined_r0x0007dd0e;
      }
      uVar9 = uVar9 + 8;
      __ptr[1] = uVar9;
      if (0x1f < uVar9) {
        __ptr[6] = 0;
        __ptr[1] = 0;
        __ptr[0x25] = 0xc;
        *__ptr = 9;
switchD_0007dbdb_caseD_7dd72:
        piVar14[-1] = 0x7dd7d;
        cVar3 = FUN_0007d93a();
        pppuVar13 = (undefined ***)piVar14;
        if (cVar3 == '\0') {
LAB_0007dd81:
          uVar7 = *(uint *)((int)pppuVar13 + 0x38);
          break;
        }
        piVar15 = piVar14;
        if (*(short *)((int)__ptr + 0xa2) == 0x5a59) {
          piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);
          piVar14[-5] = 0x7de00;
          uVar7 = FUN_000a62f1();
          piVar12 = piVar14 + -1;
          pppuVar13 = (undefined ***)(piVar14 + -1);
          piVar15 = piVar14 + -1;
          if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;
          iVar8 = piVar14[0x10];
          if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||
              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {
            *(undefined1 *)(__ptr + 9) = 0;
            if (iVar8 != 0) {
              iVar8 = 7;
              pppuVar13 = (undefined ***)(piVar14 + -1);
              goto LAB_0007de61;
            }
            goto LAB_0007dd1d;
          }
          *(undefined1 *)(__ptr + 9) = 0;
          if (iVar8 != 0) {
            iVar8 = 1;
            pppuVar13 = (undefined ***)(piVar14 + -1);
            goto LAB_0007de61;
          }
          goto LAB_0007de8b;
        }
LAB_0007ddc4:
        pppuVar13 = (undefined ***)piVar15;
        *(undefined1 *)(__ptr + 9) = 0;
        if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;
        iVar8 = 7;
        goto LAB_0007de61;
      }
    }
  }
  else {
    if (*(int *)((int)pppuVar13 + 0x3c) + 1 != iVar8) goto LAB_0007deec;
    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dee3;
    FUN_0007d137();
    uVar7 = *(uint *)((int)pppuVar13 + 0x38);
  }
LAB_0007dd85:
  iVar8 = *(int *)((int)pppuVar13 + 0x44);
  if ((*(uint *)((int)pppuVar13 + 4) == uVar7) && (*(int *)((int)pppuVar13 + 0x20) == iVar8)) {
    if ((char)__ptr[9] == '\0') {
      *(undefined1 *)(__ptr + 9) = 1;
      if (iVar8 == 0) goto LAB_0007de94;
      iVar8 = 0;
      goto LAB_0007de61;
    }
    if (iVar8 != 0) {
      iVar8 = 8;
      goto LAB_0007de61;
    }
    goto LAB_0007dd1d;
  }
  *(undefined1 *)(__ptr + 9) = 0;
  if (iVar8 != 0) {
    iVar8 = 0;
    goto LAB_0007de61;
  }
  iVar8 = 0;
  goto LAB_0007de94;
LAB_0007deec:
  *(int *)((int)pppuVar13 + 0x38) = iVar8;
  iVar8 = iVar8 + 1;
  piVar15 = (int *)pppuVar13;
  if (*(char *)(*(int *)((int)pppuVar13 + 0x34) + -2 + iVar8) != '\0') goto LAB_0007defc;
  goto LAB_0007dc95;
LAB_0007defc:
  iVar5 = *(int *)((int)piVar15 + 0x44);
  iVar8 = 7;
  pppuVar13 = (undefined ***)piVar15;
LAB_0007df05:
  *(undefined1 *)(__ptr + 9) = 0;
joined_r0x0007dd0e:
  if (iVar5 != 0) {
LAB_0007de61:
    *(undefined4 *)((int)pppuVar13 + -4) = 0x7de70;
    FUN_000804d0();
    puVar1 = (uint *)((int)pppuVar13 + 0x10);
    uVar7 = *puVar1;
    *puVar1 = *puVar1 + *(uint *)((int)pppuVar13 + 0x44);
    *(int *)((int)pppuVar13 + 0x14) =
         *(int *)((int)pppuVar13 + 0x14) + (uint)CARRY4(uVar7,*(uint *)((int)pppuVar13 + 0x44));
    *(undefined4 *)((int)pppuVar13 + 0x44) = 0;
    piVar12 = (int *)pppuVar13;
    if (iVar8 == 1) {
LAB_0007de8b:
      uVar7 = *(uint *)((int)piVar12 + 0x38);
      iVar8 = 1;
      pppuVar13 = (undefined ***)piVar12;
      goto LAB_0007de94;
    }
    if (iVar8 == 0) {
      uVar7 = *(uint *)((int)pppuVar13 + 0x38);
      iVar8 = 0;
      goto LAB_0007de94;
    }
  }
  if (iVar8 != 2) {
LAB_0007dd1d:
    ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x6009;
    ((int *)pppuVar13)[-5] = 0x7dd30;
    FUN_000191bd();
    ((int *)pppuVar13)[4] = -1;
    ((int *)pppuVar13)[5] = -1;
LAB_0007dafd:
    uVar7 = __ptr[0x126];
    *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar7 + 0x18);
    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db14;
    free(*(void **)((int)pppuVar13 + -0x10));
    *(uint *)((int)pppuVar13 + -0x10) = uVar7;
    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db1c;
    free(*(void **)((int)pppuVar13 + -0x10));
    *(uint **)((int)pppuVar13 + -0x10) = __ptr;
    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db24;
    free(*(void **)((int)pppuVar13 + -0x10));
LAB_0007db27:
    *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)((int)pppuVar13 + 0xc);
    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db37;
    free(*(void **)((int)pppuVar13 + -0x10));
    if (*(int *)((int)pppuVar13 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)) {
      return *(undefined8 *)((int)pppuVar13 + 0x10);
    }
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dc1f;
    FUN_00017e10();
  }
  uVar7 = *(uint *)((int)pppuVar13 + 0x38);
  iVar8 = 2;
LAB_0007de94:
  *(uint *)((int)pppuVar13 + 4) = uVar7;
  goto LAB_0007daa8;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0x5c
CALL 0x00018a3c
ADD ESI,0x5307b
MOV dword ptr [ESP],ESI
MOV dword ptr [ESP + 0x18],EAX
MOV EAX,GS:[0x14]
MOV dword ptr [ESP + 0x4c],EAX
XOR EAX,EAX
MOV ECX,dword ptr [ESI + 0xcf8]
TEST ECX,ECX
JNZ 0x0007d9cd
CALL 0x000a62ce
LEA EDI,[ESP + 0x34]
MOV dword ptr [ESP + 0x8],EDI
MOV ECX,0x6
XOR EAX,EAX
STOSD.REP ES:EDI
MOV EAX,0x4000
CALL 0x00019b1c
MOV dword ptr [ESP + 0xc],EAX
MOV dword ptr [ESP + 0x34],EAX
ADD EAX,0x2000
MOV dword ptr [ESP + 0x40],EAX
MOV dword ptr [ESP + 0x48],0x2000
MOV EAX,dword ptr [ESP + 0x18]
TEST EAX,EAX
JNZ 0x0007db5b
MOV EAX,dword ptr [ESP + 0xc]
MOV dword ptr [EAX],0x587a37fd
MOV word ptr [EAX + 0x4],0x5a
MOV dword ptr [ESP + 0x3c],0x6
SUB ESP,0xc
PUSH 0x49c
MOV ESI,dword ptr [ESP + 0x10]
MOV EBX,ESI
CALL 0x000168f0
MOV EBP,EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0007da89
MOV dword ptr [EAX + 0x20],0x2
SUB ESP,0xc
PUSH 0x6f28
CALL 0x000168f0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0007dbf1
MOV dword ptr [EAX + 0x3c],0x2
MOV dword ptr [EAX + 0x34],0x4000000
MOV dword ptr [EAX + 0x18],0x0
MOV dword ptr [EAX + 0x38],0x0
MOV dword ptr [EBP + 0x498],EAX
MOV EAX,EBP
CALL 0x0007d0ea
MOV EAX,dword ptr [ESP + 0x38]
MOV dword ptr [ESP + 0x4],EAX
MOV dword ptr [ESP + 0x10],0x0
MOV dword ptr [ESP + 0x14],0x0
MOV ESI,0x1
MOV EBX,ESI
MOV EAX,dword ptr [ESP + 0x4]
CMP dword ptr [ESP + 0x3c],EAX
JNZ 0x0007db83
MOV EAX,dword ptr [ESP + 0x18]
MOV EAX,dword ptr [EAX + 0x8]
MOV ECX,0x2000
MOV EDX,dword ptr [ESP + 0xc]
CALL 0x0001ac64
TEST EAX,EAX
JNS 0x0007db69
SUB ESP,0xc
MOV EAX,dword ptr [ESP + 0xc]
LEA EAX,[EAX + 0xffffb07c]
PUSH EAX
CALL 0x000191bd
ADD ESP,0x10
MOV dword ptr [ESP + 0x10],0xffffffff
MOV dword ptr [ESP + 0x14],0xffffffff
TEST EBP,EBP
JZ 0x0007db27
MOV ESI,dword ptr [EBP + 0x498]
SUB ESP,0xc
PUSH dword ptr [ESI + 0x18]
MOV EDI,dword ptr [ESP + 0x10]
MOV EBX,EDI
CALL 0x000175a0
MOV dword ptr [ESP],ESI
CALL 0x000175a0
MOV dword ptr [ESP],EBP
CALL 0x000175a0
ADD ESP,0x10
SUB ESP,0xc
PUSH dword ptr [ESP + 0x18]
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x000175a0
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x10]
MOV EDX,dword ptr [ESP + 0x14]
MOV EDI,dword ptr [ESP + 0x4c]
XOR EDI,dword ptr GS:[0x14]
JNZ 0x0007dc1a
ADD ESP,0x5c
POP EBX
POP ESI
POP EDI
POP EBP
RET
CMP byte ptr [EAX],0x0
JZ 0x0007da25
JMP 0x0007da0d
JZ 0x0007dc04
MOV dword ptr [ESP + 0x3c],EAX
MOV dword ptr [ESP + 0x38],0x0
MOV dword ptr [ESP + 0x4],0x0
DEC EBX
JNZ 0x0007dbb1
MOV EDX,dword ptr [ESP + 0x3c]
XOR EAX,EAX
MOV EDI,dword ptr [ESP + 0xc]
MOV ESI,dword ptr [ESP + 0x4]
CMP byte ptr [EDI + ESI*0x1],0x0
JZ 0x0007dbdd
TEST AL,AL
JZ 0x0007dba2
MOV dword ptr [ESP + 0x38],ESI
MOV EAX,EBP
CALL 0x0007d0ea
MOV EAX,dword ptr [ESP + 0x38]
MOV dword ptr [ESP + 0x4],EAX
MOV EAX,dword ptr [ESP + 0x44]
MOV dword ptr [ESP + 0x20],EAX
MOV EAX,dword ptr [ESP + 0x4]
MOV dword ptr [EBP + 0x10],EAX
MOV EAX,dword ptr [EBP]
LEA EDX,[EBP + 0x54]
MOV dword ptr [ESP + 0x2c],EDX
CMP EAX,0x9
JA 0x0007dbca
MOV ESI,dword ptr [ESP]
MOV EDI,dword ptr [ESI + EAX*0x4 + 0xfffeab30]
ADD EDI,ESI
JMP EDI
INC dword ptr [ESP + 0x4]
MOV EDI,dword ptr [ESP + 0x4]
MOV AL,0x1
CMP EDI,EDX
JC 0x0007db8c
MOV dword ptr [ESP + 0x38],EDI
JMP 0x0007dbb1
SUB ESP,0xc
PUSH EBP
CALL 0x000175a0
ADD ESP,0x10
XOR EBP,EBP
JMP 0x0007da89
CMP EBX,0x1
JNZ 0x0007db6f
TEST EBP,EBP
JZ 0x0007db27
JMP 0x0007dafd
CALL 0x00017e10
LEA ESI,[ESP + 0x38]
LEA EBX,[EBP + 0x7c]
SUB ESP,0xc
PUSH dword ptr [ESP + 0x48]
MOV ECX,ESI
MOV EDX,dword ptr [ESP + 0x44]
MOV EAX,EBP
CALL 0x0007d044
ADD ESP,0xc
CMP EAX,0x1
JNZ 0x0007dfaf
MOV EAX,dword ptr [EBP + 0x68]
CMP EAX,0x1
JNZ 0x0007df1c
MOV EAX,dword ptr [EBP + 0x8]
MOV EDX,dword ptr [EBP + 0xc]
ADD dword ptr [EBP + 0x7c],EAX
ADC dword ptr [EBP + 0x80],EDX
MOV dword ptr [EBP + 0x68],0x2
MOV EAX,dword ptr [EBP + 0x74]
MOV EDX,dword ptr [EBP + 0x78]
MOV ECX,EDX
MOV EDX,ECX
OR EDX,EAX
JNZ 0x0007dc26
MOV dword ptr [EBP],0x7
MOV EDI,dword ptr [EBP + 0x6c]
MOV ESI,dword ptr [ESP + 0x34]
MOV EAX,dword ptr [ESP + 0x38]
INC EAX
MOV EDX,dword ptr [ESP + 0x3c]
LEA ECX,[EDX + 0x1]
MOV EDX,dword ptr [EBP + 0x10]
NOT EDX
LEA EBX,[EDX + EAX*0x1]
ADD EBX,EDI
AND EBX,0x3
JNZ 0x0007ded4
MOV EDX,dword ptr [ESP + 0x8]
MOV EAX,EBP
CALL 0x0007d137
PUSH EAX
PUSH 0x14
LEA EAX,[EBP + 0x7c]
PUSH EAX
LEA EAX,[EBP + 0x54]
PUSH EAX
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00016390
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0007ddc4
MOV dword ptr [EBP],0x8
MOV EBX,dword ptr [ESP + 0x3c]
MOV EDX,dword ptr [ESP + 0x34]
MOV EAX,dword ptr [ESP + 0x38]
MOV EDI,EBX
CMP EDI,EAX
JZ 0x0007dd85
MOV ECX,dword ptr [EBP + 0x4]
MOV ESI,dword ptr [EBP + 0x18]
SHR ESI,CL
INC EAX
MOV dword ptr [ESP + 0x38],EAX
MOV EBX,ESI
CMP byte ptr [EDX + EAX*0x1 + -0x1],BL
JZ 0x0007dd48
MOV EDI,0x7
MOV byte ptr [EBP + 0x24],0x0
MOV EBX,dword ptr [ESP + 0x44]
TEST EBX,EBX
JNZ 0x0007de61
CMP EDI,0x2
JZ 0x0007dead
SUB ESP,0xc
MOV EAX,dword ptr [ESP + 0xc]
LEA EAX,[EAX + 0xffff9ff7]
PUSH EAX
CALL 0x000191bd
ADD ESP,0x10
MOV dword ptr [ESP + 0x10],0xffffffff
MOV dword ptr [ESP + 0x14],0xffffffff
JMP 0x0007dafd
ADD ECX,0x8
MOV dword ptr [EBP + 0x4],ECX
CMP ECX,0x1f
JBE 0x0007dce2
MOV dword ptr [EBP + 0x18],0x0
MOV dword ptr [EBP + 0x4],0x0
MOV dword ptr [EBP + 0x94],0xc
MOV dword ptr [EBP],0x9
MOV EDX,dword ptr [ESP + 0x8]
MOV EAX,EBP
CALL 0x0007d93a
TEST AL,AL
JNZ 0x0007ddb9
MOV EAX,dword ptr [ESP + 0x38]
MOV EBX,dword ptr [ESP + 0x44]
CMP dword ptr [ESP + 0x4],EAX
JNZ 0x0007deb8
CMP dword ptr [ESP + 0x20],EBX
JNZ 0x0007deb8
CMP byte ptr [EBP + 0x24],0x0
JZ 0x0007dec8
TEST EBX,EBX
JZ 0x0007dd1d
MOV EDI,0x8
JMP 0x0007de61
CMP word ptr [EBP + 0xa2],0x5a59
JZ 0x0007ddde
MOV byte ptr [EBP + 0x24],0x0
MOV EBX,dword ptr [ESP + 0x44]
TEST EBX,EBX
JZ 0x0007dd1d
MOV EDI,0x7
JMP 0x0007de61
LEA EDX,[EBP + 0x9c]
SUB ESP,0xc
MOV EAX,dword ptr [ESP + 0xc]
PUSH dword ptr [EAX + 0xcf8]
MOV ECX,0x6
MOV EAX,0xffffffff
CALL 0x000a62f1
NOT EAX
ADD ESP,0xc
CMP EAX,dword ptr [EBP + 0x98]
JNZ 0x0007ddc4
MOV EBX,dword ptr [ESP + 0x44]
MOV EAX,dword ptr [EBP + 0x6c]
MOV EDX,dword ptr [EBP + 0x70]
SHRD EAX,EDX,0x2
SHR EDX,0x2
MOV ESI,EAX
MOV EAX,dword ptr [EBP + 0x9c]
XOR EAX,ESI
OR EDX,EAX
JZ 0x0007de3f
MOV byte ptr [EBP + 0x24],0x0
TEST EBX,EBX
JZ 0x0007dd1d
MOV EDI,0x7
JMP 0x0007de61
CMP byte ptr [EBP + 0xa0],0x0
JNZ 0x0007de2c
MOVZX EAX,byte ptr [EBP + 0xa1]
CMP EAX,dword ptr [EBP + 0x1c]
JNZ 0x0007de2c
MOV byte ptr [EBP + 0x24],0x0
TEST EBX,EBX
JZ 0x0007de8b
MOV EDI,0x1
MOV ECX,EBX
MOV EDX,dword ptr [ESP + 0x40]
MOV EAX,dword ptr [ESP + 0x18]
CALL 0x000804d0
MOV EAX,dword ptr [ESP + 0x44]
XOR EDX,EDX
ADD dword ptr [ESP + 0x10],EAX
ADC dword ptr [ESP + 0x14],EDX
MOV dword ptr [ESP + 0x44],0x0
CMP EDI,0x1
JNZ 0x0007de9d
MOV EAX,dword ptr [ESP + 0x38]
MOV EBX,0x1
MOV dword ptr [ESP + 0x4],EAX
JMP 0x0007daa8
TEST EDI,EDI
JNZ 0x0007dd14
MOV EAX,dword ptr [ESP + 0x38]
XOR EBX,EBX
JMP 0x0007de94
MOV EAX,dword ptr [ESP + 0x38]
MOV EBX,0x2
JMP 0x0007de94
MOV byte ptr [EBP + 0x24],0x0
TEST EBX,EBX
JZ 0x0007dec4
XOR EDI,EDI
JMP 0x0007de61
XOR EBX,EBX
JMP 0x0007de94
MOV byte ptr [EBP + 0x24],0x1
TEST EBX,EBX
JZ 0x0007de94
XOR EDI,EDI
JMP 0x0007de61
CMP ECX,EAX
JNZ 0x0007deec
MOV EDX,dword ptr [ESP + 0x8]
MOV EAX,EBP
CALL 0x0007d137
MOV EAX,dword ptr [ESP + 0x38]
JMP 0x0007dd85
MOV dword ptr [ESP + 0x38],EAX
INC EAX
CMP byte ptr [ESI + EAX*0x1 + -0x2],0x0
JZ 0x0007dc95
MOV EBX,dword ptr [ESP + 0x44]
MOV EDI,0x7
MOV byte ptr [EBP + 0x24],0x0
TEST EBX,EBX
JNZ 0x0007de61
CMP EDI,0x2
JNZ 0x0007dd1d
JMP 0x0007dead
TEST EAX,EAX
JZ 0x0007df85
CMP EAX,0x2
JNZ 0x0007dc68
MOV EAX,dword ptr [EBP + 0x8]
MOV EDX,dword ptr [EBP + 0xc]
ADD dword ptr [EBP + 0x84],EAX
ADC dword ptr [EBP + 0x88],EDX
MOV EAX,dword ptr [EBP + 0x8c]
NOT EAX
SUB ESP,0xc
MOV EDX,dword ptr [ESP + 0xc]
PUSH dword ptr [EDX + 0xcf8]
MOV ECX,0x14
MOV EDX,EBX
CALL 0x000a62f1
NOT EAX
MOV dword ptr [EBP + 0x8c],EAX
MOV EAX,dword ptr [EBP + 0x74]
MOV EDX,dword ptr [EBP + 0x78]
ADD EAX,-0x1
ADC EDX,-0x1
MOV dword ptr [EBP + 0x74],EAX
MOV dword ptr [EBP + 0x78],EDX
MOV dword ptr [EBP + 0x68],0x1
ADD ESP,0xc
JMP 0x0007dc6e
MOV EAX,dword ptr [EBP + 0x8]
MOV EDX,dword ptr [EBP + 0xc]
MOV dword ptr [EBP + 0x74],EAX
MOV dword ptr [EBP + 0x78],EDX
MOV ECX,dword ptr [EBP + 0x4c]
XOR ECX,EAX
MOV EDI,dword ptr [EBP + 0x50]
XOR EDI,EDX
OR EDI,ECX
JNZ 0x0007dcff
MOV dword ptr [EBP + 0x68],0x1
JMP 0x0007dc6e
MOV EDI,EAX
MOV EDX,dword ptr [ESP + 0x8]
MOV EAX,EBP
CALL 0x0007d137
TEST EDI,EDI
JNZ 0x0007dd04
JMP 0x0007dd81
MOV EDX,dword ptr [ESP + 0x8]
MOV EAX,EBP
CALL 0x0007d93a
TEST AL,AL
JZ 0x0007dd81
MOV dword ptr [EBP],0x1
CMP dword ptr [EBP + 0x98],0x587a37fd
JNZ 0x0007e4f7
CMP word ptr [EBP + 0x9c],0x5a
JNZ 0x0007e4f7
LEA EDX,[EBP + 0x9e]
SUB ESP,0xc
MOV EAX,dword ptr [ESP + 0xc]
PUSH dword ptr [EAX + 0xcf8]
MOV ECX,0x2
MOV EAX,0xffffffff
CALL 0x000a62f1
NOT EAX
ADD ESP,0xc
CMP EAX,dword ptr [EBP + 0xa0]
JNZ 0x0007defc
CMP byte ptr [EBP + 0x9e],0x0
JNZ 0x0007e4e9
MOVZX EAX,byte ptr [EBP + 0x9f]
MOV dword ptr [EBP + 0x1c],EAX
CMP EAX,0xf
JA 0x0007e4e9
CMP EAX,0x1
JA 0x0007e4c6
MOV EDX,dword ptr [ESP + 0x38]
MOV EAX,dword ptr [ESP + 0x3c]
CMP EDX,EAX
JZ 0x0007dd85
MOV EAX,dword ptr [ESP + 0x34]
MOVZX EAX,byte ptr [EAX + EDX*0x1]
TEST AL,AL
JZ 0x0007e5fb
LEA EAX,[EAX*0x4 + 0x4]
MOV dword ptr [EBP + 0x38],EAX
MOV dword ptr [EBP + 0x94],EAX
MOV dword ptr [EBP + 0x90],0x0
MOV dword ptr [EBP],0x2
MOV EDX,dword ptr [ESP + 0x8]
MOV EAX,EBP
CALL 0x0007d93a
TEST AL,AL
JZ 0x0007dd81
MOV EAX,dword ptr [EBP + 0x94]
LEA ECX,[EAX + -0x4]
MOV dword ptr [EBP + 0x94],ECX
LEA EBX,[EBP + 0x98]
SUB ESP,0xc
MOV EAX,dword ptr [ESP + 0xc]
PUSH dword ptr [EAX + 0xcf8]
MOV EDX,EBX
MOV EAX,0xffffffff
CALL 0x000a62f1
MOV EDX,dword ptr [EBP + 0x94]
NOT EAX
ADD ESP,0xc
CMP EAX,dword ptr [EBX + EDX*0x1]
JNZ 0x0007defc
MOV dword ptr [EBP + 0x90],0x2
MOV AL,byte ptr [EBP + 0x99]
TEST AL,0x3f
JNZ 0x0007e4e9
TEST AL,0x40
JNZ 0x0007e5b9
MOV dword ptr [EBP + 0x28],0xffffffff
MOV dword ptr [EBP + 0x2c],0xffffffff
TEST AL,AL
JS 0x0007e572
MOV dword ptr [EBP + 0x30],0xffffffff
MOV dword ptr [EBP + 0x34],0xffffffff
MOV EAX,dword ptr [EBP + 0x90]
MOV ECX,EDX
SUB ECX,EAX
CMP ECX,0x1
JBE 0x0007defc
LEA EBX,[EAX + 0x1]
MOV dword ptr [EBP + 0x90],EBX
CMP byte ptr [EBP + EAX*0x1 + 0x98],0x21
JNZ 0x0007e4e9
LEA ECX,[EAX + 0x2]
MOV dword ptr [EBP + 0x90],ECX
CMP byte ptr [EBP + EBX*0x1 + 0x98],0x1
JNZ 0x0007e4e9
CMP ECX,EDX
JZ 0x0007defc
ADD EAX,0x3
MOV dword ptr [EBP + 0x90],EAX
MOV CL,byte ptr [EBP + ECX*0x1 + 0x98]
CMP CL,0x27
JA 0x0007e4e9
MOV ESI,dword ptr [EBP + 0x498]
MOV EBX,ECX
AND EBX,0x1
ADD EBX,0x2
SHR CL,0x1
MOVZX ECX,CL
ADD ECX,0xb
SHL EBX,CL
MOV dword ptr [ESI + 0x30],EBX
CMP EBX,dword ptr [ESI + 0x34]
JA 0x0007e564
MOV dword ptr [ESI + 0x2c],EBX
CMP dword ptr [ESI + 0x3c],0x2
JZ 0x0007e505
MOV dword ptr [ESI + 0x68],0x0
MOV dword ptr [ESI + 0x40],0x0
MOV byte ptr [ESI + 0x50],0x1
MOV dword ptr [ESI + 0x6ee4],0x0
CMP EAX,EDX
JC 0x0007e4d4
MOV dword ptr [EBP + 0x90],0x0
MOV dword ptr [EBP + 0x3c],0x0
MOV dword ptr [EBP + 0x40],0x0
MOV dword ptr [EBP + 0x44],0x0
MOV dword ptr [EBP + 0x48],0x0
MOV dword ptr [EBP],0x3
MOV EAX,dword ptr [ESP + 0x38]
MOV dword ptr [EBP + 0x10],EAX
MOV EAX,dword ptr [ESP + 0x44]
MOV dword ptr [EBP + 0x14],EAX
MOV EAX,dword ptr [EBP + 0x498]
MOV EDX,dword ptr [ESP + 0x8]
CALL 0x0007d17c
MOV dword ptr [ESP + 0x1c],EAX
MOV EAX,dword ptr [ESP + 0x38]
SUB EAX,dword ptr [EBP + 0x10]
MOV ESI,EAX
XOR EDI,EDI
ADD ESI,dword ptr [EBP + 0x3c]
ADC EDI,dword ptr [EBP + 0x40]
MOV dword ptr [EBP + 0x3c],ESI
MOV dword ptr [EBP + 0x40],EDI
MOV EAX,dword ptr [ESP + 0x44]
MOV EDX,dword ptr [EBP + 0x14]
MOV ECX,EAX
MOV dword ptr [ESP + 0x24],EDX
SUB ECX,EDX
MOV dword ptr [ESP + 0x28],ECX
XOR EBX,EBX
ADD ECX,dword ptr [EBP + 0x44]
ADC EBX,dword ptr [EBP + 0x48]
MOV dword ptr [EBP + 0x44],ECX
MOV dword ptr [EBP + 0x48],EBX
CMP dword ptr [EBP + 0x28],ESI
MOV EDX,dword ptr [EBP + 0x2c]
SBB EDX,EDI
JC 0x0007e4ba
MOV ESI,dword ptr [EBP + 0x34]
CMP dword ptr [EBP + 0x30],ECX
SBB ESI,EBX
JC 0x0007e4ba
CMP dword ptr [EBP + 0x1c],0x1
JNZ 0x0007e2c1
MOV EDX,dword ptr [ESP + 0x24]
ADD EDX,dword ptr [ESP + 0x40]
MOV EAX,dword ptr [EBP + 0x18]
NOT EAX
SUB ESP,0xc
MOV EDI,dword ptr [ESP + 0xc]
PUSH dword ptr [EDI + 0xcf8]
MOV ECX,dword ptr [ESP + 0x38]
CALL 0x000a62f1
NOT EAX
MOV dword ptr [EBP + 0x18],EAX
ADD ESP,0xc
CMP dword ptr [ESP + 0x1c],0x1
JNZ 0x0007e48d
MOV EAX,dword ptr [EBP + 0x28]
MOV EDX,dword ptr [EBP + 0x2c]
MOV ECX,EDX
AND ECX,EAX
INC ECX
JNZ 0x0007e4a7
MOV EAX,dword ptr [EBP + 0x30]
MOV EDX,dword ptr [EBP + 0x34]
MOV ESI,dword ptr [EBP + 0x44]
MOV EDI,dword ptr [EBP + 0x48]
MOV ECX,EDX
AND ECX,EAX
INC ECX
JNZ 0x0007e496
MOV ECX,dword ptr [EBP + 0x3c]
MOV EBX,dword ptr [EBP + 0x40]
ADD ECX,dword ptr [EBP + 0x54]
ADC EBX,dword ptr [EBP + 0x58]
MOV EAX,dword ptr [EBP + 0x38]
XOR EDX,EDX
ADD EAX,ECX
ADC EDX,EBX
MOV ECX,dword ptr [EBP + 0x1c]
MOV EBX,dword ptr [ESP]
MOVZX ECX,byte ptr [EBX + ECX*0x1 + 0xfffeab58]
XOR EBX,EBX
ADD EAX,ECX
ADC EDX,EBX
MOV dword ptr [EBP + 0x54],EAX
MOV dword ptr [EBP + 0x58],EDX
ADD dword ptr [EBP + 0x5c],ESI
ADC dword ptr [EBP + 0x60],EDI
MOV EAX,dword ptr [EBP + 0x64]
NOT EAX
SUB ESP,0xc
MOV EBX,dword ptr [ESP + 0xc]
PUSH dword ptr [EBX + 0xcf8]
MOV ECX,0x14
MOV EDX,dword ptr [ESP + 0x3c]
CALL 0x000a62f1
NOT EAX
MOV dword ptr [EBP + 0x64],EAX
ADD dword ptr [EBP + 0x4c],0x1
ADC dword ptr [EBP + 0x50],0x0
MOV dword ptr [EBP],0x4
ADD ESP,0xc
MOV ECX,dword ptr [EBP + 0x3c]
MOV EBX,dword ptr [EBP + 0x40]
MOV EAX,ECX
AND EAX,0x3
JZ 0x0007e3a9
MOV ESI,dword ptr [ESP + 0x38]
MOV EAX,dword ptr [ESP + 0x3c]
CMP ESI,EAX
JZ 0x0007dd85
MOV EDX,dword ptr [ESP + 0x34]
LEA EDI,[ESI + 0x1]
MOV dword ptr [ESP + 0x38],EDI
CMP byte ptr [EDX + ESI*0x1],0x0
JNZ 0x0007defc
ADD ECX,0x1
ADC EBX,0x0
MOV dword ptr [EBP + 0x3c],ECX
MOV dword ptr [EBP + 0x40],EBX
MOV ESI,ECX
AND ESI,0x3
JNZ 0x0007e465
MOV dword ptr [EBP],0x5
MOV EAX,dword ptr [EBP + 0x1c]
CMP EAX,0x1
JNZ 0x0007e402
MOV EBX,dword ptr [ESP + 0x3c]
MOV EDX,dword ptr [ESP + 0x34]
MOV EAX,dword ptr [ESP + 0x38]
MOV EDI,EBX
CMP EDI,EAX
JZ 0x0007dd85
MOV ECX,dword ptr [EBP + 0x4]
MOV ESI,dword ptr [EBP + 0x18]
SHR ESI,CL
INC EAX
MOV dword ptr [ESP + 0x38],EAX
MOV EBX,ESI
CMP byte ptr [EDX + EAX*0x1 + -0x1],BL
JNZ 0x0007dcff
ADD ECX,0x8
MOV dword ptr [EBP + 0x4],ECX
CMP ECX,0x1f
JBE 0x0007e3c6
MOV dword ptr [EBP + 0x18],0x0
MOV dword ptr [EBP + 0x4],0x0
JMP 0x0007e41b
MOV EDI,dword ptr [EBP + 0x4]
MOV EDX,dword ptr [ESP]
MOVZX EDX,byte ptr [EDX + EAX*0x1 + 0xfffeab58]
CMP EDI,EDX
JC 0x0007e42c
MOV dword ptr [EBP + 0x4],0x0
MOV dword ptr [EBP],0x1
MOV EAX,0x1
JMP 0x0007dbcf
MOV ECX,dword ptr [ESP + 0x38]
MOV EAX,dword ptr [ESP + 0x3c]
CMP ECX,EAX
JZ 0x0007dd85
MOV ESI,ECX
SUB ESI,EDI
ADD ESI,EDX
MOV EDX,ECX
INC EDX
MOV EBX,EDX
SUB EBX,ECX
ADD EBX,EDI
CMP EDX,ESI
JZ 0x0007e45f
CMP EDX,EAX
JNZ 0x0007e444
MOV dword ptr [ESP + 0x38],EAX
MOV dword ptr [EBP + 0x4],EBX
JMP 0x0007dd85
MOV dword ptr [ESP + 0x38],EDX
JMP 0x0007e414
MOV ESI,dword ptr [ESP + 0x38]
CMP ESI,EAX
JZ 0x0007dd85
LEA EDI,[ESI + 0x1]
MOV dword ptr [ESP + 0x38],EDI
ADD ECX,0x1
ADC EBX,0x0
CMP byte ptr [EDX + ESI*0x1],0x0
JZ 0x0007e398
JMP 0x0007defc
MOV EDI,dword ptr [ESP + 0x1c]
JMP 0x0007dfbc
XOR EAX,ESI
XOR EDX,EDI
OR EDX,EAX
JNZ 0x0007defc
JMP 0x0007e2f4
XOR EAX,dword ptr [EBP + 0x3c]
XOR EDX,dword ptr [EBP + 0x40]
OR EDX,EAX
JZ 0x0007e2dd
JMP 0x0007defc
MOV EBX,EAX
MOV EDI,0x7
JMP 0x0007df05
MOV EBX,dword ptr [ESP + 0x44]
MOV EDI,0x2
JMP 0x0007df05
INC EAX
MOV dword ptr [EBP + 0x90],EAX
CMP byte ptr [EBP + EAX*0x1 + 0x97],0x0
JZ 0x0007e1e6
MOV EBX,dword ptr [ESP + 0x44]
MOV EDI,0x6
JMP 0x0007df05
MOV EBX,dword ptr [ESP + 0x44]
MOV EDI,0x5
JMP 0x0007df05
CMP EBX,dword ptr [ESI + 0x38]
JBE 0x0007e1ca
SUB ESP,0xc
PUSH dword ptr [ESI + 0x18]
MOV EDI,dword ptr [ESP + 0x10]
MOV EBX,EDI
CALL 0x000175a0
POP EDX
PUSH dword ptr [ESI + 0x30]
CALL 0x000168f0
MOV dword ptr [ESI + 0x18],EAX
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0007e553
MOV dword ptr [ESI + 0x38],0x0
MOV byte ptr [EBP + 0x24],0x0
MOV EBX,dword ptr [ESP + 0x44]
TEST EBX,EBX
JZ 0x0007dd1d
MOV EDI,0x3
JMP 0x0007de61
MOV EDX,dword ptr [EBP + 0x94]
MOV EAX,dword ptr [EBP + 0x90]
JMP 0x0007e1ca
MOV EBX,dword ptr [ESP + 0x44]
MOV EDI,0x4
JMP 0x0007df05
LEA ECX,[EBP + 0x90]
SUB ESP,0xc
PUSH EDX
MOV EDX,EBX
MOV EAX,EBP
CALL 0x0007d044
ADD ESP,0xc
DEC EAX
JNZ 0x0007defc
MOV EAX,dword ptr [EBP + 0x8]
MOV EDX,dword ptr [EBP + 0xc]
MOV dword ptr [EBP + 0x30],EAX
MOV dword ptr [EBP + 0x34],EDX
MOV EDX,dword ptr [EBP + 0x94]
MOV EAX,dword ptr [EBP + 0x90]
MOV ECX,EDX
SUB ECX,EAX
CMP ECX,0x1
JA 0x0007e14a
JMP 0x0007defc
LEA ECX,[EBP + 0x90]
SUB ESP,0xc
PUSH EDX
MOV EDX,EBX
MOV EAX,EBP
CALL 0x0007d044
ADD ESP,0xc
DEC EAX
JNZ 0x0007defc
MOV EAX,dword ptr [EBP + 0x8]
MOV EDX,dword ptr [EBP + 0xc]
MOV dword ptr [EBP + 0x28],EAX
MOV dword ptr [EBP + 0x2c],EDX
MOV AL,byte ptr [EBP + 0x99]
MOV EDX,dword ptr [EBP + 0x94]
TEST AL,AL
JNS 0x0007e129
JMP 0x0007e572
LEA EAX,[EDX + 0x1]
MOV dword ptr [ESP + 0x38],EAX
MOV dword ptr [EBP + 0x10],EDX
MOV dword ptr [EBP],0x6
MOV EAX,0x6
JMP 0x0007dbcf
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.si replaced with injection: get_pc_thunk_si */\n/* WARNING: Type propagation algorithm not settling */\n\nundefined8 FUN_0007d999(void)\n\n{\n  uint *puVar1;\n  bool bVar2;\n  char cVar3;\n  uint *__ptr;\n  void *pvVar4;\n  int iVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  int *piVar12;\n  undefined ***pppuVar13;\n  int *piVar14;\n  int *piVar15;\n  int *piVar16;\n  undefined4 **ppuVar17;\n  uint uVar18;\n  int in_GS_OFFSET;\n  byte bVar19;\n  undefined **local_6c;\n  undefined4 local_68;\n  undefined4 **local_64;\n  undefined4 *local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  char *local_54;\n  undefined4 *local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 *local_2c;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  bVar19 = 0;\n  pppuVar13 = &local_6c;\n  local_6c = &__DT_PLTGOT;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  if (DAT_000d1718 == 0) {\n    FUN_000a62ce();\n  }\n  local_64 = &local_38;\n  ppuVar17 = local_64;\n  for (iVar8 = 6; iVar8 != 0; iVar8 = iVar8 + -1) {\n    *ppuVar17 = (undefined4 *)0x0;\n    ppuVar17 = ppuVar17 + (uint)bVar19 * -2 + 1;\n  }\n  local_60 = (undefined4 *)FUN_00019b1c();\n  local_2c = local_60 + 0x800;\n  local_24 = 0x2000;\n  if ((local_54 == (char *)0x0) || (*local_54 != '\0')) {\n    *local_60 = 0x587a37fd;\n    *(undefined2 *)(local_60 + 1) = 0x5a;\n    local_30 = 6;\n  }\n  local_38 = local_60;\n  __ptr = (uint *)malloc(0x49c);\n  if (__ptr != (uint *)0x0) {\n    __ptr[8] = 2;\n    pvVar4 = malloc(0x6f28);\n    if (pvVar4 == (void *)0x0) {\n      free(__ptr);\n      __ptr = (uint *)0x0;\n    }\n    else {\n      *(undefined4 *)((int)pvVar4 + 0x3c) = 2;\n      *(undefined4 *)((int)pvVar4 + 0x34) = 0x4000000;\n      *(undefined4 *)((int)pvVar4 + 0x18) = 0;\n      *(undefined4 *)((int)pvVar4 + 0x38) = 0;\n      __ptr[0x126] = (uint)pvVar4;\n      FUN_0007d0ea();\n    }\n  }\n  local_68 = local_34;\n  local_5c = 0;\n  local_58 = 0;\n  iVar8 = 1;\nLAB_0007daa8:\n  if (((int *)pppuVar13)[0xf] == ((int *)pppuVar13)[1]) {\n    ((int *)pppuVar13)[-1] = 0x7dacb;\n    iVar5 = FUN_0001ac64();\n    if (iVar5 < 0) {\n      ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x4f84;\n      ((int *)pppuVar13)[-5] = 0x7dae6;\n      FUN_000191bd();\n      ((int *)pppuVar13)[4] = -1;\n      ((int *)pppuVar13)[5] = -1;\n      if (__ptr != (uint *)0x0) goto LAB_0007dafd;\n      goto LAB_0007db27;\n    }\n    if ((iVar5 == 0) && (iVar8 == 1)) {\n      if (__ptr == (uint *)0x0) goto LAB_0007db27;\n      goto LAB_0007dafd;\n    }\n    ((int *)pppuVar13)[0xf] = iVar5;\n    ((int *)pppuVar13)[0xe] = 0;\n    ((int *)pppuVar13)[1] = 0;\n  }\n  if (iVar8 == 1) {\n    bVar2 = false;\n    do {\n      if (*(char *)(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1]) != '\0') {\n        if (bVar2) {\n          ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n        }\n        ((int *)pppuVar13)[-1] = 0x7dba9;\n        FUN_0007d0ea();\n        ((int *)pppuVar13)[1] = ((int *)pppuVar13)[0xe];\n        goto LAB_0007dbb1;\n      }\n      ((int *)pppuVar13)[1] = ((int *)pppuVar13)[1] + 1;\n      bVar2 = true;\n    } while ((uint)((int *)pppuVar13)[1] < (uint)((int *)pppuVar13)[0xf]);\n    ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n  }\nLAB_0007dbb1:\n  ((int *)pppuVar13)[8] = ((int *)pppuVar13)[0x11];\n  __ptr[4] = ((int *)pppuVar13)[1];\n  uVar7 = *__ptr;\n  ((int *)pppuVar13)[0xb] = (int)(__ptr + 0x15);\n  do {\n  } while (9 < uVar7);\nLAB_0007dbcf:\n  piVar14 = (int *)pppuVar13;\n  switch(*(int *)((int)*pppuVar13 + -0x154d0 + uVar7 * 4) + (int)*pppuVar13) {\n  case 0x7dc1f:\n    goto switchD_0007dbdb_caseD_7dc1f;\n  case 0x7dc7d:\n    goto switchD_0007dbdb_caseD_7dc7d;\n  case 0x7dcd4:\n    goto switchD_0007dbdb_caseD_7dcd4;\n  case 0x7dd72:\n    goto switchD_0007dbdb_caseD_7dd72;\n  case 0x7dfc9:\n    ((int *)pppuVar13)[-1] = 0x7dfd4;\n    cVar3 = FUN_0007d93a();\n    if (cVar3 == '\0') goto LAB_0007dd81;\n    *__ptr = 1;\n    if ((__ptr[0x26] != 0x587a37fd) || ((short)__ptr[0x27] != 0x5a)) {\n      iVar5 = ((int *)pppuVar13)[0x11];\n      iVar8 = 5;\n      goto LAB_0007df05;\n    }\n    ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n    ((int *)pppuVar13)[-5] = 0x7e023;\n    uVar7 = FUN_000a62f1();\n    piVar14 = (int *)pppuVar13 + -1;\n    piVar15 = (int *)pppuVar13 + -1;\n    if (~uVar7 != __ptr[0x28]) goto LAB_0007defc;\n    piVar15 = (int *)pppuVar13 + -1;\n    if (*(char *)((int)__ptr + 0x9e) == '\0') {\n      uVar7 = (uint)*(byte *)((int)__ptr + 0x9f);\n      __ptr[7] = uVar7;\n      piVar15 = (int *)pppuVar13 + -1;\n      if (uVar7 < 0x10) {\n        if (uVar7 < 2) goto switchD_0007dbdb_caseD_7e05d;\n        iVar5 = ((int *)pppuVar13)[0x10];\n        iVar8 = 2;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n        goto LAB_0007df05;\n      }\n    }\n    break;\n  case 0x7e05d:\nswitchD_0007dbdb_caseD_7e05d:\n    uVar10 = *(uint *)((int)piVar14 + 0x38);\n    uVar7 = *(uint *)((int)piVar14 + 0x3c);\n    pppuVar13 = (undefined ***)piVar14;\n    if (uVar10 == uVar7) goto LAB_0007dd85;\n    if (*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) != 0) {\n      uVar7 = (uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) * 4 + 4;\n      __ptr[0xe] = uVar7;\n      __ptr[0x25] = uVar7;\n      __ptr[0x24] = 0;\n      *__ptr = 2;\n      goto switchD_0007dbdb_caseD_7e09e;\n    }\n    *(uint *)((int)piVar14 + 0x38) = uVar10 + 1;\n    __ptr[4] = uVar10;\n    *__ptr = 6;\n    uVar7 = 6;\n    goto LAB_0007dbcf;\n  case 0x7e09e:\nswitchD_0007dbdb_caseD_7e09e:\n    piVar14[-1] = 0x7e0a9;\n    cVar3 = FUN_0007d93a();\n    pppuVar13 = (undefined ***)piVar14;\n    if (cVar3 == '\0') goto LAB_0007dd81;\n    __ptr[0x25] = __ptr[0x25] - 4;\n    piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n    piVar14[-5] = 0x7e0df;\n    uVar10 = FUN_000a62f1();\n    uVar7 = __ptr[0x25];\n    pppuVar13 = (undefined ***)(piVar14 + -1);\n    piVar16 = piVar14 + -1;\n    piVar15 = piVar14 + -1;\n    if (~uVar10 != *(uint *)((int)__ptr + uVar7 + 0x98)) goto LAB_0007defc;\n    __ptr[0x24] = 2;\n    bVar19 = *(byte *)((int)__ptr + 0x99);\n    piVar15 = piVar14 + -1;\n    if ((bVar19 & 0x3f) == 0) {\n      if ((bVar19 & 0x40) == 0) {\n        __ptr[10] = 0xffffffff;\n        __ptr[0xb] = 0xffffffff;\n        if (-1 < (char)bVar19) goto LAB_0007e129;\nLAB_0007e572:\n        *(uint *)((int)piVar16 + -0x10) = uVar7;\n        *(undefined4 *)((int)piVar16 + -0x14) = 0x7e585;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)((int)piVar16 + -4);\n        piVar15 = (int *)((int)piVar16 + -4);\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[0xc] = __ptr[2];\n        __ptr[0xd] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      else {\n        piVar14[-5] = uVar7;\n        piVar14[-6] = 0x7e5cc;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)(piVar14 + -2);\n        piVar16 = piVar14 + -2;\n        piVar15 = piVar14 + -2;\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[10] = __ptr[2];\n        __ptr[0xb] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        if (*(char *)((int)__ptr + 0x99) < '\0') goto LAB_0007e572;\nLAB_0007e129:\n        __ptr[0xc] = 0xffffffff;\n        __ptr[0xd] = 0xffffffff;\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      piVar15 = (int *)pppuVar13;\n      if (uVar9 < 2) goto LAB_0007defc;\n      __ptr[0x24] = uVar10 + 1;\n      if (*(char *)((int)__ptr + uVar10 + 0x98) == '!') {\n        __ptr[0x24] = uVar10 + 2;\n        if (*(char *)((int)__ptr + uVar10 + 0x99) == '\x01') {\n          if (uVar10 + 2 == uVar7) goto LAB_0007defc;\n          uVar9 = uVar10 + 3;\n          __ptr[0x24] = uVar9;\n          bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);\n          if (bVar19 < 0x28) {\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }\n        }\n      }\n    }\n    break;\n  case 0x7e21b:\nswitchD_0007dbdb_caseD_7e21b:\n    __ptr[4] = ((int *)pppuVar13)[0xe];\n    __ptr[5] = ((int *)pppuVar13)[0x11];\n    ((int *)pppuVar13)[-1] = 0x7e238;\n    iVar8 = FUN_0007d17c();\n    ((int *)pppuVar13)[7] = iVar8;\n    uVar9 = (((int *)pppuVar13)[0xe] - __ptr[4]) + __ptr[0xf];\n    uVar18 = __ptr[0x10] + (uint)CARRY4(((int *)pppuVar13)[0xe] - __ptr[4],__ptr[0xf]);\n    __ptr[0xf] = uVar9;\n    __ptr[0x10] = uVar18;\n    iVar5 = ((int *)pppuVar13)[0x11];\n    uVar7 = __ptr[5];\n    ((int *)pppuVar13)[9] = uVar7;\n    uVar7 = iVar5 - uVar7;\n    ((int *)pppuVar13)[10] = uVar7;\n    uVar10 = uVar7 + __ptr[0x11];\n    uVar7 = __ptr[0x12] + (uint)CARRY4(uVar7,__ptr[0x11]);\n    __ptr[0x11] = uVar10;\n    __ptr[0x12] = uVar7;\n    if ((uVar18 <= __ptr[0xb] && (uint)(__ptr[10] < uVar9) <= __ptr[0xb] - uVar18) &&\n       (uVar7 <= __ptr[0xd] && (uint)(__ptr[0xc] < uVar10) <= __ptr[0xd] - uVar7)) {\n      if (__ptr[7] == 1) {\n        ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n        ((int *)pppuVar13)[-5] = 0x7e2b9;\n        uVar7 = FUN_000a62f1();\n        __ptr[6] = ~uVar7;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n      }\n      if (((int *)pppuVar13)[7] == 1) {\n        piVar15 = (int *)pppuVar13;\n        if (((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||\n           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])) {\n          uVar7 = __ptr[0x11];\n          if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }\n        }\n        goto LAB_0007defc;\n      }\n      iVar8 = ((int *)pppuVar13)[7];\n      goto LAB_0007dfbc;\n    }\n    iVar8 = 7;\n    goto LAB_0007df05;\n  case 0x7e360:\nswitchD_0007dbdb_caseD_7e360:\n    uVar10 = __ptr[0xf];\n    uVar9 = __ptr[0x10];\n    if ((uVar10 & 3) != 0) {\n      uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n      uVar7 = *(uint *)((int)pppuVar13 + 0x3c);\n      if (uVar18 == uVar7) goto LAB_0007dd85;\n      iVar8 = *(int *)((int)pppuVar13 + 0x34);\n      *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n      piVar15 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      uVar9 = uVar9 + (0xfffffffe < uVar10);\n      while( true ) {\n        uVar10 = uVar10 + 1;\n        __ptr[0xf] = uVar10;\n        __ptr[0x10] = uVar9;\n        if ((uVar10 & 3) == 0) break;\n        uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n        uVar9 = uVar9 + (0xfffffffe < uVar10);\n        if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      }\n    }\n    *__ptr = 5;\n    piVar14 = (int *)pppuVar13;\nswitchD_0007dbdb_caseD_7e3b0:\n    pppuVar13 = (undefined ***)piVar14;\n    if (__ptr[7] == 1) {\n      uVar10 = piVar14[0xf];\n      iVar8 = piVar14[0xd];\n      uVar7 = piVar14[0xe];\n      do {\n        if (uVar10 == uVar7) goto LAB_0007dd85;\n        uVar9 = __ptr[1];\n        uVar18 = __ptr[6];\n        uVar7 = uVar7 + 1;\n        piVar14[0xe] = uVar7;\n        if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))\n        goto LAB_0007dcff;\n        uVar9 = uVar9 + 8;\n        __ptr[1] = uVar9;\n      } while (uVar9 < 0x20);\n      __ptr[6] = 0;\n      __ptr[1] = 0;\n    }\n    else {\n      uVar10 = __ptr[1];\n      uVar9 = (uint)*(byte *)(*piVar14 + -0x154a8 + __ptr[7]);\n      if (uVar10 < uVar9) {\n        uVar18 = piVar14[0xe];\n        uVar7 = piVar14[0xf];\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        uVar11 = uVar18;\n        while( true ) {\n          uVar11 = uVar11 + 1;\n          if (uVar11 == (uVar18 - uVar10) + uVar9) break;\n          if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }\n        }\n        piVar14[0xe] = uVar11;\n      }\n      __ptr[1] = 0;\n    }\n    *__ptr = 1;\n    uVar7 = 1;\n    goto LAB_0007dbcf;\n  case 0x7e3b0:\n    goto switchD_0007dbdb_caseD_7e3b0;\n  }\nLAB_0007e4e9:\n  iVar5 = *(int *)((int)piVar15 + 0x44);\n  iVar8 = 6;\n  pppuVar13 = (undefined ***)piVar15;\n  goto LAB_0007df05;\nswitchD_0007dbdb_caseD_7dc1f:\n  piVar15 = (int *)pppuVar13;\n  do {\n    *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x3c);\n    *(undefined4 *)((int)piVar15 + -0x14) = 0x7dc3a;\n    iVar8 = FUN_0007d044();\n    piVar14 = (int *)((int)piVar15 + -4);\n    pppuVar13 = (undefined ***)((int)piVar15 + -4);\n    if (iVar8 != 1) {\n      *(undefined4 *)((int)piVar15 + -8) = 0x7dfbc;\n      FUN_0007d137();\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\nLAB_0007dfbc:\n      if (iVar8 == 0) goto LAB_0007dd81;\n      goto LAB_0007dd04;\n    }\n    uVar7 = __ptr[0x1a];\n    if (uVar7 == 1) {\n      puVar1 = __ptr + 0x1f;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x20] = __ptr[0x20] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      __ptr[0x1a] = 2;\nLAB_0007dc68:\n      uVar7 = __ptr[0x1d];\n      uVar10 = __ptr[0x1e];\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\n    }\n    else {\n      if (uVar7 == 0) {\n        uVar7 = __ptr[2];\n        uVar10 = __ptr[3];\n        __ptr[0x1d] = uVar7;\n        __ptr[0x1e] = uVar10;\n        if (__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7) {\n          __ptr[0x1a] = 1;\n          goto LAB_0007dc6e;\n        }\n        goto LAB_0007dcff;\n      }\n      if (uVar7 != 2) goto LAB_0007dc68;\n      puVar1 = __ptr + 0x21;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x22] = __ptr[0x22] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)(*(int *)((int)piVar15 + -4) + 0xcf8);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7df5c;\n      uVar7 = FUN_000a62f1();\n      __ptr[0x23] = ~uVar7;\n      uVar7 = __ptr[0x1d] - 1;\n      uVar10 = (__ptr[0x1e] - 1) + (uint)(__ptr[0x1d] != 0);\n      __ptr[0x1d] = uVar7;\n      __ptr[0x1e] = uVar10;\n      __ptr[0x1a] = 1;\n      pppuVar13 = (undefined ***)((int)piVar15 + -8);\n    }\nLAB_0007dc6e:\n    piVar15 = (int *)pppuVar13;\n  } while (uVar10 != 0 || uVar7 != 0);\n  *__ptr = 7;\nswitchD_0007dbdb_caseD_7dc7d:\n  uVar7 = __ptr[0x1b];\n  iVar8 = *(int *)((int)pppuVar13 + 0x38) + 1;\n  uVar10 = __ptr[4];\nLAB_0007dc95:\n  if ((~uVar10 + iVar8 + uVar7 & 3) == 0) {\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dcae;\n    uVar6 = FUN_0007d137();\n    *(undefined4 *)((int)pppuVar13 + -4) = uVar6;\n    *(undefined4 *)((int)pppuVar13 + -8) = 0x14;\n    *(uint **)((int)pppuVar13 + -0xc) = __ptr + 0x1f;\n    *(uint **)((int)pppuVar13 + -0x10) = __ptr + 0x15;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7dcc2;\n    iVar8 = memcmp(*(void **)((int)pppuVar13 + -0x10),*(void **)((int)pppuVar13 + -0xc),\n                   *(size_t *)((int)pppuVar13 + -8));\n    piVar15 = (int *)pppuVar13;\n    if (iVar8 != 0) goto LAB_0007ddc4;\n    *__ptr = 8;\nswitchD_0007dbdb_caseD_7dcd4:\n    uVar10 = *(uint *)((int)pppuVar13 + 0x3c);\n    iVar8 = *(int *)((int)pppuVar13 + 0x34);\n    uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n    while (uVar10 != uVar7) {\n      uVar9 = __ptr[1];\n      uVar18 = __ptr[6];\n      uVar7 = uVar7 + 1;\n      *(uint *)((int)pppuVar13 + 0x38) = uVar7;\n      piVar14 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f))) {\nLAB_0007dcff:\n        iVar8 = 7;\n        pppuVar13 = (undefined ***)piVar14;\nLAB_0007dd04:\n        *(undefined1 *)(__ptr + 9) = 0;\n        iVar5 = *(int *)((int)pppuVar13 + 0x44);\n        goto joined_r0x0007dd0e;\n      }\n      uVar9 = uVar9 + 8;\n      __ptr[1] = uVar9;\n      if (0x1f < uVar9) {\n        __ptr[6] = 0;\n        __ptr[1] = 0;\n        __ptr[0x25] = 0xc;\n        *__ptr = 9;\nswitchD_0007dbdb_caseD_7dd72:\n        piVar14[-1] = 0x7dd7d;\n        cVar3 = FUN_0007d93a();\n        pppuVar13 = (undefined ***)piVar14;\n        if (cVar3 == '\0') {\nLAB_0007dd81:\n          uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n          break;\n        }\n        piVar15 = piVar14;\n        if (*(short *)((int)__ptr + 0xa2) == 0x5a59) {\n          piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n          piVar14[-5] = 0x7de00;\n          uVar7 = FUN_000a62f1();\n          piVar12 = piVar14 + -1;\n          pppuVar13 = (undefined ***)(piVar14 + -1);\n          piVar15 = piVar14 + -1;\n          if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;\n          iVar8 = piVar14[0x10];\n          if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }\n          *(undefined1 *)(__ptr + 9) = 0;\n          if (iVar8 != 0) {\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }\n          goto LAB_0007de8b;\n        }\nLAB_0007ddc4:\n        pppuVar13 = (undefined ***)piVar15;\n        *(undefined1 *)(__ptr + 9) = 0;\n        if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n        iVar8 = 7;\n        goto LAB_0007de61;\n      }\n    }\n  }\n  else {\n    if (*(int *)((int)pppuVar13 + 0x3c) + 1 != iVar8) goto LAB_0007deec;\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dee3;\n    FUN_0007d137();\n    uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n  }\nLAB_0007dd85:\n  iVar8 = *(int *)((int)pppuVar13 + 0x44);\n  if ((*(uint *)((int)pppuVar13 + 4) == uVar7) && (*(int *)((int)pppuVar13 + 0x20) == iVar8)) {\n    if ((char)__ptr[9] == '\0') {\n      *(undefined1 *)(__ptr + 9) = 1;\n      if (iVar8 == 0) goto LAB_0007de94;\n      iVar8 = 0;\n      goto LAB_0007de61;\n    }\n    if (iVar8 != 0) {\n      iVar8 = 8;\n      goto LAB_0007de61;\n    }\n    goto LAB_0007dd1d;\n  }\n  *(undefined1 *)(__ptr + 9) = 0;\n  if (iVar8 != 0) {\n    iVar8 = 0;\n    goto LAB_0007de61;\n  }\n  iVar8 = 0;\n  goto LAB_0007de94;\nLAB_0007deec:\n  *(int *)((int)pppuVar13 + 0x38) = iVar8;\n  iVar8 = iVar8 + 1;\n  piVar15 = (int *)pppuVar13;\n  if (*(char *)(*(int *)((int)pppuVar13 + 0x34) + -2 + iVar8) != '\0') goto LAB_0007defc;\n  goto LAB_0007dc95;\nLAB_0007defc:\n  iVar5 = *(int *)((int)piVar15 + 0x44);\n  iVar8 = 7;\n  pppuVar13 = (undefined ***)piVar15;\nLAB_0007df05:\n  *(undefined1 *)(__ptr + 9) = 0;\njoined_r0x0007dd0e:\n  if (iVar5 != 0) {\nLAB_0007de61:\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7de70;\n    FUN_000804d0();\n    puVar1 = (uint *)((int)pppuVar13 + 0x10);\n    uVar7 = *puVar1;\n    *puVar1 = *puVar1 + *(uint *)((int)pppuVar13 + 0x44);\n    *(int *)((int)pppuVar13 + 0x14) =\n         *(int *)((int)pppuVar13 + 0x14) + (uint)CARRY4(uVar7,*(uint *)((int)pppuVar13 + 0x44));\n    *(undefined4 *)((int)pppuVar13 + 0x44) = 0;\n    piVar12 = (int *)pppuVar13;\n    if (iVar8 == 1) {\nLAB_0007de8b:\n      uVar7 = *(uint *)((int)piVar12 + 0x38);\n      iVar8 = 1;\n      pppuVar13 = (undefined ***)piVar12;\n      goto LAB_0007de94;\n    }\n    if (iVar8 == 0) {\n      uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n      iVar8 = 0;\n      goto LAB_0007de94;\n    }\n  }\n  if (iVar8 != 2) {\nLAB_0007dd1d:\n    ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x6009;\n    ((int *)pppuVar13)[-5] = 0x7dd30;\n    FUN_000191bd();\n    ((int *)pppuVar13)[4] = -1;\n    ((int *)pppuVar13)[5] = -1;\nLAB_0007dafd:\n    uVar7 = __ptr[0x126];\n    *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar7 + 0x18);\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db14;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    *(uint *)((int)pppuVar13 + -0x10) = uVar7;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db1c;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    *(uint **)((int)pppuVar13 + -0x10) = __ptr;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db24;\n    free(*(void **)((int)pppuVar13 + -0x10));\nLAB_0007db27:\n    *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)((int)pppuVar13 + 0xc);\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db37;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    if (*(int *)((int)pppuVar13 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)) {\n      return *(undefined8 *)((int)pppuVar13 + 0x10);\n    }\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dc1f;\n    FUN_00017e10();\n  }\n  uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n  iVar8 = 2;\nLAB_0007de94:\n  *(uint *)((int)pppuVar13 + 4) = uVar7;\n  goto LAB_0007daa8;\n}\n\n" comment comment (function_definition "undefined8 FUN_0007d999(void)\n\n{\n  uint *puVar1;\n  bool bVar2;\n  char cVar3;\n  uint *__ptr;\n  void *pvVar4;\n  int iVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  int *piVar12;\n  undefined ***pppuVar13;\n  int *piVar14;\n  int *piVar15;\n  int *piVar16;\n  undefined4 **ppuVar17;\n  uint uVar18;\n  int in_GS_OFFSET;\n  byte bVar19;\n  undefined **local_6c;\n  undefined4 local_68;\n  undefined4 **local_64;\n  undefined4 *local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  char *local_54;\n  undefined4 *local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 *local_2c;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  bVar19 = 0;\n  pppuVar13 = &local_6c;\n  local_6c = &__DT_PLTGOT;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  if (DAT_000d1718 == 0) {\n    FUN_000a62ce();\n  }\n  local_64 = &local_38;\n  ppuVar17 = local_64;\n  for (iVar8 = 6; iVar8 != 0; iVar8 = iVar8 + -1) {\n    *ppuVar17 = (undefined4 *)0x0;\n    ppuVar17 = ppuVar17 + (uint)bVar19 * -2 + 1;\n  }\n  local_60 = (undefined4 *)FUN_00019b1c();\n  local_2c = local_60 + 0x800;\n  local_24 = 0x2000;\n  if ((local_54 == (char *)0x0) || (*local_54 != '\0')) {\n    *local_60 = 0x587a37fd;\n    *(undefined2 *)(local_60 + 1) = 0x5a;\n    local_30 = 6;\n  }\n  local_38 = local_60;\n  __ptr = (uint *)malloc(0x49c);\n  if (__ptr != (uint *)0x0) {\n    __ptr[8] = 2;\n    pvVar4 = malloc(0x6f28);\n    if (pvVar4 == (void *)0x0) {\n      free(__ptr);\n      __ptr = (uint *)0x0;\n    }\n    else {\n      *(undefined4 *)((int)pvVar4 + 0x3c) = 2;\n      *(undefined4 *)((int)pvVar4 + 0x34) = 0x4000000;\n      *(undefined4 *)((int)pvVar4 + 0x18) = 0;\n      *(undefined4 *)((int)pvVar4 + 0x38) = 0;\n      __ptr[0x126] = (uint)pvVar4;\n      FUN_0007d0ea();\n    }\n  }\n  local_68 = local_34;\n  local_5c = 0;\n  local_58 = 0;\n  iVar8 = 1;\nLAB_0007daa8:\n  if (((int *)pppuVar13)[0xf] == ((int *)pppuVar13)[1]) {\n    ((int *)pppuVar13)[-1] = 0x7dacb;\n    iVar5 = FUN_0001ac64();\n    if (iVar5 < 0) {\n      ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x4f84;\n      ((int *)pppuVar13)[-5] = 0x7dae6;\n      FUN_000191bd();\n      ((int *)pppuVar13)[4] = -1;\n      ((int *)pppuVar13)[5] = -1;\n      if (__ptr != (uint *)0x0) goto LAB_0007dafd;\n      goto LAB_0007db27;\n    }\n    if ((iVar5 == 0) && (iVar8 == 1)) {\n      if (__ptr == (uint *)0x0) goto LAB_0007db27;\n      goto LAB_0007dafd;\n    }\n    ((int *)pppuVar13)[0xf] = iVar5;\n    ((int *)pppuVar13)[0xe] = 0;\n    ((int *)pppuVar13)[1] = 0;\n  }\n  if (iVar8 == 1) {\n    bVar2 = false;\n    do {\n      if (*(char *)(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1]) != '\0') {\n        if (bVar2) {\n          ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n        }\n        ((int *)pppuVar13)[-1] = 0x7dba9;\n        FUN_0007d0ea();\n        ((int *)pppuVar13)[1] = ((int *)pppuVar13)[0xe];\n        goto LAB_0007dbb1;\n      }\n      ((int *)pppuVar13)[1] = ((int *)pppuVar13)[1] + 1;\n      bVar2 = true;\n    } while ((uint)((int *)pppuVar13)[1] < (uint)((int *)pppuVar13)[0xf]);\n    ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n  }\nLAB_0007dbb1:\n  ((int *)pppuVar13)[8] = ((int *)pppuVar13)[0x11];\n  __ptr[4] = ((int *)pppuVar13)[1];\n  uVar7 = *__ptr;\n  ((int *)pppuVar13)[0xb] = (int)(__ptr + 0x15);\n  do {\n  } while (9 < uVar7);\nLAB_0007dbcf:\n  piVar14 = (int *)pppuVar13;\n  switch(*(int *)((int)*pppuVar13 + -0x154d0 + uVar7 * 4) + (int)*pppuVar13) {\n  case 0x7dc1f:\n    goto switchD_0007dbdb_caseD_7dc1f;\n  case 0x7dc7d:\n    goto switchD_0007dbdb_caseD_7dc7d;\n  case 0x7dcd4:\n    goto switchD_0007dbdb_caseD_7dcd4;\n  case 0x7dd72:\n    goto switchD_0007dbdb_caseD_7dd72;\n  case 0x7dfc9:\n    ((int *)pppuVar13)[-1] = 0x7dfd4;\n    cVar3 = FUN_0007d93a();\n    if (cVar3 == '\0') goto LAB_0007dd81;\n    *__ptr = 1;\n    if ((__ptr[0x26] != 0x587a37fd) || ((short)__ptr[0x27] != 0x5a)) {\n      iVar5 = ((int *)pppuVar13)[0x11];\n      iVar8 = 5;\n      goto LAB_0007df05;\n    }\n    ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n    ((int *)pppuVar13)[-5] = 0x7e023;\n    uVar7 = FUN_000a62f1();\n    piVar14 = (int *)pppuVar13 + -1;\n    piVar15 = (int *)pppuVar13 + -1;\n    if (~uVar7 != __ptr[0x28]) goto LAB_0007defc;\n    piVar15 = (int *)pppuVar13 + -1;\n    if (*(char *)((int)__ptr + 0x9e) == '\0') {\n      uVar7 = (uint)*(byte *)((int)__ptr + 0x9f);\n      __ptr[7] = uVar7;\n      piVar15 = (int *)pppuVar13 + -1;\n      if (uVar7 < 0x10) {\n        if (uVar7 < 2) goto switchD_0007dbdb_caseD_7e05d;\n        iVar5 = ((int *)pppuVar13)[0x10];\n        iVar8 = 2;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n        goto LAB_0007df05;\n      }\n    }\n    break;\n  case 0x7e05d:\nswitchD_0007dbdb_caseD_7e05d:\n    uVar10 = *(uint *)((int)piVar14 + 0x38);\n    uVar7 = *(uint *)((int)piVar14 + 0x3c);\n    pppuVar13 = (undefined ***)piVar14;\n    if (uVar10 == uVar7) goto LAB_0007dd85;\n    if (*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) != 0) {\n      uVar7 = (uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) * 4 + 4;\n      __ptr[0xe] = uVar7;\n      __ptr[0x25] = uVar7;\n      __ptr[0x24] = 0;\n      *__ptr = 2;\n      goto switchD_0007dbdb_caseD_7e09e;\n    }\n    *(uint *)((int)piVar14 + 0x38) = uVar10 + 1;\n    __ptr[4] = uVar10;\n    *__ptr = 6;\n    uVar7 = 6;\n    goto LAB_0007dbcf;\n  case 0x7e09e:\nswitchD_0007dbdb_caseD_7e09e:\n    piVar14[-1] = 0x7e0a9;\n    cVar3 = FUN_0007d93a();\n    pppuVar13 = (undefined ***)piVar14;\n    if (cVar3 == '\0') goto LAB_0007dd81;\n    __ptr[0x25] = __ptr[0x25] - 4;\n    piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n    piVar14[-5] = 0x7e0df;\n    uVar10 = FUN_000a62f1();\n    uVar7 = __ptr[0x25];\n    pppuVar13 = (undefined ***)(piVar14 + -1);\n    piVar16 = piVar14 + -1;\n    piVar15 = piVar14 + -1;\n    if (~uVar10 != *(uint *)((int)__ptr + uVar7 + 0x98)) goto LAB_0007defc;\n    __ptr[0x24] = 2;\n    bVar19 = *(byte *)((int)__ptr + 0x99);\n    piVar15 = piVar14 + -1;\n    if ((bVar19 & 0x3f) == 0) {\n      if ((bVar19 & 0x40) == 0) {\n        __ptr[10] = 0xffffffff;\n        __ptr[0xb] = 0xffffffff;\n        if (-1 < (char)bVar19) goto LAB_0007e129;\nLAB_0007e572:\n        *(uint *)((int)piVar16 + -0x10) = uVar7;\n        *(undefined4 *)((int)piVar16 + -0x14) = 0x7e585;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)((int)piVar16 + -4);\n        piVar15 = (int *)((int)piVar16 + -4);\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[0xc] = __ptr[2];\n        __ptr[0xd] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      else {\n        piVar14[-5] = uVar7;\n        piVar14[-6] = 0x7e5cc;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)(piVar14 + -2);\n        piVar16 = piVar14 + -2;\n        piVar15 = piVar14 + -2;\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[10] = __ptr[2];\n        __ptr[0xb] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        if (*(char *)((int)__ptr + 0x99) < '\0') goto LAB_0007e572;\nLAB_0007e129:\n        __ptr[0xc] = 0xffffffff;\n        __ptr[0xd] = 0xffffffff;\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      piVar15 = (int *)pppuVar13;\n      if (uVar9 < 2) goto LAB_0007defc;\n      __ptr[0x24] = uVar10 + 1;\n      if (*(char *)((int)__ptr + uVar10 + 0x98) == '!') {\n        __ptr[0x24] = uVar10 + 2;\n        if (*(char *)((int)__ptr + uVar10 + 0x99) == '\x01') {\n          if (uVar10 + 2 == uVar7) goto LAB_0007defc;\n          uVar9 = uVar10 + 3;\n          __ptr[0x24] = uVar9;\n          bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);\n          if (bVar19 < 0x28) {\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }\n        }\n      }\n    }\n    break;\n  case 0x7e21b:\nswitchD_0007dbdb_caseD_7e21b:\n    __ptr[4] = ((int *)pppuVar13)[0xe];\n    __ptr[5] = ((int *)pppuVar13)[0x11];\n    ((int *)pppuVar13)[-1] = 0x7e238;\n    iVar8 = FUN_0007d17c();\n    ((int *)pppuVar13)[7] = iVar8;\n    uVar9 = (((int *)pppuVar13)[0xe] - __ptr[4]) + __ptr[0xf];\n    uVar18 = __ptr[0x10] + (uint)CARRY4(((int *)pppuVar13)[0xe] - __ptr[4],__ptr[0xf]);\n    __ptr[0xf] = uVar9;\n    __ptr[0x10] = uVar18;\n    iVar5 = ((int *)pppuVar13)[0x11];\n    uVar7 = __ptr[5];\n    ((int *)pppuVar13)[9] = uVar7;\n    uVar7 = iVar5 - uVar7;\n    ((int *)pppuVar13)[10] = uVar7;\n    uVar10 = uVar7 + __ptr[0x11];\n    uVar7 = __ptr[0x12] + (uint)CARRY4(uVar7,__ptr[0x11]);\n    __ptr[0x11] = uVar10;\n    __ptr[0x12] = uVar7;\n    if ((uVar18 <= __ptr[0xb] && (uint)(__ptr[10] < uVar9) <= __ptr[0xb] - uVar18) &&\n       (uVar7 <= __ptr[0xd] && (uint)(__ptr[0xc] < uVar10) <= __ptr[0xd] - uVar7)) {\n      if (__ptr[7] == 1) {\n        ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n        ((int *)pppuVar13)[-5] = 0x7e2b9;\n        uVar7 = FUN_000a62f1();\n        __ptr[6] = ~uVar7;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n      }\n      if (((int *)pppuVar13)[7] == 1) {\n        piVar15 = (int *)pppuVar13;\n        if (((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||\n           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])) {\n          uVar7 = __ptr[0x11];\n          if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }\n        }\n        goto LAB_0007defc;\n      }\n      iVar8 = ((int *)pppuVar13)[7];\n      goto LAB_0007dfbc;\n    }\n    iVar8 = 7;\n    goto LAB_0007df05;\n  case 0x7e360:\nswitchD_0007dbdb_caseD_7e360:\n    uVar10 = __ptr[0xf];\n    uVar9 = __ptr[0x10];\n    if ((uVar10 & 3) != 0) {\n      uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n      uVar7 = *(uint *)((int)pppuVar13 + 0x3c);\n      if (uVar18 == uVar7) goto LAB_0007dd85;\n      iVar8 = *(int *)((int)pppuVar13 + 0x34);\n      *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n      piVar15 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      uVar9 = uVar9 + (0xfffffffe < uVar10);\n      while( true ) {\n        uVar10 = uVar10 + 1;\n        __ptr[0xf] = uVar10;\n        __ptr[0x10] = uVar9;\n        if ((uVar10 & 3) == 0) break;\n        uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n        uVar9 = uVar9 + (0xfffffffe < uVar10);\n        if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      }\n    }\n    *__ptr = 5;\n    piVar14 = (int *)pppuVar13;\nswitchD_0007dbdb_caseD_7e3b0:\n    pppuVar13 = (undefined ***)piVar14;\n    if (__ptr[7] == 1) {\n      uVar10 = piVar14[0xf];\n      iVar8 = piVar14[0xd];\n      uVar7 = piVar14[0xe];\n      do {\n        if (uVar10 == uVar7) goto LAB_0007dd85;\n        uVar9 = __ptr[1];\n        uVar18 = __ptr[6];\n        uVar7 = uVar7 + 1;\n        piVar14[0xe] = uVar7;\n        if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))\n        goto LAB_0007dcff;\n        uVar9 = uVar9 + 8;\n        __ptr[1] = uVar9;\n      } while (uVar9 < 0x20);\n      __ptr[6] = 0;\n      __ptr[1] = 0;\n    }\n    else {\n      uVar10 = __ptr[1];\n      uVar9 = (uint)*(byte *)(*piVar14 + -0x154a8 + __ptr[7]);\n      if (uVar10 < uVar9) {\n        uVar18 = piVar14[0xe];\n        uVar7 = piVar14[0xf];\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        uVar11 = uVar18;\n        while( true ) {\n          uVar11 = uVar11 + 1;\n          if (uVar11 == (uVar18 - uVar10) + uVar9) break;\n          if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }\n        }\n        piVar14[0xe] = uVar11;\n      }\n      __ptr[1] = 0;\n    }\n    *__ptr = 1;\n    uVar7 = 1;\n    goto LAB_0007dbcf;\n  case 0x7e3b0:\n    goto switchD_0007dbdb_caseD_7e3b0;\n  }\nLAB_0007e4e9:\n  iVar5 = *(int *)((int)piVar15 + 0x44);\n  iVar8 = 6;\n  pppuVar13 = (undefined ***)piVar15;\n  goto LAB_0007df05;\nswitchD_0007dbdb_caseD_7dc1f:\n  piVar15 = (int *)pppuVar13;\n  do {\n    *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x3c);\n    *(undefined4 *)((int)piVar15 + -0x14) = 0x7dc3a;\n    iVar8 = FUN_0007d044();\n    piVar14 = (int *)((int)piVar15 + -4);\n    pppuVar13 = (undefined ***)((int)piVar15 + -4);\n    if (iVar8 != 1) {\n      *(undefined4 *)((int)piVar15 + -8) = 0x7dfbc;\n      FUN_0007d137();\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\nLAB_0007dfbc:\n      if (iVar8 == 0) goto LAB_0007dd81;\n      goto LAB_0007dd04;\n    }\n    uVar7 = __ptr[0x1a];\n    if (uVar7 == 1) {\n      puVar1 = __ptr + 0x1f;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x20] = __ptr[0x20] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      __ptr[0x1a] = 2;\nLAB_0007dc68:\n      uVar7 = __ptr[0x1d];\n      uVar10 = __ptr[0x1e];\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\n    }\n    else {\n      if (uVar7 == 0) {\n        uVar7 = __ptr[2];\n        uVar10 = __ptr[3];\n        __ptr[0x1d] = uVar7;\n        __ptr[0x1e] = uVar10;\n        if (__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7) {\n          __ptr[0x1a] = 1;\n          goto LAB_0007dc6e;\n        }\n        goto LAB_0007dcff;\n      }\n      if (uVar7 != 2) goto LAB_0007dc68;\n      puVar1 = __ptr + 0x21;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x22] = __ptr[0x22] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)(*(int *)((int)piVar15 + -4) + 0xcf8);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7df5c;\n      uVar7 = FUN_000a62f1();\n      __ptr[0x23] = ~uVar7;\n      uVar7 = __ptr[0x1d] - 1;\n      uVar10 = (__ptr[0x1e] - 1) + (uint)(__ptr[0x1d] != 0);\n      __ptr[0x1d] = uVar7;\n      __ptr[0x1e] = uVar10;\n      __ptr[0x1a] = 1;\n      pppuVar13 = (undefined ***)((int)piVar15 + -8);\n    }\nLAB_0007dc6e:\n    piVar15 = (int *)pppuVar13;\n  } while (uVar10 != 0 || uVar7 != 0);\n  *__ptr = 7;\nswitchD_0007dbdb_caseD_7dc7d:\n  uVar7 = __ptr[0x1b];\n  iVar8 = *(int *)((int)pppuVar13 + 0x38) + 1;\n  uVar10 = __ptr[4];\nLAB_0007dc95:\n  if ((~uVar10 + iVar8 + uVar7 & 3) == 0) {\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dcae;\n    uVar6 = FUN_0007d137();\n    *(undefined4 *)((int)pppuVar13 + -4) = uVar6;\n    *(undefined4 *)((int)pppuVar13 + -8) = 0x14;\n    *(uint **)((int)pppuVar13 + -0xc) = __ptr + 0x1f;\n    *(uint **)((int)pppuVar13 + -0x10) = __ptr + 0x15;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7dcc2;\n    iVar8 = memcmp(*(void **)((int)pppuVar13 + -0x10),*(void **)((int)pppuVar13 + -0xc),\n                   *(size_t *)((int)pppuVar13 + -8));\n    piVar15 = (int *)pppuVar13;\n    if (iVar8 != 0) goto LAB_0007ddc4;\n    *__ptr = 8;\nswitchD_0007dbdb_caseD_7dcd4:\n    uVar10 = *(uint *)((int)pppuVar13 + 0x3c);\n    iVar8 = *(int *)((int)pppuVar13 + 0x34);\n    uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n    while (uVar10 != uVar7) {\n      uVar9 = __ptr[1];\n      uVar18 = __ptr[6];\n      uVar7 = uVar7 + 1;\n      *(uint *)((int)pppuVar13 + 0x38) = uVar7;\n      piVar14 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f))) {\nLAB_0007dcff:\n        iVar8 = 7;\n        pppuVar13 = (undefined ***)piVar14;\nLAB_0007dd04:\n        *(undefined1 *)(__ptr + 9) = 0;\n        iVar5 = *(int *)((int)pppuVar13 + 0x44);\n        goto joined_r0x0007dd0e;\n      }\n      uVar9 = uVar9 + 8;\n      __ptr[1] = uVar9;\n      if (0x1f < uVar9) {\n        __ptr[6] = 0;\n        __ptr[1] = 0;\n        __ptr[0x25] = 0xc;\n        *__ptr = 9;\nswitchD_0007dbdb_caseD_7dd72:\n        piVar14[-1] = 0x7dd7d;\n        cVar3 = FUN_0007d93a();\n        pppuVar13 = (undefined ***)piVar14;\n        if (cVar3 == '\0') {\nLAB_0007dd81:\n          uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n          break;\n        }\n        piVar15 = piVar14;\n        if (*(short *)((int)__ptr + 0xa2) == 0x5a59) {\n          piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n          piVar14[-5] = 0x7de00;\n          uVar7 = FUN_000a62f1();\n          piVar12 = piVar14 + -1;\n          pppuVar13 = (undefined ***)(piVar14 + -1);\n          piVar15 = piVar14 + -1;\n          if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;\n          iVar8 = piVar14[0x10];\n          if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }\n          *(undefined1 *)(__ptr + 9) = 0;\n          if (iVar8 != 0) {\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }\n          goto LAB_0007de8b;\n        }\nLAB_0007ddc4:\n        pppuVar13 = (undefined ***)piVar15;\n        *(undefined1 *)(__ptr + 9) = 0;\n        if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n        iVar8 = 7;\n        goto LAB_0007de61;\n      }\n    }\n  }\n  else {\n    if (*(int *)((int)pppuVar13 + 0x3c) + 1 != iVar8) goto LAB_0007deec;\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dee3;\n    FUN_0007d137();\n    uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n  }\nLAB_0007dd85:\n  iVar8 = *(int *)((int)pppuVar13 + 0x44);\n  if ((*(uint *)((int)pppuVar13 + 4) == uVar7) && (*(int *)((int)pppuVar13 + 0x20) == iVar8)) {\n    if ((char)__ptr[9] == '\0') {\n      *(undefined1 *)(__ptr + 9) = 1;\n      if (iVar8 == 0) goto LAB_0007de94;\n      iVar8 = 0;\n      goto LAB_0007de61;\n    }\n    if (iVar8 != 0) {\n      iVar8 = 8;\n      goto LAB_0007de61;\n    }\n    goto LAB_0007dd1d;\n  }\n  *(undefined1 *)(__ptr + 9) = 0;\n  if (iVar8 != 0) {\n    iVar8 = 0;\n    goto LAB_0007de61;\n  }\n  iVar8 = 0;\n  goto LAB_0007de94;\nLAB_0007deec:\n  *(int *)((int)pppuVar13 + 0x38) = iVar8;\n  iVar8 = iVar8 + 1;\n  piVar15 = (int *)pppuVar13;\n  if (*(char *)(*(int *)((int)pppuVar13 + 0x34) + -2 + iVar8) != '\0') goto LAB_0007defc;\n  goto LAB_0007dc95;\nLAB_0007defc:\n  iVar5 = *(int *)((int)piVar15 + 0x44);\n  iVar8 = 7;\n  pppuVar13 = (undefined ***)piVar15;\nLAB_0007df05:\n  *(undefined1 *)(__ptr + 9) = 0;\njoined_r0x0007dd0e:\n  if (iVar5 != 0) {\nLAB_0007de61:\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7de70;\n    FUN_000804d0();\n    puVar1 = (uint *)((int)pppuVar13 + 0x10);\n    uVar7 = *puVar1;\n    *puVar1 = *puVar1 + *(uint *)((int)pppuVar13 + 0x44);\n    *(int *)((int)pppuVar13 + 0x14) =\n         *(int *)((int)pppuVar13 + 0x14) + (uint)CARRY4(uVar7,*(uint *)((int)pppuVar13 + 0x44));\n    *(undefined4 *)((int)pppuVar13 + 0x44) = 0;\n    piVar12 = (int *)pppuVar13;\n    if (iVar8 == 1) {\nLAB_0007de8b:\n      uVar7 = *(uint *)((int)piVar12 + 0x38);\n      iVar8 = 1;\n      pppuVar13 = (undefined ***)piVar12;\n      goto LAB_0007de94;\n    }\n    if (iVar8 == 0) {\n      uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n      iVar8 = 0;\n      goto LAB_0007de94;\n    }\n  }\n  if (iVar8 != 2) {\nLAB_0007dd1d:\n    ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x6009;\n    ((int *)pppuVar13)[-5] = 0x7dd30;\n    FUN_000191bd();\n    ((int *)pppuVar13)[4] = -1;\n    ((int *)pppuVar13)[5] = -1;\nLAB_0007dafd:\n    uVar7 = __ptr[0x126];\n    *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar7 + 0x18);\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db14;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    *(uint *)((int)pppuVar13 + -0x10) = uVar7;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db1c;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    *(uint **)((int)pppuVar13 + -0x10) = __ptr;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db24;\n    free(*(void **)((int)pppuVar13 + -0x10));\nLAB_0007db27:\n    *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)((int)pppuVar13 + 0xc);\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db37;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    if (*(int *)((int)pppuVar13 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)) {\n      return *(undefined8 *)((int)pppuVar13 + 0x10);\n    }\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dc1f;\n    FUN_00017e10();\n  }\n  uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n  iVar8 = 2;\nLAB_0007de94:\n  *(uint *)((int)pppuVar13 + 4) = uVar7;\n  goto LAB_0007daa8;\n}" type_identifier (function_declarator "FUN_0007d999(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  uint *puVar1;\n  bool bVar2;\n  char cVar3;\n  uint *__ptr;\n  void *pvVar4;\n  int iVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  int *piVar12;\n  undefined ***pppuVar13;\n  int *piVar14;\n  int *piVar15;\n  int *piVar16;\n  undefined4 **ppuVar17;\n  uint uVar18;\n  int in_GS_OFFSET;\n  byte bVar19;\n  undefined **local_6c;\n  undefined4 local_68;\n  undefined4 **local_64;\n  undefined4 *local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  char *local_54;\n  undefined4 *local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 *local_2c;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  bVar19 = 0;\n  pppuVar13 = &local_6c;\n  local_6c = &__DT_PLTGOT;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  if (DAT_000d1718 == 0) {\n    FUN_000a62ce();\n  }\n  local_64 = &local_38;\n  ppuVar17 = local_64;\n  for (iVar8 = 6; iVar8 != 0; iVar8 = iVar8 + -1) {\n    *ppuVar17 = (undefined4 *)0x0;\n    ppuVar17 = ppuVar17 + (uint)bVar19 * -2 + 1;\n  }\n  local_60 = (undefined4 *)FUN_00019b1c();\n  local_2c = local_60 + 0x800;\n  local_24 = 0x2000;\n  if ((local_54 == (char *)0x0) || (*local_54 != '\0')) {\n    *local_60 = 0x587a37fd;\n    *(undefined2 *)(local_60 + 1) = 0x5a;\n    local_30 = 6;\n  }\n  local_38 = local_60;\n  __ptr = (uint *)malloc(0x49c);\n  if (__ptr != (uint *)0x0) {\n    __ptr[8] = 2;\n    pvVar4 = malloc(0x6f28);\n    if (pvVar4 == (void *)0x0) {\n      free(__ptr);\n      __ptr = (uint *)0x0;\n    }\n    else {\n      *(undefined4 *)((int)pvVar4 + 0x3c) = 2;\n      *(undefined4 *)((int)pvVar4 + 0x34) = 0x4000000;\n      *(undefined4 *)((int)pvVar4 + 0x18) = 0;\n      *(undefined4 *)((int)pvVar4 + 0x38) = 0;\n      __ptr[0x126] = (uint)pvVar4;\n      FUN_0007d0ea();\n    }\n  }\n  local_68 = local_34;\n  local_5c = 0;\n  local_58 = 0;\n  iVar8 = 1;\nLAB_0007daa8:\n  if (((int *)pppuVar13)[0xf] == ((int *)pppuVar13)[1]) {\n    ((int *)pppuVar13)[-1] = 0x7dacb;\n    iVar5 = FUN_0001ac64();\n    if (iVar5 < 0) {\n      ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x4f84;\n      ((int *)pppuVar13)[-5] = 0x7dae6;\n      FUN_000191bd();\n      ((int *)pppuVar13)[4] = -1;\n      ((int *)pppuVar13)[5] = -1;\n      if (__ptr != (uint *)0x0) goto LAB_0007dafd;\n      goto LAB_0007db27;\n    }\n    if ((iVar5 == 0) && (iVar8 == 1)) {\n      if (__ptr == (uint *)0x0) goto LAB_0007db27;\n      goto LAB_0007dafd;\n    }\n    ((int *)pppuVar13)[0xf] = iVar5;\n    ((int *)pppuVar13)[0xe] = 0;\n    ((int *)pppuVar13)[1] = 0;\n  }\n  if (iVar8 == 1) {\n    bVar2 = false;\n    do {\n      if (*(char *)(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1]) != '\0') {\n        if (bVar2) {\n          ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n        }\n        ((int *)pppuVar13)[-1] = 0x7dba9;\n        FUN_0007d0ea();\n        ((int *)pppuVar13)[1] = ((int *)pppuVar13)[0xe];\n        goto LAB_0007dbb1;\n      }\n      ((int *)pppuVar13)[1] = ((int *)pppuVar13)[1] + 1;\n      bVar2 = true;\n    } while ((uint)((int *)pppuVar13)[1] < (uint)((int *)pppuVar13)[0xf]);\n    ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n  }\nLAB_0007dbb1:\n  ((int *)pppuVar13)[8] = ((int *)pppuVar13)[0x11];\n  __ptr[4] = ((int *)pppuVar13)[1];\n  uVar7 = *__ptr;\n  ((int *)pppuVar13)[0xb] = (int)(__ptr + 0x15);\n  do {\n  } while (9 < uVar7);\nLAB_0007dbcf:\n  piVar14 = (int *)pppuVar13;\n  switch(*(int *)((int)*pppuVar13 + -0x154d0 + uVar7 * 4) + (int)*pppuVar13) {\n  case 0x7dc1f:\n    goto switchD_0007dbdb_caseD_7dc1f;\n  case 0x7dc7d:\n    goto switchD_0007dbdb_caseD_7dc7d;\n  case 0x7dcd4:\n    goto switchD_0007dbdb_caseD_7dcd4;\n  case 0x7dd72:\n    goto switchD_0007dbdb_caseD_7dd72;\n  case 0x7dfc9:\n    ((int *)pppuVar13)[-1] = 0x7dfd4;\n    cVar3 = FUN_0007d93a();\n    if (cVar3 == '\0') goto LAB_0007dd81;\n    *__ptr = 1;\n    if ((__ptr[0x26] != 0x587a37fd) || ((short)__ptr[0x27] != 0x5a)) {\n      iVar5 = ((int *)pppuVar13)[0x11];\n      iVar8 = 5;\n      goto LAB_0007df05;\n    }\n    ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n    ((int *)pppuVar13)[-5] = 0x7e023;\n    uVar7 = FUN_000a62f1();\n    piVar14 = (int *)pppuVar13 + -1;\n    piVar15 = (int *)pppuVar13 + -1;\n    if (~uVar7 != __ptr[0x28]) goto LAB_0007defc;\n    piVar15 = (int *)pppuVar13 + -1;\n    if (*(char *)((int)__ptr + 0x9e) == '\0') {\n      uVar7 = (uint)*(byte *)((int)__ptr + 0x9f);\n      __ptr[7] = uVar7;\n      piVar15 = (int *)pppuVar13 + -1;\n      if (uVar7 < 0x10) {\n        if (uVar7 < 2) goto switchD_0007dbdb_caseD_7e05d;\n        iVar5 = ((int *)pppuVar13)[0x10];\n        iVar8 = 2;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n        goto LAB_0007df05;\n      }\n    }\n    break;\n  case 0x7e05d:\nswitchD_0007dbdb_caseD_7e05d:\n    uVar10 = *(uint *)((int)piVar14 + 0x38);\n    uVar7 = *(uint *)((int)piVar14 + 0x3c);\n    pppuVar13 = (undefined ***)piVar14;\n    if (uVar10 == uVar7) goto LAB_0007dd85;\n    if (*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) != 0) {\n      uVar7 = (uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) * 4 + 4;\n      __ptr[0xe] = uVar7;\n      __ptr[0x25] = uVar7;\n      __ptr[0x24] = 0;\n      *__ptr = 2;\n      goto switchD_0007dbdb_caseD_7e09e;\n    }\n    *(uint *)((int)piVar14 + 0x38) = uVar10 + 1;\n    __ptr[4] = uVar10;\n    *__ptr = 6;\n    uVar7 = 6;\n    goto LAB_0007dbcf;\n  case 0x7e09e:\nswitchD_0007dbdb_caseD_7e09e:\n    piVar14[-1] = 0x7e0a9;\n    cVar3 = FUN_0007d93a();\n    pppuVar13 = (undefined ***)piVar14;\n    if (cVar3 == '\0') goto LAB_0007dd81;\n    __ptr[0x25] = __ptr[0x25] - 4;\n    piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n    piVar14[-5] = 0x7e0df;\n    uVar10 = FUN_000a62f1();\n    uVar7 = __ptr[0x25];\n    pppuVar13 = (undefined ***)(piVar14 + -1);\n    piVar16 = piVar14 + -1;\n    piVar15 = piVar14 + -1;\n    if (~uVar10 != *(uint *)((int)__ptr + uVar7 + 0x98)) goto LAB_0007defc;\n    __ptr[0x24] = 2;\n    bVar19 = *(byte *)((int)__ptr + 0x99);\n    piVar15 = piVar14 + -1;\n    if ((bVar19 & 0x3f) == 0) {\n      if ((bVar19 & 0x40) == 0) {\n        __ptr[10] = 0xffffffff;\n        __ptr[0xb] = 0xffffffff;\n        if (-1 < (char)bVar19) goto LAB_0007e129;\nLAB_0007e572:\n        *(uint *)((int)piVar16 + -0x10) = uVar7;\n        *(undefined4 *)((int)piVar16 + -0x14) = 0x7e585;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)((int)piVar16 + -4);\n        piVar15 = (int *)((int)piVar16 + -4);\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[0xc] = __ptr[2];\n        __ptr[0xd] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      else {\n        piVar14[-5] = uVar7;\n        piVar14[-6] = 0x7e5cc;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)(piVar14 + -2);\n        piVar16 = piVar14 + -2;\n        piVar15 = piVar14 + -2;\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[10] = __ptr[2];\n        __ptr[0xb] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        if (*(char *)((int)__ptr + 0x99) < '\0') goto LAB_0007e572;\nLAB_0007e129:\n        __ptr[0xc] = 0xffffffff;\n        __ptr[0xd] = 0xffffffff;\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      piVar15 = (int *)pppuVar13;\n      if (uVar9 < 2) goto LAB_0007defc;\n      __ptr[0x24] = uVar10 + 1;\n      if (*(char *)((int)__ptr + uVar10 + 0x98) == '!') {\n        __ptr[0x24] = uVar10 + 2;\n        if (*(char *)((int)__ptr + uVar10 + 0x99) == '\x01') {\n          if (uVar10 + 2 == uVar7) goto LAB_0007defc;\n          uVar9 = uVar10 + 3;\n          __ptr[0x24] = uVar9;\n          bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);\n          if (bVar19 < 0x28) {\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }\n        }\n      }\n    }\n    break;\n  case 0x7e21b:\nswitchD_0007dbdb_caseD_7e21b:\n    __ptr[4] = ((int *)pppuVar13)[0xe];\n    __ptr[5] = ((int *)pppuVar13)[0x11];\n    ((int *)pppuVar13)[-1] = 0x7e238;\n    iVar8 = FUN_0007d17c();\n    ((int *)pppuVar13)[7] = iVar8;\n    uVar9 = (((int *)pppuVar13)[0xe] - __ptr[4]) + __ptr[0xf];\n    uVar18 = __ptr[0x10] + (uint)CARRY4(((int *)pppuVar13)[0xe] - __ptr[4],__ptr[0xf]);\n    __ptr[0xf] = uVar9;\n    __ptr[0x10] = uVar18;\n    iVar5 = ((int *)pppuVar13)[0x11];\n    uVar7 = __ptr[5];\n    ((int *)pppuVar13)[9] = uVar7;\n    uVar7 = iVar5 - uVar7;\n    ((int *)pppuVar13)[10] = uVar7;\n    uVar10 = uVar7 + __ptr[0x11];\n    uVar7 = __ptr[0x12] + (uint)CARRY4(uVar7,__ptr[0x11]);\n    __ptr[0x11] = uVar10;\n    __ptr[0x12] = uVar7;\n    if ((uVar18 <= __ptr[0xb] && (uint)(__ptr[10] < uVar9) <= __ptr[0xb] - uVar18) &&\n       (uVar7 <= __ptr[0xd] && (uint)(__ptr[0xc] < uVar10) <= __ptr[0xd] - uVar7)) {\n      if (__ptr[7] == 1) {\n        ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n        ((int *)pppuVar13)[-5] = 0x7e2b9;\n        uVar7 = FUN_000a62f1();\n        __ptr[6] = ~uVar7;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n      }\n      if (((int *)pppuVar13)[7] == 1) {\n        piVar15 = (int *)pppuVar13;\n        if (((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||\n           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])) {\n          uVar7 = __ptr[0x11];\n          if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }\n        }\n        goto LAB_0007defc;\n      }\n      iVar8 = ((int *)pppuVar13)[7];\n      goto LAB_0007dfbc;\n    }\n    iVar8 = 7;\n    goto LAB_0007df05;\n  case 0x7e360:\nswitchD_0007dbdb_caseD_7e360:\n    uVar10 = __ptr[0xf];\n    uVar9 = __ptr[0x10];\n    if ((uVar10 & 3) != 0) {\n      uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n      uVar7 = *(uint *)((int)pppuVar13 + 0x3c);\n      if (uVar18 == uVar7) goto LAB_0007dd85;\n      iVar8 = *(int *)((int)pppuVar13 + 0x34);\n      *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n      piVar15 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      uVar9 = uVar9 + (0xfffffffe < uVar10);\n      while( true ) {\n        uVar10 = uVar10 + 1;\n        __ptr[0xf] = uVar10;\n        __ptr[0x10] = uVar9;\n        if ((uVar10 & 3) == 0) break;\n        uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n        uVar9 = uVar9 + (0xfffffffe < uVar10);\n        if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      }\n    }\n    *__ptr = 5;\n    piVar14 = (int *)pppuVar13;\nswitchD_0007dbdb_caseD_7e3b0:\n    pppuVar13 = (undefined ***)piVar14;\n    if (__ptr[7] == 1) {\n      uVar10 = piVar14[0xf];\n      iVar8 = piVar14[0xd];\n      uVar7 = piVar14[0xe];\n      do {\n        if (uVar10 == uVar7) goto LAB_0007dd85;\n        uVar9 = __ptr[1];\n        uVar18 = __ptr[6];\n        uVar7 = uVar7 + 1;\n        piVar14[0xe] = uVar7;\n        if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))\n        goto LAB_0007dcff;\n        uVar9 = uVar9 + 8;\n        __ptr[1] = uVar9;\n      } while (uVar9 < 0x20);\n      __ptr[6] = 0;\n      __ptr[1] = 0;\n    }\n    else {\n      uVar10 = __ptr[1];\n      uVar9 = (uint)*(byte *)(*piVar14 + -0x154a8 + __ptr[7]);\n      if (uVar10 < uVar9) {\n        uVar18 = piVar14[0xe];\n        uVar7 = piVar14[0xf];\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        uVar11 = uVar18;\n        while( true ) {\n          uVar11 = uVar11 + 1;\n          if (uVar11 == (uVar18 - uVar10) + uVar9) break;\n          if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }\n        }\n        piVar14[0xe] = uVar11;\n      }\n      __ptr[1] = 0;\n    }\n    *__ptr = 1;\n    uVar7 = 1;\n    goto LAB_0007dbcf;\n  case 0x7e3b0:\n    goto switchD_0007dbdb_caseD_7e3b0;\n  }\nLAB_0007e4e9:\n  iVar5 = *(int *)((int)piVar15 + 0x44);\n  iVar8 = 6;\n  pppuVar13 = (undefined ***)piVar15;\n  goto LAB_0007df05;\nswitchD_0007dbdb_caseD_7dc1f:\n  piVar15 = (int *)pppuVar13;\n  do {\n    *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x3c);\n    *(undefined4 *)((int)piVar15 + -0x14) = 0x7dc3a;\n    iVar8 = FUN_0007d044();\n    piVar14 = (int *)((int)piVar15 + -4);\n    pppuVar13 = (undefined ***)((int)piVar15 + -4);\n    if (iVar8 != 1) {\n      *(undefined4 *)((int)piVar15 + -8) = 0x7dfbc;\n      FUN_0007d137();\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\nLAB_0007dfbc:\n      if (iVar8 == 0) goto LAB_0007dd81;\n      goto LAB_0007dd04;\n    }\n    uVar7 = __ptr[0x1a];\n    if (uVar7 == 1) {\n      puVar1 = __ptr + 0x1f;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x20] = __ptr[0x20] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      __ptr[0x1a] = 2;\nLAB_0007dc68:\n      uVar7 = __ptr[0x1d];\n      uVar10 = __ptr[0x1e];\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\n    }\n    else {\n      if (uVar7 == 0) {\n        uVar7 = __ptr[2];\n        uVar10 = __ptr[3];\n        __ptr[0x1d] = uVar7;\n        __ptr[0x1e] = uVar10;\n        if (__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7) {\n          __ptr[0x1a] = 1;\n          goto LAB_0007dc6e;\n        }\n        goto LAB_0007dcff;\n      }\n      if (uVar7 != 2) goto LAB_0007dc68;\n      puVar1 = __ptr + 0x21;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x22] = __ptr[0x22] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)(*(int *)((int)piVar15 + -4) + 0xcf8);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7df5c;\n      uVar7 = FUN_000a62f1();\n      __ptr[0x23] = ~uVar7;\n      uVar7 = __ptr[0x1d] - 1;\n      uVar10 = (__ptr[0x1e] - 1) + (uint)(__ptr[0x1d] != 0);\n      __ptr[0x1d] = uVar7;\n      __ptr[0x1e] = uVar10;\n      __ptr[0x1a] = 1;\n      pppuVar13 = (undefined ***)((int)piVar15 + -8);\n    }\nLAB_0007dc6e:\n    piVar15 = (int *)pppuVar13;\n  } while (uVar10 != 0 || uVar7 != 0);\n  *__ptr = 7;\nswitchD_0007dbdb_caseD_7dc7d:\n  uVar7 = __ptr[0x1b];\n  iVar8 = *(int *)((int)pppuVar13 + 0x38) + 1;\n  uVar10 = __ptr[4];\nLAB_0007dc95:\n  if ((~uVar10 + iVar8 + uVar7 & 3) == 0) {\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dcae;\n    uVar6 = FUN_0007d137();\n    *(undefined4 *)((int)pppuVar13 + -4) = uVar6;\n    *(undefined4 *)((int)pppuVar13 + -8) = 0x14;\n    *(uint **)((int)pppuVar13 + -0xc) = __ptr + 0x1f;\n    *(uint **)((int)pppuVar13 + -0x10) = __ptr + 0x15;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7dcc2;\n    iVar8 = memcmp(*(void **)((int)pppuVar13 + -0x10),*(void **)((int)pppuVar13 + -0xc),\n                   *(size_t *)((int)pppuVar13 + -8));\n    piVar15 = (int *)pppuVar13;\n    if (iVar8 != 0) goto LAB_0007ddc4;\n    *__ptr = 8;\nswitchD_0007dbdb_caseD_7dcd4:\n    uVar10 = *(uint *)((int)pppuVar13 + 0x3c);\n    iVar8 = *(int *)((int)pppuVar13 + 0x34);\n    uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n    while (uVar10 != uVar7) {\n      uVar9 = __ptr[1];\n      uVar18 = __ptr[6];\n      uVar7 = uVar7 + 1;\n      *(uint *)((int)pppuVar13 + 0x38) = uVar7;\n      piVar14 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f))) {\nLAB_0007dcff:\n        iVar8 = 7;\n        pppuVar13 = (undefined ***)piVar14;\nLAB_0007dd04:\n        *(undefined1 *)(__ptr + 9) = 0;\n        iVar5 = *(int *)((int)pppuVar13 + 0x44);\n        goto joined_r0x0007dd0e;\n      }\n      uVar9 = uVar9 + 8;\n      __ptr[1] = uVar9;\n      if (0x1f < uVar9) {\n        __ptr[6] = 0;\n        __ptr[1] = 0;\n        __ptr[0x25] = 0xc;\n        *__ptr = 9;\nswitchD_0007dbdb_caseD_7dd72:\n        piVar14[-1] = 0x7dd7d;\n        cVar3 = FUN_0007d93a();\n        pppuVar13 = (undefined ***)piVar14;\n        if (cVar3 == '\0') {\nLAB_0007dd81:\n          uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n          break;\n        }\n        piVar15 = piVar14;\n        if (*(short *)((int)__ptr + 0xa2) == 0x5a59) {\n          piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n          piVar14[-5] = 0x7de00;\n          uVar7 = FUN_000a62f1();\n          piVar12 = piVar14 + -1;\n          pppuVar13 = (undefined ***)(piVar14 + -1);\n          piVar15 = piVar14 + -1;\n          if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;\n          iVar8 = piVar14[0x10];\n          if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }\n          *(undefined1 *)(__ptr + 9) = 0;\n          if (iVar8 != 0) {\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }\n          goto LAB_0007de8b;\n        }\nLAB_0007ddc4:\n        pppuVar13 = (undefined ***)piVar15;\n        *(undefined1 *)(__ptr + 9) = 0;\n        if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n        iVar8 = 7;\n        goto LAB_0007de61;\n      }\n    }\n  }\n  else {\n    if (*(int *)((int)pppuVar13 + 0x3c) + 1 != iVar8) goto LAB_0007deec;\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dee3;\n    FUN_0007d137();\n    uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n  }\nLAB_0007dd85:\n  iVar8 = *(int *)((int)pppuVar13 + 0x44);\n  if ((*(uint *)((int)pppuVar13 + 4) == uVar7) && (*(int *)((int)pppuVar13 + 0x20) == iVar8)) {\n    if ((char)__ptr[9] == '\0') {\n      *(undefined1 *)(__ptr + 9) = 1;\n      if (iVar8 == 0) goto LAB_0007de94;\n      iVar8 = 0;\n      goto LAB_0007de61;\n    }\n    if (iVar8 != 0) {\n      iVar8 = 8;\n      goto LAB_0007de61;\n    }\n    goto LAB_0007dd1d;\n  }\n  *(undefined1 *)(__ptr + 9) = 0;\n  if (iVar8 != 0) {\n    iVar8 = 0;\n    goto LAB_0007de61;\n  }\n  iVar8 = 0;\n  goto LAB_0007de94;\nLAB_0007deec:\n  *(int *)((int)pppuVar13 + 0x38) = iVar8;\n  iVar8 = iVar8 + 1;\n  piVar15 = (int *)pppuVar13;\n  if (*(char *)(*(int *)((int)pppuVar13 + 0x34) + -2 + iVar8) != '\0') goto LAB_0007defc;\n  goto LAB_0007dc95;\nLAB_0007defc:\n  iVar5 = *(int *)((int)piVar15 + 0x44);\n  iVar8 = 7;\n  pppuVar13 = (undefined ***)piVar15;\nLAB_0007df05:\n  *(undefined1 *)(__ptr + 9) = 0;\njoined_r0x0007dd0e:\n  if (iVar5 != 0) {\nLAB_0007de61:\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7de70;\n    FUN_000804d0();\n    puVar1 = (uint *)((int)pppuVar13 + 0x10);\n    uVar7 = *puVar1;\n    *puVar1 = *puVar1 + *(uint *)((int)pppuVar13 + 0x44);\n    *(int *)((int)pppuVar13 + 0x14) =\n         *(int *)((int)pppuVar13 + 0x14) + (uint)CARRY4(uVar7,*(uint *)((int)pppuVar13 + 0x44));\n    *(undefined4 *)((int)pppuVar13 + 0x44) = 0;\n    piVar12 = (int *)pppuVar13;\n    if (iVar8 == 1) {\nLAB_0007de8b:\n      uVar7 = *(uint *)((int)piVar12 + 0x38);\n      iVar8 = 1;\n      pppuVar13 = (undefined ***)piVar12;\n      goto LAB_0007de94;\n    }\n    if (iVar8 == 0) {\n      uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n      iVar8 = 0;\n      goto LAB_0007de94;\n    }\n  }\n  if (iVar8 != 2) {\nLAB_0007dd1d:\n    ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x6009;\n    ((int *)pppuVar13)[-5] = 0x7dd30;\n    FUN_000191bd();\n    ((int *)pppuVar13)[4] = -1;\n    ((int *)pppuVar13)[5] = -1;\nLAB_0007dafd:\n    uVar7 = __ptr[0x126];\n    *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar7 + 0x18);\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db14;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    *(uint *)((int)pppuVar13 + -0x10) = uVar7;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db1c;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    *(uint **)((int)pppuVar13 + -0x10) = __ptr;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db24;\n    free(*(void **)((int)pppuVar13 + -0x10));\nLAB_0007db27:\n    *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)((int)pppuVar13 + 0xc);\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db37;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    if (*(int *)((int)pppuVar13 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)) {\n      return *(undefined8 *)((int)pppuVar13 + 0x10);\n    }\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dc1f;\n    FUN_00017e10();\n  }\n  uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n  iVar8 = 2;\nLAB_0007de94:\n  *(uint *)((int)pppuVar13 + 4) = uVar7;\n  goto LAB_0007daa8;\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "uint *__ptr;" type_identifier (pointer_declarator "*__ptr" * identifier) ;) (declaration "void *pvVar4;" primitive_type (pointer_declarator "*pvVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "int *piVar12;" primitive_type (pointer_declarator "*piVar12" * identifier) ;) (declaration "undefined ***pppuVar13;" type_identifier (pointer_declarator "***pppuVar13" * (pointer_declarator "**pppuVar13" * (pointer_declarator "*pppuVar13" * identifier))) ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "undefined4 **ppuVar17;" type_identifier (pointer_declarator "**ppuVar17" * (pointer_declarator "*ppuVar17" * identifier)) ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "byte bVar19;" type_identifier identifier ;) (declaration "undefined **local_6c;" type_identifier (pointer_declarator "**local_6c" * (pointer_declarator "*local_6c" * identifier)) ;) (declaration "undefined4 local_68;" type_identifier identifier ;) (declaration "undefined4 **local_64;" type_identifier (pointer_declarator "**local_64" * (pointer_declarator "*local_64" * identifier)) ;) (declaration "undefined4 *local_60;" type_identifier (pointer_declarator "*local_60" * identifier) ;) (declaration "undefined4 local_5c;" type_identifier identifier ;) (declaration "undefined4 local_58;" type_identifier identifier ;) (declaration "char *local_54;" primitive_type (pointer_declarator "*local_54" * identifier) ;) (declaration "undefined4 *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "undefined4 *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (declaration "undefined4 local_24;" type_identifier identifier ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (expression_statement "bVar19 = 0;" (assignment_expression "bVar19 = 0" identifier = number_literal) ;) (expression_statement "pppuVar13 = &local_6c;" (assignment_expression "pppuVar13 = &local_6c" identifier = (pointer_expression "&local_6c" & identifier)) ;) (expression_statement "local_6c = &__DT_PLTGOT;" (assignment_expression "local_6c = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(undefined4 *)(in_GS_OFFSET + 0x14)" * (cast_expression "(undefined4 *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (DAT_000d1718 == 0) {\n    FUN_000a62ce();\n  }" if (parenthesized_expression "(DAT_000d1718 == 0)" ( (binary_expression "DAT_000d1718 == 0" identifier == number_literal) )) (compound_statement "{\n    FUN_000a62ce();\n  }" { (expression_statement "FUN_000a62ce();" (call_expression "FUN_000a62ce()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_64 = &local_38;" (assignment_expression "local_64 = &local_38" identifier = (pointer_expression "&local_38" & identifier)) ;) (expression_statement "ppuVar17 = local_64;" (assignment_expression "ppuVar17 = local_64" identifier = identifier) ;) (for_statement "for (iVar8 = 6; iVar8 != 0; iVar8 = iVar8 + -1) {\n    *ppuVar17 = (undefined4 *)0x0;\n    ppuVar17 = ppuVar17 + (uint)bVar19 * -2 + 1;\n  }" for ( (assignment_expression "iVar8 = 6" identifier = number_literal) ; (binary_expression "iVar8 != 0" identifier != number_literal) ; (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ) (compound_statement "{\n    *ppuVar17 = (undefined4 *)0x0;\n    ppuVar17 = ppuVar17 + (uint)bVar19 * -2 + 1;\n  }" { (expression_statement "*ppuVar17 = (undefined4 *)0x0;" (assignment_expression "*ppuVar17 = (undefined4 *)0x0" (pointer_expression "*ppuVar17" * identifier) = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppuVar17 = ppuVar17 + (uint)bVar19 * -2 + 1;" (assignment_expression "ppuVar17 = ppuVar17 + (uint)bVar19 * -2 + 1" identifier = (binary_expression "ppuVar17 + (uint)bVar19 * -2 + 1" (binary_expression "ppuVar17 + (uint)bVar19 * -2" identifier + (binary_expression "(uint)bVar19 * -2" (cast_expression "(uint)bVar19" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "local_60 = (undefined4 *)FUN_00019b1c();" (assignment_expression "local_60 = (undefined4 *)FUN_00019b1c()" identifier = (cast_expression "(undefined4 *)FUN_00019b1c()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00019b1c()" identifier (argument_list "()" ( ))))) ;) (expression_statement "local_2c = local_60 + 0x800;" (assignment_expression "local_2c = local_60 + 0x800" identifier = (binary_expression "local_60 + 0x800" identifier + number_literal)) ;) (expression_statement "local_24 = 0x2000;" (assignment_expression "local_24 = 0x2000" identifier = number_literal) ;) (if_statement "if ((local_54 == (char *)0x0) || (*local_54 != '\0')) {\n    *local_60 = 0x587a37fd;\n    *(undefined2 *)(local_60 + 1) = 0x5a;\n    local_30 = 6;\n  }" if (parenthesized_expression "((local_54 == (char *)0x0) || (*local_54 != '\0'))" ( (binary_expression "(local_54 == (char *)0x0) || (*local_54 != '\0')" (parenthesized_expression "(local_54 == (char *)0x0)" ( (binary_expression "local_54 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*local_54 != '\0')" ( (binary_expression "*local_54 != '\0'" (pointer_expression "*local_54" * identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n    *local_60 = 0x587a37fd;\n    *(undefined2 *)(local_60 + 1) = 0x5a;\n    local_30 = 6;\n  }" { (expression_statement "*local_60 = 0x587a37fd;" (assignment_expression "*local_60 = 0x587a37fd" (pointer_expression "*local_60" * identifier) = number_literal) ;) (expression_statement "*(undefined2 *)(local_60 + 1) = 0x5a;" (assignment_expression "*(undefined2 *)(local_60 + 1) = 0x5a" (pointer_expression "*(undefined2 *)(local_60 + 1)" * (cast_expression "(undefined2 *)(local_60 + 1)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_60 + 1)" ( (binary_expression "local_60 + 1" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_30 = 6;" (assignment_expression "local_30 = 6" identifier = number_literal) ;) })) (expression_statement "local_38 = local_60;" (assignment_expression "local_38 = local_60" identifier = identifier) ;) (expression_statement "__ptr = (uint *)malloc(0x49c);" (assignment_expression "__ptr = (uint *)malloc(0x49c)" identifier = (cast_expression "(uint *)malloc(0x49c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "malloc(0x49c)" identifier (argument_list "(0x49c)" ( number_literal ))))) ;) (if_statement "if (__ptr != (uint *)0x0) {\n    __ptr[8] = 2;\n    pvVar4 = malloc(0x6f28);\n    if (pvVar4 == (void *)0x0) {\n      free(__ptr);\n      __ptr = (uint *)0x0;\n    }\n    else {\n      *(undefined4 *)((int)pvVar4 + 0x3c) = 2;\n      *(undefined4 *)((int)pvVar4 + 0x34) = 0x4000000;\n      *(undefined4 *)((int)pvVar4 + 0x18) = 0;\n      *(undefined4 *)((int)pvVar4 + 0x38) = 0;\n      __ptr[0x126] = (uint)pvVar4;\n      FUN_0007d0ea();\n    }\n  }" if (parenthesized_expression "(__ptr != (uint *)0x0)" ( (binary_expression "__ptr != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    __ptr[8] = 2;\n    pvVar4 = malloc(0x6f28);\n    if (pvVar4 == (void *)0x0) {\n      free(__ptr);\n      __ptr = (uint *)0x0;\n    }\n    else {\n      *(undefined4 *)((int)pvVar4 + 0x3c) = 2;\n      *(undefined4 *)((int)pvVar4 + 0x34) = 0x4000000;\n      *(undefined4 *)((int)pvVar4 + 0x18) = 0;\n      *(undefined4 *)((int)pvVar4 + 0x38) = 0;\n      __ptr[0x126] = (uint)pvVar4;\n      FUN_0007d0ea();\n    }\n  }" { (expression_statement "__ptr[8] = 2;" (assignment_expression "__ptr[8] = 2" (subscript_expression "__ptr[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pvVar4 = malloc(0x6f28);" (assignment_expression "pvVar4 = malloc(0x6f28)" identifier = (call_expression "malloc(0x6f28)" identifier (argument_list "(0x6f28)" ( number_literal )))) ;) (if_statement "if (pvVar4 == (void *)0x0) {\n      free(__ptr);\n      __ptr = (uint *)0x0;\n    }\n    else {\n      *(undefined4 *)((int)pvVar4 + 0x3c) = 2;\n      *(undefined4 *)((int)pvVar4 + 0x34) = 0x4000000;\n      *(undefined4 *)((int)pvVar4 + 0x18) = 0;\n      *(undefined4 *)((int)pvVar4 + 0x38) = 0;\n      __ptr[0x126] = (uint)pvVar4;\n      FUN_0007d0ea();\n    }" if (parenthesized_expression "(pvVar4 == (void *)0x0)" ( (binary_expression "pvVar4 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      free(__ptr);\n      __ptr = (uint *)0x0;\n    }" { (expression_statement "free(__ptr);" (call_expression "free(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))) ;) (expression_statement "__ptr = (uint *)0x0;" (assignment_expression "__ptr = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      *(undefined4 *)((int)pvVar4 + 0x3c) = 2;\n      *(undefined4 *)((int)pvVar4 + 0x34) = 0x4000000;\n      *(undefined4 *)((int)pvVar4 + 0x18) = 0;\n      *(undefined4 *)((int)pvVar4 + 0x38) = 0;\n      __ptr[0x126] = (uint)pvVar4;\n      FUN_0007d0ea();\n    }" else (compound_statement "{\n      *(undefined4 *)((int)pvVar4 + 0x3c) = 2;\n      *(undefined4 *)((int)pvVar4 + 0x34) = 0x4000000;\n      *(undefined4 *)((int)pvVar4 + 0x18) = 0;\n      *(undefined4 *)((int)pvVar4 + 0x38) = 0;\n      __ptr[0x126] = (uint)pvVar4;\n      FUN_0007d0ea();\n    }" { (expression_statement "*(undefined4 *)((int)pvVar4 + 0x3c) = 2;" (assignment_expression "*(undefined4 *)((int)pvVar4 + 0x3c) = 2" (pointer_expression "*(undefined4 *)((int)pvVar4 + 0x3c)" * (cast_expression "(undefined4 *)((int)pvVar4 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar4 + 0x3c)" ( (binary_expression "(int)pvVar4 + 0x3c" (cast_expression "(int)pvVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)pvVar4 + 0x34) = 0x4000000;" (assignment_expression "*(undefined4 *)((int)pvVar4 + 0x34) = 0x4000000" (pointer_expression "*(undefined4 *)((int)pvVar4 + 0x34)" * (cast_expression "(undefined4 *)((int)pvVar4 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar4 + 0x34)" ( (binary_expression "(int)pvVar4 + 0x34" (cast_expression "(int)pvVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)pvVar4 + 0x18) = 0;" (assignment_expression "*(undefined4 *)((int)pvVar4 + 0x18) = 0" (pointer_expression "*(undefined4 *)((int)pvVar4 + 0x18)" * (cast_expression "(undefined4 *)((int)pvVar4 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar4 + 0x18)" ( (binary_expression "(int)pvVar4 + 0x18" (cast_expression "(int)pvVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)pvVar4 + 0x38) = 0;" (assignment_expression "*(undefined4 *)((int)pvVar4 + 0x38) = 0" (pointer_expression "*(undefined4 *)((int)pvVar4 + 0x38)" * (cast_expression "(undefined4 *)((int)pvVar4 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar4 + 0x38)" ( (binary_expression "(int)pvVar4 + 0x38" (cast_expression "(int)pvVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "__ptr[0x126] = (uint)pvVar4;" (assignment_expression "__ptr[0x126] = (uint)pvVar4" (subscript_expression "__ptr[0x126]" identifier [ number_literal ]) = (cast_expression "(uint)pvVar4" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "FUN_0007d0ea();" (call_expression "FUN_0007d0ea()" identifier (argument_list "()" ( ))) ;) }))) })) (expression_statement "local_68 = local_34;" (assignment_expression "local_68 = local_34" identifier = identifier) ;) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" identifier = number_literal) ;) (labeled_statement "LAB_0007daa8:\n  if (((int *)pppuVar13)[0xf] == ((int *)pppuVar13)[1]) {\n    ((int *)pppuVar13)[-1] = 0x7dacb;\n    iVar5 = FUN_0001ac64();\n    if (iVar5 < 0) {\n      ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x4f84;\n      ((int *)pppuVar13)[-5] = 0x7dae6;\n      FUN_000191bd();\n      ((int *)pppuVar13)[4] = -1;\n      ((int *)pppuVar13)[5] = -1;\n      if (__ptr != (uint *)0x0) goto LAB_0007dafd;\n      goto LAB_0007db27;\n    }\n    if ((iVar5 == 0) && (iVar8 == 1)) {\n      if (__ptr == (uint *)0x0) goto LAB_0007db27;\n      goto LAB_0007dafd;\n    }\n    ((int *)pppuVar13)[0xf] = iVar5;\n    ((int *)pppuVar13)[0xe] = 0;\n    ((int *)pppuVar13)[1] = 0;\n  }" statement_identifier : (if_statement "if (((int *)pppuVar13)[0xf] == ((int *)pppuVar13)[1]) {\n    ((int *)pppuVar13)[-1] = 0x7dacb;\n    iVar5 = FUN_0001ac64();\n    if (iVar5 < 0) {\n      ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x4f84;\n      ((int *)pppuVar13)[-5] = 0x7dae6;\n      FUN_000191bd();\n      ((int *)pppuVar13)[4] = -1;\n      ((int *)pppuVar13)[5] = -1;\n      if (__ptr != (uint *)0x0) goto LAB_0007dafd;\n      goto LAB_0007db27;\n    }\n    if ((iVar5 == 0) && (iVar8 == 1)) {\n      if (__ptr == (uint *)0x0) goto LAB_0007db27;\n      goto LAB_0007dafd;\n    }\n    ((int *)pppuVar13)[0xf] = iVar5;\n    ((int *)pppuVar13)[0xe] = 0;\n    ((int *)pppuVar13)[1] = 0;\n  }" if (parenthesized_expression "(((int *)pppuVar13)[0xf] == ((int *)pppuVar13)[1])" ( (binary_expression "((int *)pppuVar13)[0xf] == ((int *)pppuVar13)[1]" (subscript_expression "((int *)pppuVar13)[0xf]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) == (subscript_expression "((int *)pppuVar13)[1]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) )) (compound_statement "{\n    ((int *)pppuVar13)[-1] = 0x7dacb;\n    iVar5 = FUN_0001ac64();\n    if (iVar5 < 0) {\n      ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x4f84;\n      ((int *)pppuVar13)[-5] = 0x7dae6;\n      FUN_000191bd();\n      ((int *)pppuVar13)[4] = -1;\n      ((int *)pppuVar13)[5] = -1;\n      if (__ptr != (uint *)0x0) goto LAB_0007dafd;\n      goto LAB_0007db27;\n    }\n    if ((iVar5 == 0) && (iVar8 == 1)) {\n      if (__ptr == (uint *)0x0) goto LAB_0007db27;\n      goto LAB_0007dafd;\n    }\n    ((int *)pppuVar13)[0xf] = iVar5;\n    ((int *)pppuVar13)[0xe] = 0;\n    ((int *)pppuVar13)[1] = 0;\n  }" { (expression_statement "((int *)pppuVar13)[-1] = 0x7dacb;" (assignment_expression "((int *)pppuVar13)[-1] = 0x7dacb" (subscript_expression "((int *)pppuVar13)[-1]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "iVar5 = FUN_0001ac64();" (assignment_expression "iVar5 = FUN_0001ac64()" identifier = (call_expression "FUN_0001ac64()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar5 < 0) {\n      ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x4f84;\n      ((int *)pppuVar13)[-5] = 0x7dae6;\n      FUN_000191bd();\n      ((int *)pppuVar13)[4] = -1;\n      ((int *)pppuVar13)[5] = -1;\n      if (__ptr != (uint *)0x0) goto LAB_0007dafd;\n      goto LAB_0007db27;\n    }" if (parenthesized_expression "(iVar5 < 0)" ( (binary_expression "iVar5 < 0" identifier < number_literal) )) (compound_statement "{\n      ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x4f84;\n      ((int *)pppuVar13)[-5] = 0x7dae6;\n      FUN_000191bd();\n      ((int *)pppuVar13)[4] = -1;\n      ((int *)pppuVar13)[5] = -1;\n      if (__ptr != (uint *)0x0) goto LAB_0007dafd;\n      goto LAB_0007db27;\n    }" { (expression_statement "((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x4f84;" (assignment_expression "((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x4f84" (subscript_expression "((int *)pppuVar13)[-4]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (binary_expression "(int)*pppuVar13 + -0x4f84" (cast_expression "(int)*pppuVar13" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppuVar13" * identifier)) + number_literal)) ;) (expression_statement "((int *)pppuVar13)[-5] = 0x7dae6;" (assignment_expression "((int *)pppuVar13)[-5] = 0x7dae6" (subscript_expression "((int *)pppuVar13)[-5]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "FUN_000191bd();" (call_expression "FUN_000191bd()" identifier (argument_list "()" ( ))) ;) (expression_statement "((int *)pppuVar13)[4] = -1;" (assignment_expression "((int *)pppuVar13)[4] = -1" (subscript_expression "((int *)pppuVar13)[4]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "((int *)pppuVar13)[5] = -1;" (assignment_expression "((int *)pppuVar13)[5] = -1" (subscript_expression "((int *)pppuVar13)[5]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (if_statement "if (__ptr != (uint *)0x0) goto LAB_0007dafd;" if (parenthesized_expression "(__ptr != (uint *)0x0)" ( (binary_expression "__ptr != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0007dafd;" goto statement_identifier ;)) (goto_statement "goto LAB_0007db27;" goto statement_identifier ;) })) (if_statement "if ((iVar5 == 0) && (iVar8 == 1)) {\n      if (__ptr == (uint *)0x0) goto LAB_0007db27;\n      goto LAB_0007dafd;\n    }" if (parenthesized_expression "((iVar5 == 0) && (iVar8 == 1))" ( (binary_expression "(iVar5 == 0) && (iVar8 == 1)" (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar8 == 1)" ( (binary_expression "iVar8 == 1" identifier == number_literal) ))) )) (compound_statement "{\n      if (__ptr == (uint *)0x0) goto LAB_0007db27;\n      goto LAB_0007dafd;\n    }" { (if_statement "if (__ptr == (uint *)0x0) goto LAB_0007db27;" if (parenthesized_expression "(__ptr == (uint *)0x0)" ( (binary_expression "__ptr == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0007db27;" goto statement_identifier ;)) (goto_statement "goto LAB_0007dafd;" goto statement_identifier ;) })) (expression_statement "((int *)pppuVar13)[0xf] = iVar5;" (assignment_expression "((int *)pppuVar13)[0xf] = iVar5" (subscript_expression "((int *)pppuVar13)[0xf]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = identifier) ;) (expression_statement "((int *)pppuVar13)[0xe] = 0;" (assignment_expression "((int *)pppuVar13)[0xe] = 0" (subscript_expression "((int *)pppuVar13)[0xe]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "((int *)pppuVar13)[1] = 0;" (assignment_expression "((int *)pppuVar13)[1] = 0" (subscript_expression "((int *)pppuVar13)[1]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) }))) (if_statement "if (iVar8 == 1) {\n    bVar2 = false;\n    do {\n      if (*(char *)(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1]) != '\0') {\n        if (bVar2) {\n          ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n        }\n        ((int *)pppuVar13)[-1] = 0x7dba9;\n        FUN_0007d0ea();\n        ((int *)pppuVar13)[1] = ((int *)pppuVar13)[0xe];\n        goto LAB_0007dbb1;\n      }\n      ((int *)pppuVar13)[1] = ((int *)pppuVar13)[1] + 1;\n      bVar2 = true;\n    } while ((uint)((int *)pppuVar13)[1] < (uint)((int *)pppuVar13)[0xf]);\n    ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n  }" if (parenthesized_expression "(iVar8 == 1)" ( (binary_expression "iVar8 == 1" identifier == number_literal) )) (compound_statement "{\n    bVar2 = false;\n    do {\n      if (*(char *)(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1]) != '\0') {\n        if (bVar2) {\n          ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n        }\n        ((int *)pppuVar13)[-1] = 0x7dba9;\n        FUN_0007d0ea();\n        ((int *)pppuVar13)[1] = ((int *)pppuVar13)[0xe];\n        goto LAB_0007dbb1;\n      }\n      ((int *)pppuVar13)[1] = ((int *)pppuVar13)[1] + 1;\n      bVar2 = true;\n    } while ((uint)((int *)pppuVar13)[1] < (uint)((int *)pppuVar13)[0xf]);\n    ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n  }" { (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (do_statement "do {\n      if (*(char *)(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1]) != '\0') {\n        if (bVar2) {\n          ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n        }\n        ((int *)pppuVar13)[-1] = 0x7dba9;\n        FUN_0007d0ea();\n        ((int *)pppuVar13)[1] = ((int *)pppuVar13)[0xe];\n        goto LAB_0007dbb1;\n      }\n      ((int *)pppuVar13)[1] = ((int *)pppuVar13)[1] + 1;\n      bVar2 = true;\n    } while ((uint)((int *)pppuVar13)[1] < (uint)((int *)pppuVar13)[0xf]);" do (compound_statement "{\n      if (*(char *)(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1]) != '\0') {\n        if (bVar2) {\n          ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n        }\n        ((int *)pppuVar13)[-1] = 0x7dba9;\n        FUN_0007d0ea();\n        ((int *)pppuVar13)[1] = ((int *)pppuVar13)[0xe];\n        goto LAB_0007dbb1;\n      }\n      ((int *)pppuVar13)[1] = ((int *)pppuVar13)[1] + 1;\n      bVar2 = true;\n    }" { (if_statement "if (*(char *)(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1]) != '\0') {\n        if (bVar2) {\n          ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n        }\n        ((int *)pppuVar13)[-1] = 0x7dba9;\n        FUN_0007d0ea();\n        ((int *)pppuVar13)[1] = ((int *)pppuVar13)[0xe];\n        goto LAB_0007dbb1;\n      }" if (parenthesized_expression "(*(char *)(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1]) != '\0')" ( (binary_expression "*(char *)(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1]) != '\0'" (pointer_expression "*(char *)(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1])" * (cast_expression "(char *)(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1])" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1])" ( (binary_expression "((int *)pppuVar13)[3] + ((int *)pppuVar13)[1]" (subscript_expression "((int *)pppuVar13)[3]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) + (subscript_expression "((int *)pppuVar13)[1]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        if (bVar2) {\n          ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n        }\n        ((int *)pppuVar13)[-1] = 0x7dba9;\n        FUN_0007d0ea();\n        ((int *)pppuVar13)[1] = ((int *)pppuVar13)[0xe];\n        goto LAB_0007dbb1;\n      }" { (if_statement "if (bVar2) {\n          ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n        }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n          ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n        }" { (expression_statement "((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];" (assignment_expression "((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1]" (subscript_expression "((int *)pppuVar13)[0xe]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (subscript_expression "((int *)pppuVar13)[1]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ;) })) (expression_statement "((int *)pppuVar13)[-1] = 0x7dba9;" (assignment_expression "((int *)pppuVar13)[-1] = 0x7dba9" (subscript_expression "((int *)pppuVar13)[-1]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "FUN_0007d0ea();" (call_expression "FUN_0007d0ea()" identifier (argument_list "()" ( ))) ;) (expression_statement "((int *)pppuVar13)[1] = ((int *)pppuVar13)[0xe];" (assignment_expression "((int *)pppuVar13)[1] = ((int *)pppuVar13)[0xe]" (subscript_expression "((int *)pppuVar13)[1]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (subscript_expression "((int *)pppuVar13)[0xe]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ;) (goto_statement "goto LAB_0007dbb1;" goto statement_identifier ;) })) (expression_statement "((int *)pppuVar13)[1] = ((int *)pppuVar13)[1] + 1;" (assignment_expression "((int *)pppuVar13)[1] = ((int *)pppuVar13)[1] + 1" (subscript_expression "((int *)pppuVar13)[1]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (binary_expression "((int *)pppuVar13)[1] + 1" (subscript_expression "((int *)pppuVar13)[1]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) + number_literal)) ;) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) }) while (parenthesized_expression "((uint)((int *)pppuVar13)[1] < (uint)((int *)pppuVar13)[0xf])" ( (binary_expression "(uint)((int *)pppuVar13)[1] < (uint)((int *)pppuVar13)[0xf]" (subscript_expression "(uint)((int *)pppuVar13)[1]" (call_expression "(uint)((int *)pppuVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) [ number_literal ]) < (subscript_expression "(uint)((int *)pppuVar13)[0xf]" (call_expression "(uint)((int *)pppuVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) [ number_literal ])) )) ;) (expression_statement "((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];" (assignment_expression "((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1]" (subscript_expression "((int *)pppuVar13)[0xe]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (subscript_expression "((int *)pppuVar13)[1]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ;) })) (labeled_statement "LAB_0007dbb1:\n  ((int *)pppuVar13)[8] = ((int *)pppuVar13)[0x11];" statement_identifier : (expression_statement "((int *)pppuVar13)[8] = ((int *)pppuVar13)[0x11];" (assignment_expression "((int *)pppuVar13)[8] = ((int *)pppuVar13)[0x11]" (subscript_expression "((int *)pppuVar13)[8]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (subscript_expression "((int *)pppuVar13)[0x11]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ;)) (expression_statement "__ptr[4] = ((int *)pppuVar13)[1];" (assignment_expression "__ptr[4] = ((int *)pppuVar13)[1]" (subscript_expression "__ptr[4]" identifier [ number_literal ]) = (subscript_expression "((int *)pppuVar13)[1]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ;) (expression_statement "uVar7 = *__ptr;" (assignment_expression "uVar7 = *__ptr" identifier = (pointer_expression "*__ptr" * identifier)) ;) (expression_statement "((int *)pppuVar13)[0xb] = (int)(__ptr + 0x15);" (assignment_expression "((int *)pppuVar13)[0xb] = (int)(__ptr + 0x15)" (subscript_expression "((int *)pppuVar13)[0xb]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)(__ptr + 0x15)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(__ptr + 0x15)" ( (binary_expression "__ptr + 0x15" identifier + number_literal) )))) ;) (do_statement "do {\n  } while (9 < uVar7);" do (compound_statement "{\n  }" { }) while (parenthesized_expression "(9 < uVar7)" ( (binary_expression "9 < uVar7" number_literal < identifier) )) ;) (labeled_statement "LAB_0007dbcf:\n  piVar14 = (int *)pppuVar13;" statement_identifier : (expression_statement "piVar14 = (int *)pppuVar13;" (assignment_expression "piVar14 = (int *)pppuVar13" identifier = (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (switch_statement "switch(*(int *)((int)*pppuVar13 + -0x154d0 + uVar7 * 4) + (int)*pppuVar13) {\n  case 0x7dc1f:\n    goto switchD_0007dbdb_caseD_7dc1f;\n  case 0x7dc7d:\n    goto switchD_0007dbdb_caseD_7dc7d;\n  case 0x7dcd4:\n    goto switchD_0007dbdb_caseD_7dcd4;\n  case 0x7dd72:\n    goto switchD_0007dbdb_caseD_7dd72;\n  case 0x7dfc9:\n    ((int *)pppuVar13)[-1] = 0x7dfd4;\n    cVar3 = FUN_0007d93a();\n    if (cVar3 == '\0') goto LAB_0007dd81;\n    *__ptr = 1;\n    if ((__ptr[0x26] != 0x587a37fd) || ((short)__ptr[0x27] != 0x5a)) {\n      iVar5 = ((int *)pppuVar13)[0x11];\n      iVar8 = 5;\n      goto LAB_0007df05;\n    }\n    ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n    ((int *)pppuVar13)[-5] = 0x7e023;\n    uVar7 = FUN_000a62f1();\n    piVar14 = (int *)pppuVar13 + -1;\n    piVar15 = (int *)pppuVar13 + -1;\n    if (~uVar7 != __ptr[0x28]) goto LAB_0007defc;\n    piVar15 = (int *)pppuVar13 + -1;\n    if (*(char *)((int)__ptr + 0x9e) == '\0') {\n      uVar7 = (uint)*(byte *)((int)__ptr + 0x9f);\n      __ptr[7] = uVar7;\n      piVar15 = (int *)pppuVar13 + -1;\n      if (uVar7 < 0x10) {\n        if (uVar7 < 2) goto switchD_0007dbdb_caseD_7e05d;\n        iVar5 = ((int *)pppuVar13)[0x10];\n        iVar8 = 2;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n        goto LAB_0007df05;\n      }\n    }\n    break;\n  case 0x7e05d:\nswitchD_0007dbdb_caseD_7e05d:\n    uVar10 = *(uint *)((int)piVar14 + 0x38);\n    uVar7 = *(uint *)((int)piVar14 + 0x3c);\n    pppuVar13 = (undefined ***)piVar14;\n    if (uVar10 == uVar7) goto LAB_0007dd85;\n    if (*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) != 0) {\n      uVar7 = (uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) * 4 + 4;\n      __ptr[0xe] = uVar7;\n      __ptr[0x25] = uVar7;\n      __ptr[0x24] = 0;\n      *__ptr = 2;\n      goto switchD_0007dbdb_caseD_7e09e;\n    }\n    *(uint *)((int)piVar14 + 0x38) = uVar10 + 1;\n    __ptr[4] = uVar10;\n    *__ptr = 6;\n    uVar7 = 6;\n    goto LAB_0007dbcf;\n  case 0x7e09e:\nswitchD_0007dbdb_caseD_7e09e:\n    piVar14[-1] = 0x7e0a9;\n    cVar3 = FUN_0007d93a();\n    pppuVar13 = (undefined ***)piVar14;\n    if (cVar3 == '\0') goto LAB_0007dd81;\n    __ptr[0x25] = __ptr[0x25] - 4;\n    piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n    piVar14[-5] = 0x7e0df;\n    uVar10 = FUN_000a62f1();\n    uVar7 = __ptr[0x25];\n    pppuVar13 = (undefined ***)(piVar14 + -1);\n    piVar16 = piVar14 + -1;\n    piVar15 = piVar14 + -1;\n    if (~uVar10 != *(uint *)((int)__ptr + uVar7 + 0x98)) goto LAB_0007defc;\n    __ptr[0x24] = 2;\n    bVar19 = *(byte *)((int)__ptr + 0x99);\n    piVar15 = piVar14 + -1;\n    if ((bVar19 & 0x3f) == 0) {\n      if ((bVar19 & 0x40) == 0) {\n        __ptr[10] = 0xffffffff;\n        __ptr[0xb] = 0xffffffff;\n        if (-1 < (char)bVar19) goto LAB_0007e129;\nLAB_0007e572:\n        *(uint *)((int)piVar16 + -0x10) = uVar7;\n        *(undefined4 *)((int)piVar16 + -0x14) = 0x7e585;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)((int)piVar16 + -4);\n        piVar15 = (int *)((int)piVar16 + -4);\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[0xc] = __ptr[2];\n        __ptr[0xd] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      else {\n        piVar14[-5] = uVar7;\n        piVar14[-6] = 0x7e5cc;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)(piVar14 + -2);\n        piVar16 = piVar14 + -2;\n        piVar15 = piVar14 + -2;\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[10] = __ptr[2];\n        __ptr[0xb] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        if (*(char *)((int)__ptr + 0x99) < '\0') goto LAB_0007e572;\nLAB_0007e129:\n        __ptr[0xc] = 0xffffffff;\n        __ptr[0xd] = 0xffffffff;\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      piVar15 = (int *)pppuVar13;\n      if (uVar9 < 2) goto LAB_0007defc;\n      __ptr[0x24] = uVar10 + 1;\n      if (*(char *)((int)__ptr + uVar10 + 0x98) == '!') {\n        __ptr[0x24] = uVar10 + 2;\n        if (*(char *)((int)__ptr + uVar10 + 0x99) == '\x01') {\n          if (uVar10 + 2 == uVar7) goto LAB_0007defc;\n          uVar9 = uVar10 + 3;\n          __ptr[0x24] = uVar9;\n          bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);\n          if (bVar19 < 0x28) {\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }\n        }\n      }\n    }\n    break;\n  case 0x7e21b:\nswitchD_0007dbdb_caseD_7e21b:\n    __ptr[4] = ((int *)pppuVar13)[0xe];\n    __ptr[5] = ((int *)pppuVar13)[0x11];\n    ((int *)pppuVar13)[-1] = 0x7e238;\n    iVar8 = FUN_0007d17c();\n    ((int *)pppuVar13)[7] = iVar8;\n    uVar9 = (((int *)pppuVar13)[0xe] - __ptr[4]) + __ptr[0xf];\n    uVar18 = __ptr[0x10] + (uint)CARRY4(((int *)pppuVar13)[0xe] - __ptr[4],__ptr[0xf]);\n    __ptr[0xf] = uVar9;\n    __ptr[0x10] = uVar18;\n    iVar5 = ((int *)pppuVar13)[0x11];\n    uVar7 = __ptr[5];\n    ((int *)pppuVar13)[9] = uVar7;\n    uVar7 = iVar5 - uVar7;\n    ((int *)pppuVar13)[10] = uVar7;\n    uVar10 = uVar7 + __ptr[0x11];\n    uVar7 = __ptr[0x12] + (uint)CARRY4(uVar7,__ptr[0x11]);\n    __ptr[0x11] = uVar10;\n    __ptr[0x12] = uVar7;\n    if ((uVar18 <= __ptr[0xb] && (uint)(__ptr[10] < uVar9) <= __ptr[0xb] - uVar18) &&\n       (uVar7 <= __ptr[0xd] && (uint)(__ptr[0xc] < uVar10) <= __ptr[0xd] - uVar7)) {\n      if (__ptr[7] == 1) {\n        ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n        ((int *)pppuVar13)[-5] = 0x7e2b9;\n        uVar7 = FUN_000a62f1();\n        __ptr[6] = ~uVar7;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n      }\n      if (((int *)pppuVar13)[7] == 1) {\n        piVar15 = (int *)pppuVar13;\n        if (((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||\n           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])) {\n          uVar7 = __ptr[0x11];\n          if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }\n        }\n        goto LAB_0007defc;\n      }\n      iVar8 = ((int *)pppuVar13)[7];\n      goto LAB_0007dfbc;\n    }\n    iVar8 = 7;\n    goto LAB_0007df05;\n  case 0x7e360:\nswitchD_0007dbdb_caseD_7e360:\n    uVar10 = __ptr[0xf];\n    uVar9 = __ptr[0x10];\n    if ((uVar10 & 3) != 0) {\n      uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n      uVar7 = *(uint *)((int)pppuVar13 + 0x3c);\n      if (uVar18 == uVar7) goto LAB_0007dd85;\n      iVar8 = *(int *)((int)pppuVar13 + 0x34);\n      *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n      piVar15 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      uVar9 = uVar9 + (0xfffffffe < uVar10);\n      while( true ) {\n        uVar10 = uVar10 + 1;\n        __ptr[0xf] = uVar10;\n        __ptr[0x10] = uVar9;\n        if ((uVar10 & 3) == 0) break;\n        uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n        uVar9 = uVar9 + (0xfffffffe < uVar10);\n        if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      }\n    }\n    *__ptr = 5;\n    piVar14 = (int *)pppuVar13;\nswitchD_0007dbdb_caseD_7e3b0:\n    pppuVar13 = (undefined ***)piVar14;\n    if (__ptr[7] == 1) {\n      uVar10 = piVar14[0xf];\n      iVar8 = piVar14[0xd];\n      uVar7 = piVar14[0xe];\n      do {\n        if (uVar10 == uVar7) goto LAB_0007dd85;\n        uVar9 = __ptr[1];\n        uVar18 = __ptr[6];\n        uVar7 = uVar7 + 1;\n        piVar14[0xe] = uVar7;\n        if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))\n        goto LAB_0007dcff;\n        uVar9 = uVar9 + 8;\n        __ptr[1] = uVar9;\n      } while (uVar9 < 0x20);\n      __ptr[6] = 0;\n      __ptr[1] = 0;\n    }\n    else {\n      uVar10 = __ptr[1];\n      uVar9 = (uint)*(byte *)(*piVar14 + -0x154a8 + __ptr[7]);\n      if (uVar10 < uVar9) {\n        uVar18 = piVar14[0xe];\n        uVar7 = piVar14[0xf];\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        uVar11 = uVar18;\n        while( true ) {\n          uVar11 = uVar11 + 1;\n          if (uVar11 == (uVar18 - uVar10) + uVar9) break;\n          if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }\n        }\n        piVar14[0xe] = uVar11;\n      }\n      __ptr[1] = 0;\n    }\n    *__ptr = 1;\n    uVar7 = 1;\n    goto LAB_0007dbcf;\n  case 0x7e3b0:\n    goto switchD_0007dbdb_caseD_7e3b0;\n  }" switch (parenthesized_expression "(*(int *)((int)*pppuVar13 + -0x154d0 + uVar7 * 4) + (int)*pppuVar13)" ( (binary_expression "*(int *)((int)*pppuVar13 + -0x154d0 + uVar7 * 4) + (int)*pppuVar13" (pointer_expression "*(int *)((int)*pppuVar13 + -0x154d0 + uVar7 * 4)" * (cast_expression "(int *)((int)*pppuVar13 + -0x154d0 + uVar7 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*pppuVar13 + -0x154d0 + uVar7 * 4)" ( (binary_expression "(int)*pppuVar13 + -0x154d0 + uVar7 * 4" (binary_expression "(int)*pppuVar13 + -0x154d0" (cast_expression "(int)*pppuVar13" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppuVar13" * identifier)) + number_literal) + (binary_expression "uVar7 * 4" identifier * number_literal)) )))) + (cast_expression "(int)*pppuVar13" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppuVar13" * identifier))) )) (compound_statement "{\n  case 0x7dc1f:\n    goto switchD_0007dbdb_caseD_7dc1f;\n  case 0x7dc7d:\n    goto switchD_0007dbdb_caseD_7dc7d;\n  case 0x7dcd4:\n    goto switchD_0007dbdb_caseD_7dcd4;\n  case 0x7dd72:\n    goto switchD_0007dbdb_caseD_7dd72;\n  case 0x7dfc9:\n    ((int *)pppuVar13)[-1] = 0x7dfd4;\n    cVar3 = FUN_0007d93a();\n    if (cVar3 == '\0') goto LAB_0007dd81;\n    *__ptr = 1;\n    if ((__ptr[0x26] != 0x587a37fd) || ((short)__ptr[0x27] != 0x5a)) {\n      iVar5 = ((int *)pppuVar13)[0x11];\n      iVar8 = 5;\n      goto LAB_0007df05;\n    }\n    ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n    ((int *)pppuVar13)[-5] = 0x7e023;\n    uVar7 = FUN_000a62f1();\n    piVar14 = (int *)pppuVar13 + -1;\n    piVar15 = (int *)pppuVar13 + -1;\n    if (~uVar7 != __ptr[0x28]) goto LAB_0007defc;\n    piVar15 = (int *)pppuVar13 + -1;\n    if (*(char *)((int)__ptr + 0x9e) == '\0') {\n      uVar7 = (uint)*(byte *)((int)__ptr + 0x9f);\n      __ptr[7] = uVar7;\n      piVar15 = (int *)pppuVar13 + -1;\n      if (uVar7 < 0x10) {\n        if (uVar7 < 2) goto switchD_0007dbdb_caseD_7e05d;\n        iVar5 = ((int *)pppuVar13)[0x10];\n        iVar8 = 2;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n        goto LAB_0007df05;\n      }\n    }\n    break;\n  case 0x7e05d:\nswitchD_0007dbdb_caseD_7e05d:\n    uVar10 = *(uint *)((int)piVar14 + 0x38);\n    uVar7 = *(uint *)((int)piVar14 + 0x3c);\n    pppuVar13 = (undefined ***)piVar14;\n    if (uVar10 == uVar7) goto LAB_0007dd85;\n    if (*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) != 0) {\n      uVar7 = (uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) * 4 + 4;\n      __ptr[0xe] = uVar7;\n      __ptr[0x25] = uVar7;\n      __ptr[0x24] = 0;\n      *__ptr = 2;\n      goto switchD_0007dbdb_caseD_7e09e;\n    }\n    *(uint *)((int)piVar14 + 0x38) = uVar10 + 1;\n    __ptr[4] = uVar10;\n    *__ptr = 6;\n    uVar7 = 6;\n    goto LAB_0007dbcf;\n  case 0x7e09e:\nswitchD_0007dbdb_caseD_7e09e:\n    piVar14[-1] = 0x7e0a9;\n    cVar3 = FUN_0007d93a();\n    pppuVar13 = (undefined ***)piVar14;\n    if (cVar3 == '\0') goto LAB_0007dd81;\n    __ptr[0x25] = __ptr[0x25] - 4;\n    piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n    piVar14[-5] = 0x7e0df;\n    uVar10 = FUN_000a62f1();\n    uVar7 = __ptr[0x25];\n    pppuVar13 = (undefined ***)(piVar14 + -1);\n    piVar16 = piVar14 + -1;\n    piVar15 = piVar14 + -1;\n    if (~uVar10 != *(uint *)((int)__ptr + uVar7 + 0x98)) goto LAB_0007defc;\n    __ptr[0x24] = 2;\n    bVar19 = *(byte *)((int)__ptr + 0x99);\n    piVar15 = piVar14 + -1;\n    if ((bVar19 & 0x3f) == 0) {\n      if ((bVar19 & 0x40) == 0) {\n        __ptr[10] = 0xffffffff;\n        __ptr[0xb] = 0xffffffff;\n        if (-1 < (char)bVar19) goto LAB_0007e129;\nLAB_0007e572:\n        *(uint *)((int)piVar16 + -0x10) = uVar7;\n        *(undefined4 *)((int)piVar16 + -0x14) = 0x7e585;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)((int)piVar16 + -4);\n        piVar15 = (int *)((int)piVar16 + -4);\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[0xc] = __ptr[2];\n        __ptr[0xd] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      else {\n        piVar14[-5] = uVar7;\n        piVar14[-6] = 0x7e5cc;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)(piVar14 + -2);\n        piVar16 = piVar14 + -2;\n        piVar15 = piVar14 + -2;\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[10] = __ptr[2];\n        __ptr[0xb] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        if (*(char *)((int)__ptr + 0x99) < '\0') goto LAB_0007e572;\nLAB_0007e129:\n        __ptr[0xc] = 0xffffffff;\n        __ptr[0xd] = 0xffffffff;\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      piVar15 = (int *)pppuVar13;\n      if (uVar9 < 2) goto LAB_0007defc;\n      __ptr[0x24] = uVar10 + 1;\n      if (*(char *)((int)__ptr + uVar10 + 0x98) == '!') {\n        __ptr[0x24] = uVar10 + 2;\n        if (*(char *)((int)__ptr + uVar10 + 0x99) == '\x01') {\n          if (uVar10 + 2 == uVar7) goto LAB_0007defc;\n          uVar9 = uVar10 + 3;\n          __ptr[0x24] = uVar9;\n          bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);\n          if (bVar19 < 0x28) {\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }\n        }\n      }\n    }\n    break;\n  case 0x7e21b:\nswitchD_0007dbdb_caseD_7e21b:\n    __ptr[4] = ((int *)pppuVar13)[0xe];\n    __ptr[5] = ((int *)pppuVar13)[0x11];\n    ((int *)pppuVar13)[-1] = 0x7e238;\n    iVar8 = FUN_0007d17c();\n    ((int *)pppuVar13)[7] = iVar8;\n    uVar9 = (((int *)pppuVar13)[0xe] - __ptr[4]) + __ptr[0xf];\n    uVar18 = __ptr[0x10] + (uint)CARRY4(((int *)pppuVar13)[0xe] - __ptr[4],__ptr[0xf]);\n    __ptr[0xf] = uVar9;\n    __ptr[0x10] = uVar18;\n    iVar5 = ((int *)pppuVar13)[0x11];\n    uVar7 = __ptr[5];\n    ((int *)pppuVar13)[9] = uVar7;\n    uVar7 = iVar5 - uVar7;\n    ((int *)pppuVar13)[10] = uVar7;\n    uVar10 = uVar7 + __ptr[0x11];\n    uVar7 = __ptr[0x12] + (uint)CARRY4(uVar7,__ptr[0x11]);\n    __ptr[0x11] = uVar10;\n    __ptr[0x12] = uVar7;\n    if ((uVar18 <= __ptr[0xb] && (uint)(__ptr[10] < uVar9) <= __ptr[0xb] - uVar18) &&\n       (uVar7 <= __ptr[0xd] && (uint)(__ptr[0xc] < uVar10) <= __ptr[0xd] - uVar7)) {\n      if (__ptr[7] == 1) {\n        ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n        ((int *)pppuVar13)[-5] = 0x7e2b9;\n        uVar7 = FUN_000a62f1();\n        __ptr[6] = ~uVar7;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n      }\n      if (((int *)pppuVar13)[7] == 1) {\n        piVar15 = (int *)pppuVar13;\n        if (((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||\n           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])) {\n          uVar7 = __ptr[0x11];\n          if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }\n        }\n        goto LAB_0007defc;\n      }\n      iVar8 = ((int *)pppuVar13)[7];\n      goto LAB_0007dfbc;\n    }\n    iVar8 = 7;\n    goto LAB_0007df05;\n  case 0x7e360:\nswitchD_0007dbdb_caseD_7e360:\n    uVar10 = __ptr[0xf];\n    uVar9 = __ptr[0x10];\n    if ((uVar10 & 3) != 0) {\n      uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n      uVar7 = *(uint *)((int)pppuVar13 + 0x3c);\n      if (uVar18 == uVar7) goto LAB_0007dd85;\n      iVar8 = *(int *)((int)pppuVar13 + 0x34);\n      *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n      piVar15 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      uVar9 = uVar9 + (0xfffffffe < uVar10);\n      while( true ) {\n        uVar10 = uVar10 + 1;\n        __ptr[0xf] = uVar10;\n        __ptr[0x10] = uVar9;\n        if ((uVar10 & 3) == 0) break;\n        uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n        uVar9 = uVar9 + (0xfffffffe < uVar10);\n        if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      }\n    }\n    *__ptr = 5;\n    piVar14 = (int *)pppuVar13;\nswitchD_0007dbdb_caseD_7e3b0:\n    pppuVar13 = (undefined ***)piVar14;\n    if (__ptr[7] == 1) {\n      uVar10 = piVar14[0xf];\n      iVar8 = piVar14[0xd];\n      uVar7 = piVar14[0xe];\n      do {\n        if (uVar10 == uVar7) goto LAB_0007dd85;\n        uVar9 = __ptr[1];\n        uVar18 = __ptr[6];\n        uVar7 = uVar7 + 1;\n        piVar14[0xe] = uVar7;\n        if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))\n        goto LAB_0007dcff;\n        uVar9 = uVar9 + 8;\n        __ptr[1] = uVar9;\n      } while (uVar9 < 0x20);\n      __ptr[6] = 0;\n      __ptr[1] = 0;\n    }\n    else {\n      uVar10 = __ptr[1];\n      uVar9 = (uint)*(byte *)(*piVar14 + -0x154a8 + __ptr[7]);\n      if (uVar10 < uVar9) {\n        uVar18 = piVar14[0xe];\n        uVar7 = piVar14[0xf];\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        uVar11 = uVar18;\n        while( true ) {\n          uVar11 = uVar11 + 1;\n          if (uVar11 == (uVar18 - uVar10) + uVar9) break;\n          if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }\n        }\n        piVar14[0xe] = uVar11;\n      }\n      __ptr[1] = 0;\n    }\n    *__ptr = 1;\n    uVar7 = 1;\n    goto LAB_0007dbcf;\n  case 0x7e3b0:\n    goto switchD_0007dbdb_caseD_7e3b0;\n  }" { (case_statement "case 0x7dc1f:\n    goto switchD_0007dbdb_caseD_7dc1f;" case number_literal : (goto_statement "goto switchD_0007dbdb_caseD_7dc1f;" goto statement_identifier ;)) (case_statement "case 0x7dc7d:\n    goto switchD_0007dbdb_caseD_7dc7d;" case number_literal : (goto_statement "goto switchD_0007dbdb_caseD_7dc7d;" goto statement_identifier ;)) (case_statement "case 0x7dcd4:\n    goto switchD_0007dbdb_caseD_7dcd4;" case number_literal : (goto_statement "goto switchD_0007dbdb_caseD_7dcd4;" goto statement_identifier ;)) (case_statement "case 0x7dd72:\n    goto switchD_0007dbdb_caseD_7dd72;" case number_literal : (goto_statement "goto switchD_0007dbdb_caseD_7dd72;" goto statement_identifier ;)) (case_statement "case 0x7dfc9:\n    ((int *)pppuVar13)[-1] = 0x7dfd4;\n    cVar3 = FUN_0007d93a();\n    if (cVar3 == '\0') goto LAB_0007dd81;\n    *__ptr = 1;\n    if ((__ptr[0x26] != 0x587a37fd) || ((short)__ptr[0x27] != 0x5a)) {\n      iVar5 = ((int *)pppuVar13)[0x11];\n      iVar8 = 5;\n      goto LAB_0007df05;\n    }\n    ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n    ((int *)pppuVar13)[-5] = 0x7e023;\n    uVar7 = FUN_000a62f1();\n    piVar14 = (int *)pppuVar13 + -1;\n    piVar15 = (int *)pppuVar13 + -1;\n    if (~uVar7 != __ptr[0x28]) goto LAB_0007defc;\n    piVar15 = (int *)pppuVar13 + -1;\n    if (*(char *)((int)__ptr + 0x9e) == '\0') {\n      uVar7 = (uint)*(byte *)((int)__ptr + 0x9f);\n      __ptr[7] = uVar7;\n      piVar15 = (int *)pppuVar13 + -1;\n      if (uVar7 < 0x10) {\n        if (uVar7 < 2) goto switchD_0007dbdb_caseD_7e05d;\n        iVar5 = ((int *)pppuVar13)[0x10];\n        iVar8 = 2;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n        goto LAB_0007df05;\n      }\n    }\n    break;" case number_literal : (expression_statement "((int *)pppuVar13)[-1] = 0x7dfd4;" (assignment_expression "((int *)pppuVar13)[-1] = 0x7dfd4" (subscript_expression "((int *)pppuVar13)[-1]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "cVar3 = FUN_0007d93a();" (assignment_expression "cVar3 = FUN_0007d93a()" identifier = (call_expression "FUN_0007d93a()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar3 == '\0') goto LAB_0007dd81;" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0007dd81;" goto statement_identifier ;)) (expression_statement "*__ptr = 1;" (assignment_expression "*__ptr = 1" (pointer_expression "*__ptr" * identifier) = number_literal) ;) (if_statement "if ((__ptr[0x26] != 0x587a37fd) || ((short)__ptr[0x27] != 0x5a)) {\n      iVar5 = ((int *)pppuVar13)[0x11];\n      iVar8 = 5;\n      goto LAB_0007df05;\n    }" if (parenthesized_expression "((__ptr[0x26] != 0x587a37fd) || ((short)__ptr[0x27] != 0x5a))" ( (binary_expression "(__ptr[0x26] != 0x587a37fd) || ((short)__ptr[0x27] != 0x5a)" (parenthesized_expression "(__ptr[0x26] != 0x587a37fd)" ( (binary_expression "__ptr[0x26] != 0x587a37fd" (subscript_expression "__ptr[0x26]" identifier [ number_literal ]) != number_literal) )) || (parenthesized_expression "((short)__ptr[0x27] != 0x5a)" ( (binary_expression "(short)__ptr[0x27] != 0x5a" (cast_expression "(short)__ptr[0x27]" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (subscript_expression "__ptr[0x27]" identifier [ number_literal ])) != number_literal) ))) )) (compound_statement "{\n      iVar5 = ((int *)pppuVar13)[0x11];\n      iVar8 = 5;\n      goto LAB_0007df05;\n    }" { (expression_statement "iVar5 = ((int *)pppuVar13)[0x11];" (assignment_expression "iVar5 = ((int *)pppuVar13)[0x11]" identifier = (subscript_expression "((int *)pppuVar13)[0x11]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ;) (expression_statement "iVar8 = 5;" (assignment_expression "iVar8 = 5" identifier = number_literal) ;) (goto_statement "goto LAB_0007df05;" goto statement_identifier ;) })) (expression_statement "((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);" (assignment_expression "((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8)" (subscript_expression "((int *)pppuVar13)[-4]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (pointer_expression "*(undefined4 *)((int)*pppuVar13 + 0xcf8)" * (cast_expression "(undefined4 *)((int)*pppuVar13 + 0xcf8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*pppuVar13 + 0xcf8)" ( (binary_expression "(int)*pppuVar13 + 0xcf8" (cast_expression "(int)*pppuVar13" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppuVar13" * identifier)) + number_literal) ))))) ;) (expression_statement "((int *)pppuVar13)[-5] = 0x7e023;" (assignment_expression "((int *)pppuVar13)[-5] = 0x7e023" (subscript_expression "((int *)pppuVar13)[-5]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "uVar7 = FUN_000a62f1();" (assignment_expression "uVar7 = FUN_000a62f1()" identifier = (call_expression "FUN_000a62f1()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar14 = (int *)pppuVar13 + -1;" (assignment_expression "piVar14 = (int *)pppuVar13 + -1" identifier = (binary_expression "(int *)pppuVar13 + -1" (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal)) ;) (expression_statement "piVar15 = (int *)pppuVar13 + -1;" (assignment_expression "piVar15 = (int *)pppuVar13 + -1" identifier = (binary_expression "(int *)pppuVar13 + -1" (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal)) ;) (if_statement "if (~uVar7 != __ptr[0x28]) goto LAB_0007defc;" if (parenthesized_expression "(~uVar7 != __ptr[0x28])" ( (binary_expression "~uVar7 != __ptr[0x28]" (unary_expression "~uVar7" ~ identifier) != (subscript_expression "__ptr[0x28]" identifier [ number_literal ])) )) (goto_statement "goto LAB_0007defc;" goto statement_identifier ;)) (expression_statement "piVar15 = (int *)pppuVar13 + -1;" (assignment_expression "piVar15 = (int *)pppuVar13 + -1" identifier = (binary_expression "(int *)pppuVar13 + -1" (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal)) ;) (if_statement "if (*(char *)((int)__ptr + 0x9e) == '\0') {\n      uVar7 = (uint)*(byte *)((int)__ptr + 0x9f);\n      __ptr[7] = uVar7;\n      piVar15 = (int *)pppuVar13 + -1;\n      if (uVar7 < 0x10) {\n        if (uVar7 < 2) goto switchD_0007dbdb_caseD_7e05d;\n        iVar5 = ((int *)pppuVar13)[0x10];\n        iVar8 = 2;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n        goto LAB_0007df05;\n      }\n    }" if (parenthesized_expression "(*(char *)((int)__ptr + 0x9e) == '\0')" ( (binary_expression "*(char *)((int)__ptr + 0x9e) == '\0'" (pointer_expression "*(char *)((int)__ptr + 0x9e)" * (cast_expression "(char *)((int)__ptr + 0x9e)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr + 0x9e)" ( (binary_expression "(int)__ptr + 0x9e" (cast_expression "(int)__ptr" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      uVar7 = (uint)*(byte *)((int)__ptr + 0x9f);\n      __ptr[7] = uVar7;\n      piVar15 = (int *)pppuVar13 + -1;\n      if (uVar7 < 0x10) {\n        if (uVar7 < 2) goto switchD_0007dbdb_caseD_7e05d;\n        iVar5 = ((int *)pppuVar13)[0x10];\n        iVar8 = 2;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n        goto LAB_0007df05;\n      }\n    }" { (expression_statement "uVar7 = (uint)*(byte *)((int)__ptr + 0x9f);" (assignment_expression "uVar7 = (uint)*(byte *)((int)__ptr + 0x9f)" identifier = (binary_expression "(uint)*(byte *)((int)__ptr + 0x9f)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)__ptr + 0x9f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr + 0x9f)" ( (binary_expression "(int)__ptr + 0x9f" (cast_expression "(int)__ptr" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "__ptr[7] = uVar7;" (assignment_expression "__ptr[7] = uVar7" (subscript_expression "__ptr[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar15 = (int *)pppuVar13 + -1;" (assignment_expression "piVar15 = (int *)pppuVar13 + -1" identifier = (binary_expression "(int *)pppuVar13 + -1" (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal)) ;) (if_statement "if (uVar7 < 0x10) {\n        if (uVar7 < 2) goto switchD_0007dbdb_caseD_7e05d;\n        iVar5 = ((int *)pppuVar13)[0x10];\n        iVar8 = 2;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n        goto LAB_0007df05;\n      }" if (parenthesized_expression "(uVar7 < 0x10)" ( (binary_expression "uVar7 < 0x10" identifier < number_literal) )) (compound_statement "{\n        if (uVar7 < 2) goto switchD_0007dbdb_caseD_7e05d;\n        iVar5 = ((int *)pppuVar13)[0x10];\n        iVar8 = 2;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n        goto LAB_0007df05;\n      }" { (if_statement "if (uVar7 < 2) goto switchD_0007dbdb_caseD_7e05d;" if (parenthesized_expression "(uVar7 < 2)" ( (binary_expression "uVar7 < 2" identifier < number_literal) )) (goto_statement "goto switchD_0007dbdb_caseD_7e05d;" goto statement_identifier ;)) (expression_statement "iVar5 = ((int *)pppuVar13)[0x10];" (assignment_expression "iVar5 = ((int *)pppuVar13)[0x10]" identifier = (subscript_expression "((int *)pppuVar13)[0x10]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ;) (expression_statement "iVar8 = 2;" (assignment_expression "iVar8 = 2" identifier = number_literal) ;) (expression_statement "pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);" (assignment_expression "pppuVar13 = (undefined ***)((int *)pppuVar13 + -1)" identifier = (cast_expression "(undefined ***)((int *)pppuVar13 + -1)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int *)pppuVar13 + -1)" ( (binary_expression "(int *)pppuVar13 + -1" (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (goto_statement "goto LAB_0007df05;" goto statement_identifier ;) })) })) (break_statement "break;" break ;)) (case_statement "case 0x7e05d:\nswitchD_0007dbdb_caseD_7e05d:\n    uVar10 = *(uint *)((int)piVar14 + 0x38);\n    uVar7 = *(uint *)((int)piVar14 + 0x3c);\n    pppuVar13 = (undefined ***)piVar14;\n    if (uVar10 == uVar7) goto LAB_0007dd85;\n    if (*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) != 0) {\n      uVar7 = (uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) * 4 + 4;\n      __ptr[0xe] = uVar7;\n      __ptr[0x25] = uVar7;\n      __ptr[0x24] = 0;\n      *__ptr = 2;\n      goto switchD_0007dbdb_caseD_7e09e;\n    }\n    *(uint *)((int)piVar14 + 0x38) = uVar10 + 1;\n    __ptr[4] = uVar10;\n    *__ptr = 6;\n    uVar7 = 6;\n    goto LAB_0007dbcf;" case number_literal : (labeled_statement "switchD_0007dbdb_caseD_7e05d:\n    uVar10 = *(uint *)((int)piVar14 + 0x38);" statement_identifier : (expression_statement "uVar10 = *(uint *)((int)piVar14 + 0x38);" (assignment_expression "uVar10 = *(uint *)((int)piVar14 + 0x38)" identifier = (pointer_expression "*(uint *)((int)piVar14 + 0x38)" * (cast_expression "(uint *)((int)piVar14 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 0x38)" ( (binary_expression "(int)piVar14 + 0x38" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (expression_statement "uVar7 = *(uint *)((int)piVar14 + 0x3c);" (assignment_expression "uVar7 = *(uint *)((int)piVar14 + 0x3c)" identifier = (pointer_expression "*(uint *)((int)piVar14 + 0x3c)" * (cast_expression "(uint *)((int)piVar14 + 0x3c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 0x3c)" ( (binary_expression "(int)piVar14 + 0x3c" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "pppuVar13 = (undefined ***)piVar14;" (assignment_expression "pppuVar13 = (undefined ***)piVar14" identifier = (cast_expression "(undefined ***)piVar14" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (if_statement "if (uVar10 == uVar7) goto LAB_0007dd85;" if (parenthesized_expression "(uVar10 == uVar7)" ( (binary_expression "uVar10 == uVar7" identifier == identifier) )) (goto_statement "goto LAB_0007dd85;" goto statement_identifier ;)) (if_statement "if (*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) != 0) {\n      uVar7 = (uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) * 4 + 4;\n      __ptr[0xe] = uVar7;\n      __ptr[0x25] = uVar7;\n      __ptr[0x24] = 0;\n      *__ptr = 2;\n      goto switchD_0007dbdb_caseD_7e09e;\n    }" if (parenthesized_expression "(*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) != 0)" ( (binary_expression "*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) != 0" (pointer_expression "*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10)" * (cast_expression "(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)piVar14 + 0x34) + uVar10)" ( (binary_expression "*(int *)((int)piVar14 + 0x34) + uVar10" (pointer_expression "*(int *)((int)piVar14 + 0x34)" * (cast_expression "(int *)((int)piVar14 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 0x34)" ( (binary_expression "(int)piVar14 + 0x34" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + identifier) )))) != number_literal) )) (compound_statement "{\n      uVar7 = (uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) * 4 + 4;\n      __ptr[0xe] = uVar7;\n      __ptr[0x25] = uVar7;\n      __ptr[0x24] = 0;\n      *__ptr = 2;\n      goto switchD_0007dbdb_caseD_7e09e;\n    }" { (expression_statement "uVar7 = (uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) * 4 + 4;" (assignment_expression "uVar7 = (uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) * 4 + 4" identifier = (binary_expression "(uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) * 4 + 4" (binary_expression "(uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) * 4" (binary_expression "(uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)piVar14 + 0x34) + uVar10)" ( (binary_expression "*(int *)((int)piVar14 + 0x34) + uVar10" (pointer_expression "*(int *)((int)piVar14 + 0x34)" * (cast_expression "(int *)((int)piVar14 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 0x34)" ( (binary_expression "(int)piVar14 + 0x34" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + identifier) )))) * number_literal) + number_literal)) ;) (expression_statement "__ptr[0xe] = uVar7;" (assignment_expression "__ptr[0xe] = uVar7" (subscript_expression "__ptr[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__ptr[0x25] = uVar7;" (assignment_expression "__ptr[0x25] = uVar7" (subscript_expression "__ptr[0x25]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__ptr[0x24] = 0;" (assignment_expression "__ptr[0x24] = 0" (subscript_expression "__ptr[0x24]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*__ptr = 2;" (assignment_expression "*__ptr = 2" (pointer_expression "*__ptr" * identifier) = number_literal) ;) (goto_statement "goto switchD_0007dbdb_caseD_7e09e;" goto statement_identifier ;) })) (expression_statement "*(uint *)((int)piVar14 + 0x38) = uVar10 + 1;" (assignment_expression "*(uint *)((int)piVar14 + 0x38) = uVar10 + 1" (pointer_expression "*(uint *)((int)piVar14 + 0x38)" * (cast_expression "(uint *)((int)piVar14 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 0x38)" ( (binary_expression "(int)piVar14 + 0x38" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (expression_statement "__ptr[4] = uVar10;" (assignment_expression "__ptr[4] = uVar10" (subscript_expression "__ptr[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*__ptr = 6;" (assignment_expression "*__ptr = 6" (pointer_expression "*__ptr" * identifier) = number_literal) ;) (expression_statement "uVar7 = 6;" (assignment_expression "uVar7 = 6" identifier = number_literal) ;) (goto_statement "goto LAB_0007dbcf;" goto statement_identifier ;)) (case_statement "case 0x7e09e:\nswitchD_0007dbdb_caseD_7e09e:\n    piVar14[-1] = 0x7e0a9;\n    cVar3 = FUN_0007d93a();\n    pppuVar13 = (undefined ***)piVar14;\n    if (cVar3 == '\0') goto LAB_0007dd81;\n    __ptr[0x25] = __ptr[0x25] - 4;\n    piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n    piVar14[-5] = 0x7e0df;\n    uVar10 = FUN_000a62f1();\n    uVar7 = __ptr[0x25];\n    pppuVar13 = (undefined ***)(piVar14 + -1);\n    piVar16 = piVar14 + -1;\n    piVar15 = piVar14 + -1;\n    if (~uVar10 != *(uint *)((int)__ptr + uVar7 + 0x98)) goto LAB_0007defc;\n    __ptr[0x24] = 2;\n    bVar19 = *(byte *)((int)__ptr + 0x99);\n    piVar15 = piVar14 + -1;\n    if ((bVar19 & 0x3f) == 0) {\n      if ((bVar19 & 0x40) == 0) {\n        __ptr[10] = 0xffffffff;\n        __ptr[0xb] = 0xffffffff;\n        if (-1 < (char)bVar19) goto LAB_0007e129;\nLAB_0007e572:\n        *(uint *)((int)piVar16 + -0x10) = uVar7;\n        *(undefined4 *)((int)piVar16 + -0x14) = 0x7e585;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)((int)piVar16 + -4);\n        piVar15 = (int *)((int)piVar16 + -4);\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[0xc] = __ptr[2];\n        __ptr[0xd] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      else {\n        piVar14[-5] = uVar7;\n        piVar14[-6] = 0x7e5cc;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)(piVar14 + -2);\n        piVar16 = piVar14 + -2;\n        piVar15 = piVar14 + -2;\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[10] = __ptr[2];\n        __ptr[0xb] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        if (*(char *)((int)__ptr + 0x99) < '\0') goto LAB_0007e572;\nLAB_0007e129:\n        __ptr[0xc] = 0xffffffff;\n        __ptr[0xd] = 0xffffffff;\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      piVar15 = (int *)pppuVar13;\n      if (uVar9 < 2) goto LAB_0007defc;\n      __ptr[0x24] = uVar10 + 1;\n      if (*(char *)((int)__ptr + uVar10 + 0x98) == '!') {\n        __ptr[0x24] = uVar10 + 2;\n        if (*(char *)((int)__ptr + uVar10 + 0x99) == '\x01') {\n          if (uVar10 + 2 == uVar7) goto LAB_0007defc;\n          uVar9 = uVar10 + 3;\n          __ptr[0x24] = uVar9;\n          bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);\n          if (bVar19 < 0x28) {\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }\n        }\n      }\n    }\n    break;" case number_literal : (labeled_statement "switchD_0007dbdb_caseD_7e09e:\n    piVar14[-1] = 0x7e0a9;" statement_identifier : (expression_statement "piVar14[-1] = 0x7e0a9;" (assignment_expression "piVar14[-1] = 0x7e0a9" (subscript_expression "piVar14[-1]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "cVar3 = FUN_0007d93a();" (assignment_expression "cVar3 = FUN_0007d93a()" identifier = (call_expression "FUN_0007d93a()" identifier (argument_list "()" ( )))) ;) (expression_statement "pppuVar13 = (undefined ***)piVar14;" (assignment_expression "pppuVar13 = (undefined ***)piVar14" identifier = (cast_expression "(undefined ***)piVar14" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (if_statement "if (cVar3 == '\0') goto LAB_0007dd81;" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0007dd81;" goto statement_identifier ;)) (expression_statement "__ptr[0x25] = __ptr[0x25] - 4;" (assignment_expression "__ptr[0x25] = __ptr[0x25] - 4" (subscript_expression "__ptr[0x25]" identifier [ number_literal ]) = (binary_expression "__ptr[0x25] - 4" (subscript_expression "__ptr[0x25]" identifier [ number_literal ]) - number_literal)) ;) (expression_statement "piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);" (assignment_expression "piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8)" (subscript_expression "piVar14[-4]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(*piVar14 + 0xcf8)" * (cast_expression "(undefined4 *)(*piVar14 + 0xcf8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar14 + 0xcf8)" ( (binary_expression "*piVar14 + 0xcf8" (pointer_expression "*piVar14" * identifier) + number_literal) ))))) ;) (expression_statement "piVar14[-5] = 0x7e0df;" (assignment_expression "piVar14[-5] = 0x7e0df" (subscript_expression "piVar14[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar10 = FUN_000a62f1();" (assignment_expression "uVar10 = FUN_000a62f1()" identifier = (call_expression "FUN_000a62f1()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar7 = __ptr[0x25];" (assignment_expression "uVar7 = __ptr[0x25]" identifier = (subscript_expression "__ptr[0x25]" identifier [ number_literal ])) ;) (expression_statement "pppuVar13 = (undefined ***)(piVar14 + -1);" (assignment_expression "pppuVar13 = (undefined ***)(piVar14 + -1)" identifier = (cast_expression "(undefined ***)(piVar14 + -1)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(piVar14 + -1)" ( (binary_expression "piVar14 + -1" identifier + number_literal) )))) ;) (expression_statement "piVar16 = piVar14 + -1;" (assignment_expression "piVar16 = piVar14 + -1" identifier = (binary_expression "piVar14 + -1" identifier + number_literal)) ;) (expression_statement "piVar15 = piVar14 + -1;" (assignment_expression "piVar15 = piVar14 + -1" identifier = (binary_expression "piVar14 + -1" identifier + number_literal)) ;) (if_statement "if (~uVar10 != *(uint *)((int)__ptr + uVar7 + 0x98)) goto LAB_0007defc;" if (parenthesized_expression "(~uVar10 != *(uint *)((int)__ptr + uVar7 + 0x98))" ( (binary_expression "~uVar10 != *(uint *)((int)__ptr + uVar7 + 0x98)" (unary_expression "~uVar10" ~ identifier) != (pointer_expression "*(uint *)((int)__ptr + uVar7 + 0x98)" * (cast_expression "(uint *)((int)__ptr + uVar7 + 0x98)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr + uVar7 + 0x98)" ( (binary_expression "(int)__ptr + uVar7 + 0x98" (binary_expression "(int)__ptr + uVar7" (cast_expression "(int)__ptr" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))))) )) (goto_statement "goto LAB_0007defc;" goto statement_identifier ;)) (expression_statement "__ptr[0x24] = 2;" (assignment_expression "__ptr[0x24] = 2" (subscript_expression "__ptr[0x24]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "bVar19 = *(byte *)((int)__ptr + 0x99);" (assignment_expression "bVar19 = *(byte *)((int)__ptr + 0x99)" identifier = (pointer_expression "*(byte *)((int)__ptr + 0x99)" * (cast_expression "(byte *)((int)__ptr + 0x99)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr + 0x99)" ( (binary_expression "(int)__ptr + 0x99" (cast_expression "(int)__ptr" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "piVar15 = piVar14 + -1;" (assignment_expression "piVar15 = piVar14 + -1" identifier = (binary_expression "piVar14 + -1" identifier + number_literal)) ;) (if_statement "if ((bVar19 & 0x3f) == 0) {\n      if ((bVar19 & 0x40) == 0) {\n        __ptr[10] = 0xffffffff;\n        __ptr[0xb] = 0xffffffff;\n        if (-1 < (char)bVar19) goto LAB_0007e129;\nLAB_0007e572:\n        *(uint *)((int)piVar16 + -0x10) = uVar7;\n        *(undefined4 *)((int)piVar16 + -0x14) = 0x7e585;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)((int)piVar16 + -4);\n        piVar15 = (int *)((int)piVar16 + -4);\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[0xc] = __ptr[2];\n        __ptr[0xd] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      else {\n        piVar14[-5] = uVar7;\n        piVar14[-6] = 0x7e5cc;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)(piVar14 + -2);\n        piVar16 = piVar14 + -2;\n        piVar15 = piVar14 + -2;\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[10] = __ptr[2];\n        __ptr[0xb] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        if (*(char *)((int)__ptr + 0x99) < '\0') goto LAB_0007e572;\nLAB_0007e129:\n        __ptr[0xc] = 0xffffffff;\n        __ptr[0xd] = 0xffffffff;\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      piVar15 = (int *)pppuVar13;\n      if (uVar9 < 2) goto LAB_0007defc;\n      __ptr[0x24] = uVar10 + 1;\n      if (*(char *)((int)__ptr + uVar10 + 0x98) == '!') {\n        __ptr[0x24] = uVar10 + 2;\n        if (*(char *)((int)__ptr + uVar10 + 0x99) == '\x01') {\n          if (uVar10 + 2 == uVar7) goto LAB_0007defc;\n          uVar9 = uVar10 + 3;\n          __ptr[0x24] = uVar9;\n          bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);\n          if (bVar19 < 0x28) {\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }\n        }\n      }\n    }" if (parenthesized_expression "((bVar19 & 0x3f) == 0)" ( (binary_expression "(bVar19 & 0x3f) == 0" (parenthesized_expression "(bVar19 & 0x3f)" ( (binary_expression "bVar19 & 0x3f" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((bVar19 & 0x40) == 0) {\n        __ptr[10] = 0xffffffff;\n        __ptr[0xb] = 0xffffffff;\n        if (-1 < (char)bVar19) goto LAB_0007e129;\nLAB_0007e572:\n        *(uint *)((int)piVar16 + -0x10) = uVar7;\n        *(undefined4 *)((int)piVar16 + -0x14) = 0x7e585;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)((int)piVar16 + -4);\n        piVar15 = (int *)((int)piVar16 + -4);\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[0xc] = __ptr[2];\n        __ptr[0xd] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      else {\n        piVar14[-5] = uVar7;\n        piVar14[-6] = 0x7e5cc;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)(piVar14 + -2);\n        piVar16 = piVar14 + -2;\n        piVar15 = piVar14 + -2;\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[10] = __ptr[2];\n        __ptr[0xb] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        if (*(char *)((int)__ptr + 0x99) < '\0') goto LAB_0007e572;\nLAB_0007e129:\n        __ptr[0xc] = 0xffffffff;\n        __ptr[0xd] = 0xffffffff;\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      piVar15 = (int *)pppuVar13;\n      if (uVar9 < 2) goto LAB_0007defc;\n      __ptr[0x24] = uVar10 + 1;\n      if (*(char *)((int)__ptr + uVar10 + 0x98) == '!') {\n        __ptr[0x24] = uVar10 + 2;\n        if (*(char *)((int)__ptr + uVar10 + 0x99) == '\x01') {\n          if (uVar10 + 2 == uVar7) goto LAB_0007defc;\n          uVar9 = uVar10 + 3;\n          __ptr[0x24] = uVar9;\n          bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);\n          if (bVar19 < 0x28) {\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }\n        }\n      }\n    }" { (if_statement "if ((bVar19 & 0x40) == 0) {\n        __ptr[10] = 0xffffffff;\n        __ptr[0xb] = 0xffffffff;\n        if (-1 < (char)bVar19) goto LAB_0007e129;\nLAB_0007e572:\n        *(uint *)((int)piVar16 + -0x10) = uVar7;\n        *(undefined4 *)((int)piVar16 + -0x14) = 0x7e585;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)((int)piVar16 + -4);\n        piVar15 = (int *)((int)piVar16 + -4);\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[0xc] = __ptr[2];\n        __ptr[0xd] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      else {\n        piVar14[-5] = uVar7;\n        piVar14[-6] = 0x7e5cc;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)(piVar14 + -2);\n        piVar16 = piVar14 + -2;\n        piVar15 = piVar14 + -2;\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[10] = __ptr[2];\n        __ptr[0xb] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        if (*(char *)((int)__ptr + 0x99) < '\0') goto LAB_0007e572;\nLAB_0007e129:\n        __ptr[0xc] = 0xffffffff;\n        __ptr[0xd] = 0xffffffff;\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }" if (parenthesized_expression "((bVar19 & 0x40) == 0)" ( (binary_expression "(bVar19 & 0x40) == 0" (parenthesized_expression "(bVar19 & 0x40)" ( (binary_expression "bVar19 & 0x40" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        __ptr[10] = 0xffffffff;\n        __ptr[0xb] = 0xffffffff;\n        if (-1 < (char)bVar19) goto LAB_0007e129;\nLAB_0007e572:\n        *(uint *)((int)piVar16 + -0x10) = uVar7;\n        *(undefined4 *)((int)piVar16 + -0x14) = 0x7e585;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)((int)piVar16 + -4);\n        piVar15 = (int *)((int)piVar16 + -4);\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[0xc] = __ptr[2];\n        __ptr[0xd] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }" { (expression_statement "__ptr[10] = 0xffffffff;" (assignment_expression "__ptr[10] = 0xffffffff" (subscript_expression "__ptr[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "__ptr[0xb] = 0xffffffff;" (assignment_expression "__ptr[0xb] = 0xffffffff" (subscript_expression "__ptr[0xb]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (-1 < (char)bVar19) goto LAB_0007e129;" if (parenthesized_expression "(-1 < (char)bVar19)" ( (binary_expression "-1 < (char)bVar19" number_literal < (cast_expression "(char)bVar19" ( (type_descriptor "char" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0007e129;" goto statement_identifier ;)) (labeled_statement "LAB_0007e572:\n        *(uint *)((int)piVar16 + -0x10) = uVar7;" statement_identifier : (expression_statement "*(uint *)((int)piVar16 + -0x10) = uVar7;" (assignment_expression "*(uint *)((int)piVar16 + -0x10) = uVar7" (pointer_expression "*(uint *)((int)piVar16 + -0x10)" * (cast_expression "(uint *)((int)piVar16 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar16 + -0x10)" ( (binary_expression "(int)piVar16 + -0x10" (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)((int)piVar16 + -0x14) = 0x7e585;" (assignment_expression "*(undefined4 *)((int)piVar16 + -0x14) = 0x7e585" (pointer_expression "*(undefined4 *)((int)piVar16 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar16 + -0x14)" ( (binary_expression "(int)piVar16 + -0x14" (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = FUN_0007d044();" (assignment_expression "iVar8 = FUN_0007d044()" identifier = (call_expression "FUN_0007d044()" identifier (argument_list "()" ( )))) ;) (expression_statement "pppuVar13 = (undefined ***)((int)piVar16 + -4);" (assignment_expression "pppuVar13 = (undefined ***)((int)piVar16 + -4)" identifier = (cast_expression "(undefined ***)((int)piVar16 + -4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)piVar16 + -4)" ( (binary_expression "(int)piVar16 + -4" (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar15 = (int *)((int)piVar16 + -4);" (assignment_expression "piVar15 = (int *)((int)piVar16 + -4)" identifier = (cast_expression "(int *)((int)piVar16 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar16 + -4)" ( (binary_expression "(int)piVar16 + -4" (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (iVar8 != 1) goto LAB_0007defc;" if (parenthesized_expression "(iVar8 != 1)" ( (binary_expression "iVar8 != 1" identifier != number_literal) )) (goto_statement "goto LAB_0007defc;" goto statement_identifier ;)) (expression_statement "__ptr[0xc] = __ptr[2];" (assignment_expression "__ptr[0xc] = __ptr[2]" (subscript_expression "__ptr[0xc]" identifier [ number_literal ]) = (subscript_expression "__ptr[2]" identifier [ number_literal ])) ;) (expression_statement "__ptr[0xd] = __ptr[3];" (assignment_expression "__ptr[0xd] = __ptr[3]" (subscript_expression "__ptr[0xd]" identifier [ number_literal ]) = (subscript_expression "__ptr[3]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = __ptr[0x25];" (assignment_expression "uVar7 = __ptr[0x25]" identifier = (subscript_expression "__ptr[0x25]" identifier [ number_literal ])) ;) (expression_statement "uVar10 = __ptr[0x24];" (assignment_expression "uVar10 = __ptr[0x24]" identifier = (subscript_expression "__ptr[0x24]" identifier [ number_literal ])) ;) (expression_statement "uVar9 = uVar7 - uVar10;" (assignment_expression "uVar9 = uVar7 - uVar10" identifier = (binary_expression "uVar7 - uVar10" identifier - identifier)) ;) }) (else_clause "else {\n        piVar14[-5] = uVar7;\n        piVar14[-6] = 0x7e5cc;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)(piVar14 + -2);\n        piVar16 = piVar14 + -2;\n        piVar15 = piVar14 + -2;\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[10] = __ptr[2];\n        __ptr[0xb] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        if (*(char *)((int)__ptr + 0x99) < '\0') goto LAB_0007e572;\nLAB_0007e129:\n        __ptr[0xc] = 0xffffffff;\n        __ptr[0xd] = 0xffffffff;\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }" else (compound_statement "{\n        piVar14[-5] = uVar7;\n        piVar14[-6] = 0x7e5cc;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)(piVar14 + -2);\n        piVar16 = piVar14 + -2;\n        piVar15 = piVar14 + -2;\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[10] = __ptr[2];\n        __ptr[0xb] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        if (*(char *)((int)__ptr + 0x99) < '\0') goto LAB_0007e572;\nLAB_0007e129:\n        __ptr[0xc] = 0xffffffff;\n        __ptr[0xd] = 0xffffffff;\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }" { (expression_statement "piVar14[-5] = uVar7;" (assignment_expression "piVar14[-5] = uVar7" (subscript_expression "piVar14[-5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar14[-6] = 0x7e5cc;" (assignment_expression "piVar14[-6] = 0x7e5cc" (subscript_expression "piVar14[-6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar8 = FUN_0007d044();" (assignment_expression "iVar8 = FUN_0007d044()" identifier = (call_expression "FUN_0007d044()" identifier (argument_list "()" ( )))) ;) (expression_statement "pppuVar13 = (undefined ***)(piVar14 + -2);" (assignment_expression "pppuVar13 = (undefined ***)(piVar14 + -2)" identifier = (cast_expression "(undefined ***)(piVar14 + -2)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(piVar14 + -2)" ( (binary_expression "piVar14 + -2" identifier + number_literal) )))) ;) (expression_statement "piVar16 = piVar14 + -2;" (assignment_expression "piVar16 = piVar14 + -2" identifier = (binary_expression "piVar14 + -2" identifier + number_literal)) ;) (expression_statement "piVar15 = piVar14 + -2;" (assignment_expression "piVar15 = piVar14 + -2" identifier = (binary_expression "piVar14 + -2" identifier + number_literal)) ;) (if_statement "if (iVar8 != 1) goto LAB_0007defc;" if (parenthesized_expression "(iVar8 != 1)" ( (binary_expression "iVar8 != 1" identifier != number_literal) )) (goto_statement "goto LAB_0007defc;" goto statement_identifier ;)) (expression_statement "__ptr[10] = __ptr[2];" (assignment_expression "__ptr[10] = __ptr[2]" (subscript_expression "__ptr[10]" identifier [ number_literal ]) = (subscript_expression "__ptr[2]" identifier [ number_literal ])) ;) (expression_statement "__ptr[0xb] = __ptr[3];" (assignment_expression "__ptr[0xb] = __ptr[3]" (subscript_expression "__ptr[0xb]" identifier [ number_literal ]) = (subscript_expression "__ptr[3]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = __ptr[0x25];" (assignment_expression "uVar7 = __ptr[0x25]" identifier = (subscript_expression "__ptr[0x25]" identifier [ number_literal ])) ;) (if_statement "if (*(char *)((int)__ptr + 0x99) < '\0') goto LAB_0007e572;" if (parenthesized_expression "(*(char *)((int)__ptr + 0x99) < '\0')" ( (binary_expression "*(char *)((int)__ptr + 0x99) < '\0'" (pointer_expression "*(char *)((int)__ptr + 0x99)" * (cast_expression "(char *)((int)__ptr + 0x99)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr + 0x99)" ( (binary_expression "(int)__ptr + 0x99" (cast_expression "(int)__ptr" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0007e572;" goto statement_identifier ;)) (labeled_statement "LAB_0007e129:\n        __ptr[0xc] = 0xffffffff;" statement_identifier : (expression_statement "__ptr[0xc] = 0xffffffff;" (assignment_expression "__ptr[0xc] = 0xffffffff" (subscript_expression "__ptr[0xc]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "__ptr[0xd] = 0xffffffff;" (assignment_expression "__ptr[0xd] = 0xffffffff" (subscript_expression "__ptr[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar10 = __ptr[0x24];" (assignment_expression "uVar10 = __ptr[0x24]" identifier = (subscript_expression "__ptr[0x24]" identifier [ number_literal ])) ;) (expression_statement "uVar9 = uVar7 - uVar10;" (assignment_expression "uVar9 = uVar7 - uVar10" identifier = (binary_expression "uVar7 - uVar10" identifier - identifier)) ;) }))) (expression_statement "piVar15 = (int *)pppuVar13;" (assignment_expression "piVar15 = (int *)pppuVar13" identifier = (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (uVar9 < 2) goto LAB_0007defc;" if (parenthesized_expression "(uVar9 < 2)" ( (binary_expression "uVar9 < 2" identifier < number_literal) )) (goto_statement "goto LAB_0007defc;" goto statement_identifier ;)) (expression_statement "__ptr[0x24] = uVar10 + 1;" (assignment_expression "__ptr[0x24] = uVar10 + 1" (subscript_expression "__ptr[0x24]" identifier [ number_literal ]) = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (if_statement "if (*(char *)((int)__ptr + uVar10 + 0x98) == '!') {\n        __ptr[0x24] = uVar10 + 2;\n        if (*(char *)((int)__ptr + uVar10 + 0x99) == '\x01') {\n          if (uVar10 + 2 == uVar7) goto LAB_0007defc;\n          uVar9 = uVar10 + 3;\n          __ptr[0x24] = uVar9;\n          bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);\n          if (bVar19 < 0x28) {\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }\n        }\n      }" if (parenthesized_expression "(*(char *)((int)__ptr + uVar10 + 0x98) == '!')" ( (binary_expression "*(char *)((int)__ptr + uVar10 + 0x98) == '!'" (pointer_expression "*(char *)((int)__ptr + uVar10 + 0x98)" * (cast_expression "(char *)((int)__ptr + uVar10 + 0x98)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr + uVar10 + 0x98)" ( (binary_expression "(int)__ptr + uVar10 + 0x98" (binary_expression "(int)__ptr + uVar10" (cast_expression "(int)__ptr" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) == (char_literal "'!'" ' character ')) )) (compound_statement "{\n        __ptr[0x24] = uVar10 + 2;\n        if (*(char *)((int)__ptr + uVar10 + 0x99) == '\x01') {\n          if (uVar10 + 2 == uVar7) goto LAB_0007defc;\n          uVar9 = uVar10 + 3;\n          __ptr[0x24] = uVar9;\n          bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);\n          if (bVar19 < 0x28) {\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }\n        }\n      }" { (expression_statement "__ptr[0x24] = uVar10 + 2;" (assignment_expression "__ptr[0x24] = uVar10 + 2" (subscript_expression "__ptr[0x24]" identifier [ number_literal ]) = (binary_expression "uVar10 + 2" identifier + number_literal)) ;) (if_statement "if (*(char *)((int)__ptr + uVar10 + 0x99) == '\x01') {\n          if (uVar10 + 2 == uVar7) goto LAB_0007defc;\n          uVar9 = uVar10 + 3;\n          __ptr[0x24] = uVar9;\n          bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);\n          if (bVar19 < 0x28) {\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }\n        }" if (parenthesized_expression "(*(char *)((int)__ptr + uVar10 + 0x99) == '\x01')" ( (binary_expression "*(char *)((int)__ptr + uVar10 + 0x99) == '\x01'" (pointer_expression "*(char *)((int)__ptr + uVar10 + 0x99)" * (cast_expression "(char *)((int)__ptr + uVar10 + 0x99)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr + uVar10 + 0x99)" ( (binary_expression "(int)__ptr + uVar10 + 0x99" (binary_expression "(int)__ptr + uVar10" (cast_expression "(int)__ptr" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n          if (uVar10 + 2 == uVar7) goto LAB_0007defc;\n          uVar9 = uVar10 + 3;\n          __ptr[0x24] = uVar9;\n          bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);\n          if (bVar19 < 0x28) {\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }\n        }" { (if_statement "if (uVar10 + 2 == uVar7) goto LAB_0007defc;" if (parenthesized_expression "(uVar10 + 2 == uVar7)" ( (binary_expression "uVar10 + 2 == uVar7" (binary_expression "uVar10 + 2" identifier + number_literal) == identifier) )) (goto_statement "goto LAB_0007defc;" goto statement_identifier ;)) (expression_statement "uVar9 = uVar10 + 3;" (assignment_expression "uVar9 = uVar10 + 3" identifier = (binary_expression "uVar10 + 3" identifier + number_literal)) ;) (expression_statement "__ptr[0x24] = uVar9;" (assignment_expression "__ptr[0x24] = uVar9" (subscript_expression "__ptr[0x24]" identifier [ number_literal ]) = identifier) ;) (expression_statement "bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);" (assignment_expression "bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a)" identifier = (pointer_expression "*(byte *)((int)__ptr + uVar10 + 0x9a)" * (cast_expression "(byte *)((int)__ptr + uVar10 + 0x9a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr + uVar10 + 0x9a)" ( (binary_expression "(int)__ptr + uVar10 + 0x9a" (binary_expression "(int)__ptr + uVar10" (cast_expression "(int)__ptr" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))))) ;) (if_statement "if (bVar19 < 0x28) {\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }" if (parenthesized_expression "(bVar19 < 0x28)" ( (binary_expression "bVar19 < 0x28" identifier < number_literal) )) (compound_statement "{\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }" { (expression_statement "uVar10 = __ptr[0x126];" (assignment_expression "uVar10 = __ptr[0x126]" identifier = (subscript_expression "__ptr[0x126]" identifier [ number_literal ])) ;) (expression_statement "uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);" (assignment_expression "uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f)" identifier = (binary_expression "(bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f)" (binary_expression "(bVar19 & 1) + 2" (parenthesized_expression "(bVar19 & 1)" ( (binary_expression "bVar19 & 1" identifier & number_literal) )) + number_literal) << (parenthesized_expression "((bVar19 >> 1) + 0xb & 0x1f)" ( (binary_expression "(bVar19 >> 1) + 0xb & 0x1f" (binary_expression "(bVar19 >> 1) + 0xb" (parenthesized_expression "(bVar19 >> 1)" ( (binary_expression "bVar19 >> 1" identifier >> number_literal) )) + number_literal) & number_literal) )))) ;) (expression_statement "*(uint *)(uVar10 + 0x30) = uVar18;" (assignment_expression "*(uint *)(uVar10 + 0x30) = uVar18" (pointer_expression "*(uint *)(uVar10 + 0x30)" * (cast_expression "(uint *)(uVar10 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 + 0x30)" ( (binary_expression "uVar10 + 0x30" identifier + number_literal) )))) = identifier) ;) (if_statement "if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }" if (parenthesized_expression "(*(uint *)(uVar10 + 0x34) < uVar18)" ( (binary_expression "*(uint *)(uVar10 + 0x34) < uVar18" (pointer_expression "*(uint *)(uVar10 + 0x34)" * (cast_expression "(uint *)(uVar10 + 0x34)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 + 0x34)" ( (binary_expression "uVar10 + 0x34" identifier + number_literal) )))) < identifier) )) (compound_statement "{\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }" { (expression_statement "iVar5 = *(int *)((int)pppuVar13 + 0x44);" (assignment_expression "iVar5 = *(int *)((int)pppuVar13 + 0x44)" identifier = (pointer_expression "*(int *)((int)pppuVar13 + 0x44)" * (cast_expression "(int *)((int)pppuVar13 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x44)" ( (binary_expression "(int)pppuVar13 + 0x44" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar8 = 4;" (assignment_expression "iVar8 = 4" identifier = number_literal) ;) (goto_statement "goto LAB_0007df05;" goto statement_identifier ;) })) (expression_statement "*(uint *)(uVar10 + 0x2c) = uVar18;" (assignment_expression "*(uint *)(uVar10 + 0x2c) = uVar18" (pointer_expression "*(uint *)(uVar10 + 0x2c)" * (cast_expression "(uint *)(uVar10 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 + 0x2c)" ( (binary_expression "uVar10 + 0x2c" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }" if (parenthesized_expression "((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18))" ( (binary_expression "(*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)" (parenthesized_expression "(*(int *)(uVar10 + 0x3c) == 2)" ( (binary_expression "*(int *)(uVar10 + 0x3c) == 2" (pointer_expression "*(int *)(uVar10 + 0x3c)" * (cast_expression "(int *)(uVar10 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 + 0x3c)" ( (binary_expression "uVar10 + 0x3c" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(*(uint *)(uVar10 + 0x38) < uVar18)" ( (binary_expression "*(uint *)(uVar10 + 0x38) < uVar18" (pointer_expression "*(uint *)(uVar10 + 0x38)" * (cast_expression "(uint *)(uVar10 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 + 0x38)" ( (binary_expression "uVar10 + 0x38" identifier + number_literal) )))) < identifier) ))) )) (compound_statement "{\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }" { (expression_statement "*(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18)" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -0x10)" * (cast_expression "(undefined4 *)((int)pppuVar13 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -0x10)" ( (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(uVar10 + 0x18)" * (cast_expression "(undefined4 *)(uVar10 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 + 0x18)" ( (binary_expression "uVar10 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -0x14)" * (cast_expression "(undefined4 *)((int)pppuVar13 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -0x14)" ( (binary_expression "(int)pppuVar13 + -0x14" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)pppuVar13 + -0x10));" (call_expression "free(*(void **)((int)pppuVar13 + -0x10))" identifier (argument_list "(*(void **)((int)pppuVar13 + -0x10))" ( (pointer_expression "*(void **)((int)pppuVar13 + -0x10)" * (cast_expression "(void **)((int)pppuVar13 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppuVar13 + -0x10)" ( (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30)" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -0x10)" * (cast_expression "(undefined4 *)((int)pppuVar13 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -0x10)" ( (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(uVar10 + 0x30)" * (cast_expression "(undefined4 *)(uVar10 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 + 0x30)" ( (binary_expression "uVar10 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -0x14)" * (cast_expression "(undefined4 *)((int)pppuVar13 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -0x14)" ( (binary_expression "(int)pppuVar13 + -0x14" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));" (assignment_expression "pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10))" identifier = (call_expression "malloc(*(size_t *)((int)pppuVar13 + -0x10))" identifier (argument_list "(*(size_t *)((int)pppuVar13 + -0x10))" ( (pointer_expression "*(size_t *)((int)pppuVar13 + -0x10)" * (cast_expression "(size_t *)((int)pppuVar13 + -0x10)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -0x10)" ( (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(void **)(uVar10 + 0x18) = pvVar4;" (assignment_expression "*(void **)(uVar10 + 0x18) = pvVar4" (pointer_expression "*(void **)(uVar10 + 0x18)" * (cast_expression "(void **)(uVar10 + 0x18)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(uVar10 + 0x18)" ( (binary_expression "uVar10 + 0x18" identifier + number_literal) )))) = identifier) ;) (if_statement "if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }" if (parenthesized_expression "(pvVar4 == (void *)0x0)" ( (binary_expression "pvVar4 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }" { (expression_statement "*(undefined4 *)(uVar10 + 0x38) = 0;" (assignment_expression "*(undefined4 *)(uVar10 + 0x38) = 0" (pointer_expression "*(undefined4 *)(uVar10 + 0x38)" * (cast_expression "(undefined4 *)(uVar10 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 + 0x38)" ( (binary_expression "uVar10 + 0x38" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(__ptr + 9) = 0;" (assignment_expression "*(undefined1 *)(__ptr + 9) = 0" (pointer_expression "*(undefined1 *)(__ptr + 9)" * (cast_expression "(undefined1 *)(__ptr + 9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(__ptr + 9)" ( (binary_expression "__ptr + 9" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;" if (parenthesized_expression "(*(int *)((int)pppuVar13 + 0x44) == 0)" ( (binary_expression "*(int *)((int)pppuVar13 + 0x44) == 0" (pointer_expression "*(int *)((int)pppuVar13 + 0x44)" * (cast_expression "(int *)((int)pppuVar13 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x44)" ( (binary_expression "(int)pppuVar13 + 0x44" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0007dd1d;" goto statement_identifier ;)) (expression_statement "iVar8 = 3;" (assignment_expression "iVar8 = 3" identifier = number_literal) ;) (goto_statement "goto LAB_0007de61;" goto statement_identifier ;) })) (expression_statement "uVar7 = __ptr[0x25];" (assignment_expression "uVar7 = __ptr[0x25]" identifier = (subscript_expression "__ptr[0x25]" identifier [ number_literal ])) ;) (expression_statement "uVar9 = __ptr[0x24];" (assignment_expression "uVar9 = __ptr[0x24]" identifier = (subscript_expression "__ptr[0x24]" identifier [ number_literal ])) ;) })) (expression_statement "*(undefined4 *)(uVar10 + 0x68) = 0;" (assignment_expression "*(undefined4 *)(uVar10 + 0x68) = 0" (pointer_expression "*(undefined4 *)(uVar10 + 0x68)" * (cast_expression "(undefined4 *)(uVar10 + 0x68)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 + 0x68)" ( (binary_expression "uVar10 + 0x68" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(uVar10 + 0x40) = 0;" (assignment_expression "*(undefined4 *)(uVar10 + 0x40) = 0" (pointer_expression "*(undefined4 *)(uVar10 + 0x40)" * (cast_expression "(undefined4 *)(uVar10 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 + 0x40)" ( (binary_expression "uVar10 + 0x40" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(uVar10 + 0x50) = 1;" (assignment_expression "*(undefined1 *)(uVar10 + 0x50) = 1" (pointer_expression "*(undefined1 *)(uVar10 + 0x50)" * (cast_expression "(undefined1 *)(uVar10 + 0x50)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 + 0x50)" ( (binary_expression "uVar10 + 0x50" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(uVar10 + 0x6ee4) = 0;" (assignment_expression "*(undefined4 *)(uVar10 + 0x6ee4) = 0" (pointer_expression "*(undefined4 *)(uVar10 + 0x6ee4)" * (cast_expression "(undefined4 *)(uVar10 + 0x6ee4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 + 0x6ee4)" ( (binary_expression "uVar10 + 0x6ee4" identifier + number_literal) )))) = number_literal) ;) (while_statement "while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }" while (parenthesized_expression "(uVar9 < uVar7)" ( (binary_expression "uVar9 < uVar7" identifier < identifier) )) (compound_statement "{\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }" { (expression_statement "__ptr[0x24] = uVar9 + 1;" (assignment_expression "__ptr[0x24] = uVar9 + 1" (subscript_expression "__ptr[0x24]" identifier [ number_literal ]) = (binary_expression "uVar9 + 1" identifier + number_literal)) ;) (expression_statement "iVar8 = uVar9 + 0x98;" (assignment_expression "iVar8 = uVar9 + 0x98" identifier = (binary_expression "uVar9 + 0x98" identifier + number_literal)) ;) (expression_statement "uVar9 = uVar9 + 1;" (assignment_expression "uVar9 = uVar9 + 1" identifier = (binary_expression "uVar9 + 1" identifier + number_literal)) ;) (if_statement "if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;" if (parenthesized_expression "(*(char *)((int)__ptr + iVar8) != '\0')" ( (binary_expression "*(char *)((int)__ptr + iVar8) != '\0'" (pointer_expression "*(char *)((int)__ptr + iVar8)" * (cast_expression "(char *)((int)__ptr + iVar8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr + iVar8)" ( (binary_expression "(int)__ptr + iVar8" (cast_expression "(int)__ptr" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0007e4e9;" goto statement_identifier ;)) })) (expression_statement "__ptr[0x24] = 0;" (assignment_expression "__ptr[0x24] = 0" (subscript_expression "__ptr[0x24]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "__ptr[0xf] = 0;" (assignment_expression "__ptr[0xf] = 0" (subscript_expression "__ptr[0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "__ptr[0x10] = 0;" (assignment_expression "__ptr[0x10] = 0" (subscript_expression "__ptr[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "__ptr[0x11] = 0;" (assignment_expression "__ptr[0x11] = 0" (subscript_expression "__ptr[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "__ptr[0x12] = 0;" (assignment_expression "__ptr[0x12] = 0" (subscript_expression "__ptr[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*__ptr = 3;" (assignment_expression "*__ptr = 3" (pointer_expression "*__ptr" * identifier) = number_literal) ;) (goto_statement "goto switchD_0007dbdb_caseD_7e21b;" goto statement_identifier ;) })) })) })) })) (break_statement "break;" break ;)) (case_statement "case 0x7e21b:\nswitchD_0007dbdb_caseD_7e21b:\n    __ptr[4] = ((int *)pppuVar13)[0xe];\n    __ptr[5] = ((int *)pppuVar13)[0x11];\n    ((int *)pppuVar13)[-1] = 0x7e238;\n    iVar8 = FUN_0007d17c();\n    ((int *)pppuVar13)[7] = iVar8;\n    uVar9 = (((int *)pppuVar13)[0xe] - __ptr[4]) + __ptr[0xf];\n    uVar18 = __ptr[0x10] + (uint)CARRY4(((int *)pppuVar13)[0xe] - __ptr[4],__ptr[0xf]);\n    __ptr[0xf] = uVar9;\n    __ptr[0x10] = uVar18;\n    iVar5 = ((int *)pppuVar13)[0x11];\n    uVar7 = __ptr[5];\n    ((int *)pppuVar13)[9] = uVar7;\n    uVar7 = iVar5 - uVar7;\n    ((int *)pppuVar13)[10] = uVar7;\n    uVar10 = uVar7 + __ptr[0x11];\n    uVar7 = __ptr[0x12] + (uint)CARRY4(uVar7,__ptr[0x11]);\n    __ptr[0x11] = uVar10;\n    __ptr[0x12] = uVar7;\n    if ((uVar18 <= __ptr[0xb] && (uint)(__ptr[10] < uVar9) <= __ptr[0xb] - uVar18) &&\n       (uVar7 <= __ptr[0xd] && (uint)(__ptr[0xc] < uVar10) <= __ptr[0xd] - uVar7)) {\n      if (__ptr[7] == 1) {\n        ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n        ((int *)pppuVar13)[-5] = 0x7e2b9;\n        uVar7 = FUN_000a62f1();\n        __ptr[6] = ~uVar7;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n      }\n      if (((int *)pppuVar13)[7] == 1) {\n        piVar15 = (int *)pppuVar13;\n        if (((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||\n           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])) {\n          uVar7 = __ptr[0x11];\n          if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }\n        }\n        goto LAB_0007defc;\n      }\n      iVar8 = ((int *)pppuVar13)[7];\n      goto LAB_0007dfbc;\n    }\n    iVar8 = 7;\n    goto LAB_0007df05;" case number_literal : (labeled_statement "switchD_0007dbdb_caseD_7e21b:\n    __ptr[4] = ((int *)pppuVar13)[0xe];" statement_identifier : (expression_statement "__ptr[4] = ((int *)pppuVar13)[0xe];" (assignment_expression "__ptr[4] = ((int *)pppuVar13)[0xe]" (subscript_expression "__ptr[4]" identifier [ number_literal ]) = (subscript_expression "((int *)pppuVar13)[0xe]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ;)) (expression_statement "__ptr[5] = ((int *)pppuVar13)[0x11];" (assignment_expression "__ptr[5] = ((int *)pppuVar13)[0x11]" (subscript_expression "__ptr[5]" identifier [ number_literal ]) = (subscript_expression "((int *)pppuVar13)[0x11]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ;) (expression_statement "((int *)pppuVar13)[-1] = 0x7e238;" (assignment_expression "((int *)pppuVar13)[-1] = 0x7e238" (subscript_expression "((int *)pppuVar13)[-1]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "iVar8 = FUN_0007d17c();" (assignment_expression "iVar8 = FUN_0007d17c()" identifier = (call_expression "FUN_0007d17c()" identifier (argument_list "()" ( )))) ;) (expression_statement "((int *)pppuVar13)[7] = iVar8;" (assignment_expression "((int *)pppuVar13)[7] = iVar8" (subscript_expression "((int *)pppuVar13)[7]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = identifier) ;) (expression_statement "uVar9 = (((int *)pppuVar13)[0xe] - __ptr[4]) + __ptr[0xf];" (assignment_expression "uVar9 = (((int *)pppuVar13)[0xe] - __ptr[4]) + __ptr[0xf]" identifier = (binary_expression "(((int *)pppuVar13)[0xe] - __ptr[4]) + __ptr[0xf]" (parenthesized_expression "(((int *)pppuVar13)[0xe] - __ptr[4])" ( (binary_expression "((int *)pppuVar13)[0xe] - __ptr[4]" (subscript_expression "((int *)pppuVar13)[0xe]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) - (subscript_expression "__ptr[4]" identifier [ number_literal ])) )) + (subscript_expression "__ptr[0xf]" identifier [ number_literal ]))) ;) (expression_statement "uVar18 = __ptr[0x10] + (uint)CARRY4(((int *)pppuVar13)[0xe] - __ptr[4],__ptr[0xf]);" (assignment_expression "uVar18 = __ptr[0x10] + (uint)CARRY4(((int *)pppuVar13)[0xe] - __ptr[4],__ptr[0xf])" identifier = (binary_expression "__ptr[0x10] + (uint)CARRY4(((int *)pppuVar13)[0xe] - __ptr[4],__ptr[0xf])" (subscript_expression "__ptr[0x10]" identifier [ number_literal ]) + (cast_expression "(uint)CARRY4(((int *)pppuVar13)[0xe] - __ptr[4],__ptr[0xf])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(((int *)pppuVar13)[0xe] - __ptr[4],__ptr[0xf])" identifier (argument_list "(((int *)pppuVar13)[0xe] - __ptr[4],__ptr[0xf])" ( (binary_expression "((int *)pppuVar13)[0xe] - __ptr[4]" (subscript_expression "((int *)pppuVar13)[0xe]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) - (subscript_expression "__ptr[4]" identifier [ number_literal ])) , (subscript_expression "__ptr[0xf]" identifier [ number_literal ]) )))))) ;) (expression_statement "__ptr[0xf] = uVar9;" (assignment_expression "__ptr[0xf] = uVar9" (subscript_expression "__ptr[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__ptr[0x10] = uVar18;" (assignment_expression "__ptr[0x10] = uVar18" (subscript_expression "__ptr[0x10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar5 = ((int *)pppuVar13)[0x11];" (assignment_expression "iVar5 = ((int *)pppuVar13)[0x11]" identifier = (subscript_expression "((int *)pppuVar13)[0x11]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ;) (expression_statement "uVar7 = __ptr[5];" (assignment_expression "uVar7 = __ptr[5]" identifier = (subscript_expression "__ptr[5]" identifier [ number_literal ])) ;) (expression_statement "((int *)pppuVar13)[9] = uVar7;" (assignment_expression "((int *)pppuVar13)[9] = uVar7" (subscript_expression "((int *)pppuVar13)[9]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = identifier) ;) (expression_statement "uVar7 = iVar5 - uVar7;" (assignment_expression "uVar7 = iVar5 - uVar7" identifier = (binary_expression "iVar5 - uVar7" identifier - identifier)) ;) (expression_statement "((int *)pppuVar13)[10] = uVar7;" (assignment_expression "((int *)pppuVar13)[10] = uVar7" (subscript_expression "((int *)pppuVar13)[10]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = identifier) ;) (expression_statement "uVar10 = uVar7 + __ptr[0x11];" (assignment_expression "uVar10 = uVar7 + __ptr[0x11]" identifier = (binary_expression "uVar7 + __ptr[0x11]" identifier + (subscript_expression "__ptr[0x11]" identifier [ number_literal ]))) ;) (expression_statement "uVar7 = __ptr[0x12] + (uint)CARRY4(uVar7,__ptr[0x11]);" (assignment_expression "uVar7 = __ptr[0x12] + (uint)CARRY4(uVar7,__ptr[0x11])" identifier = (binary_expression "__ptr[0x12] + (uint)CARRY4(uVar7,__ptr[0x11])" (subscript_expression "__ptr[0x12]" identifier [ number_literal ]) + (cast_expression "(uint)CARRY4(uVar7,__ptr[0x11])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar7,__ptr[0x11])" identifier (argument_list "(uVar7,__ptr[0x11])" ( identifier , (subscript_expression "__ptr[0x11]" identifier [ number_literal ]) )))))) ;) (expression_statement "__ptr[0x11] = uVar10;" (assignment_expression "__ptr[0x11] = uVar10" (subscript_expression "__ptr[0x11]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__ptr[0x12] = uVar7;" (assignment_expression "__ptr[0x12] = uVar7" (subscript_expression "__ptr[0x12]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((uVar18 <= __ptr[0xb] && (uint)(__ptr[10] < uVar9) <= __ptr[0xb] - uVar18) &&\n       (uVar7 <= __ptr[0xd] && (uint)(__ptr[0xc] < uVar10) <= __ptr[0xd] - uVar7)) {\n      if (__ptr[7] == 1) {\n        ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n        ((int *)pppuVar13)[-5] = 0x7e2b9;\n        uVar7 = FUN_000a62f1();\n        __ptr[6] = ~uVar7;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n      }\n      if (((int *)pppuVar13)[7] == 1) {\n        piVar15 = (int *)pppuVar13;\n        if (((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||\n           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])) {\n          uVar7 = __ptr[0x11];\n          if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }\n        }\n        goto LAB_0007defc;\n      }\n      iVar8 = ((int *)pppuVar13)[7];\n      goto LAB_0007dfbc;\n    }" if (parenthesized_expression "((uVar18 <= __ptr[0xb] && (uint)(__ptr[10] < uVar9) <= __ptr[0xb] - uVar18) &&\n       (uVar7 <= __ptr[0xd] && (uint)(__ptr[0xc] < uVar10) <= __ptr[0xd] - uVar7))" ( (binary_expression "(uVar18 <= __ptr[0xb] && (uint)(__ptr[10] < uVar9) <= __ptr[0xb] - uVar18) &&\n       (uVar7 <= __ptr[0xd] && (uint)(__ptr[0xc] < uVar10) <= __ptr[0xd] - uVar7)" (parenthesized_expression "(uVar18 <= __ptr[0xb] && (uint)(__ptr[10] < uVar9) <= __ptr[0xb] - uVar18)" ( (binary_expression "uVar18 <= __ptr[0xb] && (uint)(__ptr[10] < uVar9) <= __ptr[0xb] - uVar18" (binary_expression "uVar18 <= __ptr[0xb]" identifier <= (subscript_expression "__ptr[0xb]" identifier [ number_literal ])) && (binary_expression "(uint)(__ptr[10] < uVar9) <= __ptr[0xb] - uVar18" (call_expression "(uint)(__ptr[10] < uVar9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(__ptr[10] < uVar9)" ( (binary_expression "__ptr[10] < uVar9" (subscript_expression "__ptr[10]" identifier [ number_literal ]) < identifier) ))) <= (binary_expression "__ptr[0xb] - uVar18" (subscript_expression "__ptr[0xb]" identifier [ number_literal ]) - identifier))) )) && (parenthesized_expression "(uVar7 <= __ptr[0xd] && (uint)(__ptr[0xc] < uVar10) <= __ptr[0xd] - uVar7)" ( (binary_expression "uVar7 <= __ptr[0xd] && (uint)(__ptr[0xc] < uVar10) <= __ptr[0xd] - uVar7" (binary_expression "uVar7 <= __ptr[0xd]" identifier <= (subscript_expression "__ptr[0xd]" identifier [ number_literal ])) && (binary_expression "(uint)(__ptr[0xc] < uVar10) <= __ptr[0xd] - uVar7" (call_expression "(uint)(__ptr[0xc] < uVar10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(__ptr[0xc] < uVar10)" ( (binary_expression "__ptr[0xc] < uVar10" (subscript_expression "__ptr[0xc]" identifier [ number_literal ]) < identifier) ))) <= (binary_expression "__ptr[0xd] - uVar7" (subscript_expression "__ptr[0xd]" identifier [ number_literal ]) - identifier))) ))) )) (compound_statement "{\n      if (__ptr[7] == 1) {\n        ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n        ((int *)pppuVar13)[-5] = 0x7e2b9;\n        uVar7 = FUN_000a62f1();\n        __ptr[6] = ~uVar7;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n      }\n      if (((int *)pppuVar13)[7] == 1) {\n        piVar15 = (int *)pppuVar13;\n        if (((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||\n           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])) {\n          uVar7 = __ptr[0x11];\n          if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }\n        }\n        goto LAB_0007defc;\n      }\n      iVar8 = ((int *)pppuVar13)[7];\n      goto LAB_0007dfbc;\n    }" { (if_statement "if (__ptr[7] == 1) {\n        ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n        ((int *)pppuVar13)[-5] = 0x7e2b9;\n        uVar7 = FUN_000a62f1();\n        __ptr[6] = ~uVar7;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n      }" if (parenthesized_expression "(__ptr[7] == 1)" ( (binary_expression "__ptr[7] == 1" (subscript_expression "__ptr[7]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n        ((int *)pppuVar13)[-5] = 0x7e2b9;\n        uVar7 = FUN_000a62f1();\n        __ptr[6] = ~uVar7;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n      }" { (expression_statement "((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);" (assignment_expression "((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8)" (subscript_expression "((int *)pppuVar13)[-4]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (pointer_expression "*(undefined4 *)((int)*pppuVar13 + 0xcf8)" * (cast_expression "(undefined4 *)((int)*pppuVar13 + 0xcf8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*pppuVar13 + 0xcf8)" ( (binary_expression "(int)*pppuVar13 + 0xcf8" (cast_expression "(int)*pppuVar13" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppuVar13" * identifier)) + number_literal) ))))) ;) (expression_statement "((int *)pppuVar13)[-5] = 0x7e2b9;" (assignment_expression "((int *)pppuVar13)[-5] = 0x7e2b9" (subscript_expression "((int *)pppuVar13)[-5]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "uVar7 = FUN_000a62f1();" (assignment_expression "uVar7 = FUN_000a62f1()" identifier = (call_expression "FUN_000a62f1()" identifier (argument_list "()" ( )))) ;) (expression_statement "__ptr[6] = ~uVar7;" (assignment_expression "__ptr[6] = ~uVar7" (subscript_expression "__ptr[6]" identifier [ number_literal ]) = (unary_expression "~uVar7" ~ identifier)) ;) (expression_statement "pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);" (assignment_expression "pppuVar13 = (undefined ***)((int *)pppuVar13 + -1)" identifier = (cast_expression "(undefined ***)((int *)pppuVar13 + -1)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int *)pppuVar13 + -1)" ( (binary_expression "(int *)pppuVar13 + -1" (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) })) (if_statement "if (((int *)pppuVar13)[7] == 1) {\n        piVar15 = (int *)pppuVar13;\n        if (((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||\n           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])) {\n          uVar7 = __ptr[0x11];\n          if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }\n        }\n        goto LAB_0007defc;\n      }" if (parenthesized_expression "(((int *)pppuVar13)[7] == 1)" ( (binary_expression "((int *)pppuVar13)[7] == 1" (subscript_expression "((int *)pppuVar13)[7]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) == number_literal) )) (compound_statement "{\n        piVar15 = (int *)pppuVar13;\n        if (((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||\n           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])) {\n          uVar7 = __ptr[0x11];\n          if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }\n        }\n        goto LAB_0007defc;\n      }" { (expression_statement "piVar15 = (int *)pppuVar13;" (assignment_expression "piVar15 = (int *)pppuVar13" identifier = (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||\n           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])) {\n          uVar7 = __ptr[0x11];\n          if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }\n        }" if (parenthesized_expression "(((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||\n           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf]))" ( (binary_expression "((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||\n           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])" (parenthesized_expression "((__ptr[0xb] & __ptr[10]) == 0xffffffff)" ( (binary_expression "(__ptr[0xb] & __ptr[10]) == 0xffffffff" (parenthesized_expression "(__ptr[0xb] & __ptr[10])" ( (binary_expression "__ptr[0xb] & __ptr[10]" (subscript_expression "__ptr[0xb]" identifier [ number_literal ]) & (subscript_expression "__ptr[10]" identifier [ number_literal ])) )) == number_literal) )) || (parenthesized_expression "(__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])" ( (binary_expression "__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf]" (binary_expression "__ptr[0xb] == __ptr[0x10]" (subscript_expression "__ptr[0xb]" identifier [ number_literal ]) == (subscript_expression "__ptr[0x10]" identifier [ number_literal ])) && (binary_expression "__ptr[10] == __ptr[0xf]" (subscript_expression "__ptr[10]" identifier [ number_literal ]) == (subscript_expression "__ptr[0xf]" identifier [ number_literal ]))) ))) )) (compound_statement "{\n          uVar7 = __ptr[0x11];\n          if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }\n        }" { (expression_statement "uVar7 = __ptr[0x11];" (assignment_expression "uVar7 = __ptr[0x11]" identifier = (subscript_expression "__ptr[0x11]" identifier [ number_literal ])) ;) (if_statement "if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }" if (parenthesized_expression "(((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7))" ( (binary_expression "((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)" (parenthesized_expression "((__ptr[0xd] & __ptr[0xc]) == 0xffffffff)" ( (binary_expression "(__ptr[0xd] & __ptr[0xc]) == 0xffffffff" (parenthesized_expression "(__ptr[0xd] & __ptr[0xc])" ( (binary_expression "__ptr[0xd] & __ptr[0xc]" (subscript_expression "__ptr[0xd]" identifier [ number_literal ]) & (subscript_expression "__ptr[0xc]" identifier [ number_literal ])) )) == number_literal) )) || (parenthesized_expression "(__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)" ( (binary_expression "__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7" (binary_expression "__ptr[0xd] == __ptr[0x12]" (subscript_expression "__ptr[0xd]" identifier [ number_literal ]) == (subscript_expression "__ptr[0x12]" identifier [ number_literal ])) && (binary_expression "__ptr[0xc] == uVar7" (subscript_expression "__ptr[0xc]" identifier [ number_literal ]) == identifier)) ))) )) (compound_statement "{\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }" { (expression_statement "uVar10 = __ptr[0x15];" (assignment_expression "uVar10 = __ptr[0x15]" identifier = (subscript_expression "__ptr[0x15]" identifier [ number_literal ])) ;) (expression_statement "uVar18 = __ptr[0xf] + __ptr[0x15];" (assignment_expression "uVar18 = __ptr[0xf] + __ptr[0x15]" identifier = (binary_expression "__ptr[0xf] + __ptr[0x15]" (subscript_expression "__ptr[0xf]" identifier [ number_literal ]) + (subscript_expression "__ptr[0x15]" identifier [ number_literal ]))) ;) (expression_statement "uVar9 = __ptr[0xe] + uVar18;" (assignment_expression "uVar9 = __ptr[0xe] + uVar18" identifier = (binary_expression "__ptr[0xe] + uVar18" (subscript_expression "__ptr[0xe]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);" (assignment_expression "bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7])" identifier = (pointer_expression "*(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7])" * (cast_expression "(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7])" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*pppuVar13 + -0x154a8 + __ptr[7])" ( (binary_expression "(int)*pppuVar13 + -0x154a8 + __ptr[7]" (binary_expression "(int)*pppuVar13 + -0x154a8" (cast_expression "(int)*pppuVar13" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppuVar13" * identifier)) + number_literal) + (subscript_expression "__ptr[7]" identifier [ number_literal ])) ))))) ;) (expression_statement "__ptr[0x15] = uVar9 + bVar19;" (assignment_expression "__ptr[0x15] = uVar9 + bVar19" (subscript_expression "__ptr[0x15]" identifier [ number_literal ]) = (binary_expression "uVar9 + bVar19" identifier + identifier)) ;) (expression_statement "__ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);" (assignment_expression "__ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19)" (subscript_expression "__ptr[0x16]" identifier [ number_literal ]) = (binary_expression "__ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19)" (binary_expression "__ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18)" (binary_expression "__ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10)" (binary_expression "__ptr[0x10] + __ptr[0x16]" (subscript_expression "__ptr[0x10]" identifier [ number_literal ]) + (subscript_expression "__ptr[0x16]" identifier [ number_literal ])) + (cast_expression "(uint)CARRY4(__ptr[0xf],uVar10)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(__ptr[0xf],uVar10)" identifier (argument_list "(__ptr[0xf],uVar10)" ( (subscript_expression "__ptr[0xf]" identifier [ number_literal ]) , identifier ))))) + (cast_expression "(uint)CARRY4(__ptr[0xe],uVar18)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(__ptr[0xe],uVar18)" identifier (argument_list "(__ptr[0xe],uVar18)" ( (subscript_expression "__ptr[0xe]" identifier [ number_literal ]) , identifier ))))) + (cast_expression "(uint)CARRY4(uVar9,(uint)bVar19)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar9,(uint)bVar19)" identifier (argument_list "(uVar9,(uint)bVar19)" ( identifier , (cast_expression "(uint)bVar19" ( (type_descriptor "uint" type_identifier) ) identifier) )))))) ;) (expression_statement "puVar1 = __ptr + 0x17;" (assignment_expression "puVar1 = __ptr + 0x17" identifier = (binary_expression "__ptr + 0x17" identifier + number_literal)) ;) (expression_statement "uVar10 = *puVar1;" (assignment_expression "uVar10 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "*puVar1 = *puVar1 + uVar7;" (assignment_expression "*puVar1 = *puVar1 + uVar7" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 + uVar7" (pointer_expression "*puVar1" * identifier) + identifier)) ;) (expression_statement "__ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);" (assignment_expression "__ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7)" (subscript_expression "__ptr[0x18]" identifier [ number_literal ]) = (binary_expression "__ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7)" (binary_expression "__ptr[0x18] + __ptr[0x12]" (subscript_expression "__ptr[0x18]" identifier [ number_literal ]) + (subscript_expression "__ptr[0x12]" identifier [ number_literal ])) + (cast_expression "(uint)CARRY4(uVar10,uVar7)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar10,uVar7)" identifier (argument_list "(uVar10,uVar7)" ( identifier , identifier )))))) ;) (expression_statement "((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);" (assignment_expression "((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8)" (subscript_expression "((int *)pppuVar13)[-4]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (pointer_expression "*(undefined4 *)((int)*pppuVar13 + 0xcf8)" * (cast_expression "(undefined4 *)((int)*pppuVar13 + 0xcf8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*pppuVar13 + 0xcf8)" ( (binary_expression "(int)*pppuVar13 + 0xcf8" (cast_expression "(int)*pppuVar13" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppuVar13" * identifier)) + number_literal) ))))) ;) (expression_statement "((int *)pppuVar13)[-5] = 0x7e349;" (assignment_expression "((int *)pppuVar13)[-5] = 0x7e349" (subscript_expression "((int *)pppuVar13)[-5]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "uVar7 = FUN_000a62f1();" (assignment_expression "uVar7 = FUN_000a62f1()" identifier = (call_expression "FUN_000a62f1()" identifier (argument_list "()" ( )))) ;) (expression_statement "__ptr[0x19] = ~uVar7;" (assignment_expression "__ptr[0x19] = ~uVar7" (subscript_expression "__ptr[0x19]" identifier [ number_literal ]) = (unary_expression "~uVar7" ~ identifier)) ;) (expression_statement "puVar1 = __ptr + 0x13;" (assignment_expression "puVar1 = __ptr + 0x13" identifier = (binary_expression "__ptr + 0x13" identifier + number_literal)) ;) (expression_statement "uVar7 = *puVar1;" (assignment_expression "uVar7 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "*puVar1 = *puVar1 + 1;" (assignment_expression "*puVar1 = *puVar1 + 1" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 + 1" (pointer_expression "*puVar1" * identifier) + number_literal)) ;) (expression_statement "__ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);" (assignment_expression "__ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7)" (subscript_expression "__ptr[0x14]" identifier [ number_literal ]) = (binary_expression "__ptr[0x14] + (uint)(0xfffffffe < uVar7)" (subscript_expression "__ptr[0x14]" identifier [ number_literal ]) + (call_expression "(uint)(0xfffffffe < uVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfffffffe < uVar7)" ( (binary_expression "0xfffffffe < uVar7" number_literal < identifier) ))))) ;) (expression_statement "*__ptr = 4;" (assignment_expression "*__ptr = 4" (pointer_expression "*__ptr" * identifier) = number_literal) ;) (expression_statement "pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);" (assignment_expression "pppuVar13 = (undefined ***)((int *)pppuVar13 + -1)" identifier = (cast_expression "(undefined ***)((int *)pppuVar13 + -1)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int *)pppuVar13 + -1)" ( (binary_expression "(int *)pppuVar13 + -1" (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (goto_statement "goto switchD_0007dbdb_caseD_7e360;" goto statement_identifier ;) })) })) (goto_statement "goto LAB_0007defc;" goto statement_identifier ;) })) (expression_statement "iVar8 = ((int *)pppuVar13)[7];" (assignment_expression "iVar8 = ((int *)pppuVar13)[7]" identifier = (subscript_expression "((int *)pppuVar13)[7]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ;) (goto_statement "goto LAB_0007dfbc;" goto statement_identifier ;) })) (expression_statement "iVar8 = 7;" (assignment_expression "iVar8 = 7" identifier = number_literal) ;) (goto_statement "goto LAB_0007df05;" goto statement_identifier ;)) (case_statement "case 0x7e360:\nswitchD_0007dbdb_caseD_7e360:\n    uVar10 = __ptr[0xf];\n    uVar9 = __ptr[0x10];\n    if ((uVar10 & 3) != 0) {\n      uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n      uVar7 = *(uint *)((int)pppuVar13 + 0x3c);\n      if (uVar18 == uVar7) goto LAB_0007dd85;\n      iVar8 = *(int *)((int)pppuVar13 + 0x34);\n      *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n      piVar15 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      uVar9 = uVar9 + (0xfffffffe < uVar10);\n      while( true ) {\n        uVar10 = uVar10 + 1;\n        __ptr[0xf] = uVar10;\n        __ptr[0x10] = uVar9;\n        if ((uVar10 & 3) == 0) break;\n        uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n        uVar9 = uVar9 + (0xfffffffe < uVar10);\n        if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      }\n    }\n    *__ptr = 5;\n    piVar14 = (int *)pppuVar13;\nswitchD_0007dbdb_caseD_7e3b0:\n    pppuVar13 = (undefined ***)piVar14;\n    if (__ptr[7] == 1) {\n      uVar10 = piVar14[0xf];\n      iVar8 = piVar14[0xd];\n      uVar7 = piVar14[0xe];\n      do {\n        if (uVar10 == uVar7) goto LAB_0007dd85;\n        uVar9 = __ptr[1];\n        uVar18 = __ptr[6];\n        uVar7 = uVar7 + 1;\n        piVar14[0xe] = uVar7;\n        if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))\n        goto LAB_0007dcff;\n        uVar9 = uVar9 + 8;\n        __ptr[1] = uVar9;\n      } while (uVar9 < 0x20);\n      __ptr[6] = 0;\n      __ptr[1] = 0;\n    }\n    else {\n      uVar10 = __ptr[1];\n      uVar9 = (uint)*(byte *)(*piVar14 + -0x154a8 + __ptr[7]);\n      if (uVar10 < uVar9) {\n        uVar18 = piVar14[0xe];\n        uVar7 = piVar14[0xf];\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        uVar11 = uVar18;\n        while( true ) {\n          uVar11 = uVar11 + 1;\n          if (uVar11 == (uVar18 - uVar10) + uVar9) break;\n          if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }\n        }\n        piVar14[0xe] = uVar11;\n      }\n      __ptr[1] = 0;\n    }\n    *__ptr = 1;\n    uVar7 = 1;\n    goto LAB_0007dbcf;" case number_literal : (labeled_statement "switchD_0007dbdb_caseD_7e360:\n    uVar10 = __ptr[0xf];" statement_identifier : (expression_statement "uVar10 = __ptr[0xf];" (assignment_expression "uVar10 = __ptr[0xf]" identifier = (subscript_expression "__ptr[0xf]" identifier [ number_literal ])) ;)) (expression_statement "uVar9 = __ptr[0x10];" (assignment_expression "uVar9 = __ptr[0x10]" identifier = (subscript_expression "__ptr[0x10]" identifier [ number_literal ])) ;) (if_statement "if ((uVar10 & 3) != 0) {\n      uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n      uVar7 = *(uint *)((int)pppuVar13 + 0x3c);\n      if (uVar18 == uVar7) goto LAB_0007dd85;\n      iVar8 = *(int *)((int)pppuVar13 + 0x34);\n      *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n      piVar15 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      uVar9 = uVar9 + (0xfffffffe < uVar10);\n      while( true ) {\n        uVar10 = uVar10 + 1;\n        __ptr[0xf] = uVar10;\n        __ptr[0x10] = uVar9;\n        if ((uVar10 & 3) == 0) break;\n        uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n        uVar9 = uVar9 + (0xfffffffe < uVar10);\n        if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      }\n    }" if (parenthesized_expression "((uVar10 & 3) != 0)" ( (binary_expression "(uVar10 & 3) != 0" (parenthesized_expression "(uVar10 & 3)" ( (binary_expression "uVar10 & 3" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n      uVar7 = *(uint *)((int)pppuVar13 + 0x3c);\n      if (uVar18 == uVar7) goto LAB_0007dd85;\n      iVar8 = *(int *)((int)pppuVar13 + 0x34);\n      *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n      piVar15 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      uVar9 = uVar9 + (0xfffffffe < uVar10);\n      while( true ) {\n        uVar10 = uVar10 + 1;\n        __ptr[0xf] = uVar10;\n        __ptr[0x10] = uVar9;\n        if ((uVar10 & 3) == 0) break;\n        uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n        uVar9 = uVar9 + (0xfffffffe < uVar10);\n        if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      }\n    }" { (expression_statement "uVar18 = *(uint *)((int)pppuVar13 + 0x38);" (assignment_expression "uVar18 = *(uint *)((int)pppuVar13 + 0x38)" identifier = (pointer_expression "*(uint *)((int)pppuVar13 + 0x38)" * (cast_expression "(uint *)((int)pppuVar13 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x38)" ( (binary_expression "(int)pppuVar13 + 0x38" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar7 = *(uint *)((int)pppuVar13 + 0x3c);" (assignment_expression "uVar7 = *(uint *)((int)pppuVar13 + 0x3c)" identifier = (pointer_expression "*(uint *)((int)pppuVar13 + 0x3c)" * (cast_expression "(uint *)((int)pppuVar13 + 0x3c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x3c)" ( (binary_expression "(int)pppuVar13 + 0x3c" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (uVar18 == uVar7) goto LAB_0007dd85;" if (parenthesized_expression "(uVar18 == uVar7)" ( (binary_expression "uVar18 == uVar7" identifier == identifier) )) (goto_statement "goto LAB_0007dd85;" goto statement_identifier ;)) (expression_statement "iVar8 = *(int *)((int)pppuVar13 + 0x34);" (assignment_expression "iVar8 = *(int *)((int)pppuVar13 + 0x34)" identifier = (pointer_expression "*(int *)((int)pppuVar13 + 0x34)" * (cast_expression "(int *)((int)pppuVar13 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x34)" ( (binary_expression "(int)pppuVar13 + 0x34" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;" (assignment_expression "*(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1" (pointer_expression "*(uint *)((int)pppuVar13 + 0x38)" * (cast_expression "(uint *)((int)pppuVar13 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x38)" ( (binary_expression "(int)pppuVar13 + 0x38" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "uVar18 + 1" identifier + number_literal)) ;) (expression_statement "piVar15 = (int *)pppuVar13;" (assignment_expression "piVar15 = (int *)pppuVar13" identifier = (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;" if (parenthesized_expression "(*(char *)(iVar8 + uVar18) != '\0')" ( (binary_expression "*(char *)(iVar8 + uVar18) != '\0'" (pointer_expression "*(char *)(iVar8 + uVar18)" * (cast_expression "(char *)(iVar8 + uVar18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + uVar18)" ( (binary_expression "iVar8 + uVar18" identifier + identifier) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0007defc;" goto statement_identifier ;)) (expression_statement "uVar9 = uVar9 + (0xfffffffe < uVar10);" (assignment_expression "uVar9 = uVar9 + (0xfffffffe < uVar10)" identifier = (binary_expression "uVar9 + (0xfffffffe < uVar10)" identifier + (parenthesized_expression "(0xfffffffe < uVar10)" ( (binary_expression "0xfffffffe < uVar10" number_literal < identifier) )))) ;) (while_statement "while( true ) {\n        uVar10 = uVar10 + 1;\n        __ptr[0xf] = uVar10;\n        __ptr[0x10] = uVar9;\n        if ((uVar10 & 3) == 0) break;\n        uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n        uVar9 = uVar9 + (0xfffffffe < uVar10);\n        if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        uVar10 = uVar10 + 1;\n        __ptr[0xf] = uVar10;\n        __ptr[0x10] = uVar9;\n        if ((uVar10 & 3) == 0) break;\n        uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n        uVar9 = uVar9 + (0xfffffffe < uVar10);\n        if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      }" { (expression_statement "uVar10 = uVar10 + 1;" (assignment_expression "uVar10 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (expression_statement "__ptr[0xf] = uVar10;" (assignment_expression "__ptr[0xf] = uVar10" (subscript_expression "__ptr[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__ptr[0x10] = uVar9;" (assignment_expression "__ptr[0x10] = uVar9" (subscript_expression "__ptr[0x10]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((uVar10 & 3) == 0) break;" if (parenthesized_expression "((uVar10 & 3) == 0)" ( (binary_expression "(uVar10 & 3) == 0" (parenthesized_expression "(uVar10 & 3)" ( (binary_expression "uVar10 & 3" identifier & number_literal) )) == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar18 = *(uint *)((int)pppuVar13 + 0x38);" (assignment_expression "uVar18 = *(uint *)((int)pppuVar13 + 0x38)" identifier = (pointer_expression "*(uint *)((int)pppuVar13 + 0x38)" * (cast_expression "(uint *)((int)pppuVar13 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x38)" ( (binary_expression "(int)pppuVar13 + 0x38" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (uVar18 == uVar7) goto LAB_0007dd85;" if (parenthesized_expression "(uVar18 == uVar7)" ( (binary_expression "uVar18 == uVar7" identifier == identifier) )) (goto_statement "goto LAB_0007dd85;" goto statement_identifier ;)) (expression_statement "*(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;" (assignment_expression "*(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1" (pointer_expression "*(uint *)((int)pppuVar13 + 0x38)" * (cast_expression "(uint *)((int)pppuVar13 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x38)" ( (binary_expression "(int)pppuVar13 + 0x38" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "uVar18 + 1" identifier + number_literal)) ;) (expression_statement "uVar9 = uVar9 + (0xfffffffe < uVar10);" (assignment_expression "uVar9 = uVar9 + (0xfffffffe < uVar10)" identifier = (binary_expression "uVar9 + (0xfffffffe < uVar10)" identifier + (parenthesized_expression "(0xfffffffe < uVar10)" ( (binary_expression "0xfffffffe < uVar10" number_literal < identifier) )))) ;) (if_statement "if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;" if (parenthesized_expression "(*(char *)(iVar8 + uVar18) != '\0')" ( (binary_expression "*(char *)(iVar8 + uVar18) != '\0'" (pointer_expression "*(char *)(iVar8 + uVar18)" * (cast_expression "(char *)(iVar8 + uVar18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + uVar18)" ( (binary_expression "iVar8 + uVar18" identifier + identifier) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0007defc;" goto statement_identifier ;)) })) })) (expression_statement "*__ptr = 5;" (assignment_expression "*__ptr = 5" (pointer_expression "*__ptr" * identifier) = number_literal) ;) (expression_statement "piVar14 = (int *)pppuVar13;" (assignment_expression "piVar14 = (int *)pppuVar13" identifier = (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (labeled_statement "switchD_0007dbdb_caseD_7e3b0:\n    pppuVar13 = (undefined ***)piVar14;" statement_identifier : (expression_statement "pppuVar13 = (undefined ***)piVar14;" (assignment_expression "pppuVar13 = (undefined ***)piVar14" identifier = (cast_expression "(undefined ***)piVar14" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;)) (if_statement "if (__ptr[7] == 1) {\n      uVar10 = piVar14[0xf];\n      iVar8 = piVar14[0xd];\n      uVar7 = piVar14[0xe];\n      do {\n        if (uVar10 == uVar7) goto LAB_0007dd85;\n        uVar9 = __ptr[1];\n        uVar18 = __ptr[6];\n        uVar7 = uVar7 + 1;\n        piVar14[0xe] = uVar7;\n        if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))\n        goto LAB_0007dcff;\n        uVar9 = uVar9 + 8;\n        __ptr[1] = uVar9;\n      } while (uVar9 < 0x20);\n      __ptr[6] = 0;\n      __ptr[1] = 0;\n    }\n    else {\n      uVar10 = __ptr[1];\n      uVar9 = (uint)*(byte *)(*piVar14 + -0x154a8 + __ptr[7]);\n      if (uVar10 < uVar9) {\n        uVar18 = piVar14[0xe];\n        uVar7 = piVar14[0xf];\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        uVar11 = uVar18;\n        while( true ) {\n          uVar11 = uVar11 + 1;\n          if (uVar11 == (uVar18 - uVar10) + uVar9) break;\n          if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }\n        }\n        piVar14[0xe] = uVar11;\n      }\n      __ptr[1] = 0;\n    }" if (parenthesized_expression "(__ptr[7] == 1)" ( (binary_expression "__ptr[7] == 1" (subscript_expression "__ptr[7]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      uVar10 = piVar14[0xf];\n      iVar8 = piVar14[0xd];\n      uVar7 = piVar14[0xe];\n      do {\n        if (uVar10 == uVar7) goto LAB_0007dd85;\n        uVar9 = __ptr[1];\n        uVar18 = __ptr[6];\n        uVar7 = uVar7 + 1;\n        piVar14[0xe] = uVar7;\n        if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))\n        goto LAB_0007dcff;\n        uVar9 = uVar9 + 8;\n        __ptr[1] = uVar9;\n      } while (uVar9 < 0x20);\n      __ptr[6] = 0;\n      __ptr[1] = 0;\n    }" { (expression_statement "uVar10 = piVar14[0xf];" (assignment_expression "uVar10 = piVar14[0xf]" identifier = (subscript_expression "piVar14[0xf]" identifier [ number_literal ])) ;) (expression_statement "iVar8 = piVar14[0xd];" (assignment_expression "iVar8 = piVar14[0xd]" identifier = (subscript_expression "piVar14[0xd]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = piVar14[0xe];" (assignment_expression "uVar7 = piVar14[0xe]" identifier = (subscript_expression "piVar14[0xe]" identifier [ number_literal ])) ;) (do_statement "do {\n        if (uVar10 == uVar7) goto LAB_0007dd85;\n        uVar9 = __ptr[1];\n        uVar18 = __ptr[6];\n        uVar7 = uVar7 + 1;\n        piVar14[0xe] = uVar7;\n        if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))\n        goto LAB_0007dcff;\n        uVar9 = uVar9 + 8;\n        __ptr[1] = uVar9;\n      } while (uVar9 < 0x20);" do (compound_statement "{\n        if (uVar10 == uVar7) goto LAB_0007dd85;\n        uVar9 = __ptr[1];\n        uVar18 = __ptr[6];\n        uVar7 = uVar7 + 1;\n        piVar14[0xe] = uVar7;\n        if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))\n        goto LAB_0007dcff;\n        uVar9 = uVar9 + 8;\n        __ptr[1] = uVar9;\n      }" { (if_statement "if (uVar10 == uVar7) goto LAB_0007dd85;" if (parenthesized_expression "(uVar10 == uVar7)" ( (binary_expression "uVar10 == uVar7" identifier == identifier) )) (goto_statement "goto LAB_0007dd85;" goto statement_identifier ;)) (expression_statement "uVar9 = __ptr[1];" (assignment_expression "uVar9 = __ptr[1]" identifier = (subscript_expression "__ptr[1]" identifier [ number_literal ])) ;) (expression_statement "uVar18 = __ptr[6];" (assignment_expression "uVar18 = __ptr[6]" identifier = (subscript_expression "__ptr[6]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = uVar7 + 1;" (assignment_expression "uVar7 = uVar7 + 1" identifier = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (expression_statement "piVar14[0xe] = uVar7;" (assignment_expression "piVar14[0xe] = uVar7" (subscript_expression "piVar14[0xe]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))\n        goto LAB_0007dcff;" if (parenthesized_expression "(*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))" ( (binary_expression "*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f))" (pointer_expression "*(char *)(iVar8 + -1 + uVar7)" * (cast_expression "(char *)(iVar8 + -1 + uVar7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + -1 + uVar7)" ( (binary_expression "iVar8 + -1 + uVar7" (binary_expression "iVar8 + -1" identifier + number_literal) + identifier) )))) != (cast_expression "(char)(uVar18 >> ((byte)uVar9 & 0x1f))" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar18 >> ((byte)uVar9 & 0x1f))" ( (binary_expression "uVar18 >> ((byte)uVar9 & 0x1f)" identifier >> (parenthesized_expression "((byte)uVar9 & 0x1f)" ( (binary_expression "(byte)uVar9 & 0x1f" (cast_expression "(byte)uVar9" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) )))) )) (goto_statement "goto LAB_0007dcff;" goto statement_identifier ;)) (expression_statement "uVar9 = uVar9 + 8;" (assignment_expression "uVar9 = uVar9 + 8" identifier = (binary_expression "uVar9 + 8" identifier + number_literal)) ;) (expression_statement "__ptr[1] = uVar9;" (assignment_expression "__ptr[1] = uVar9" (subscript_expression "__ptr[1]" identifier [ number_literal ]) = identifier) ;) }) while (parenthesized_expression "(uVar9 < 0x20)" ( (binary_expression "uVar9 < 0x20" identifier < number_literal) )) ;) (expression_statement "__ptr[6] = 0;" (assignment_expression "__ptr[6] = 0" (subscript_expression "__ptr[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "__ptr[1] = 0;" (assignment_expression "__ptr[1] = 0" (subscript_expression "__ptr[1]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n      uVar10 = __ptr[1];\n      uVar9 = (uint)*(byte *)(*piVar14 + -0x154a8 + __ptr[7]);\n      if (uVar10 < uVar9) {\n        uVar18 = piVar14[0xe];\n        uVar7 = piVar14[0xf];\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        uVar11 = uVar18;\n        while( true ) {\n          uVar11 = uVar11 + 1;\n          if (uVar11 == (uVar18 - uVar10) + uVar9) break;\n          if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }\n        }\n        piVar14[0xe] = uVar11;\n      }\n      __ptr[1] = 0;\n    }" else (compound_statement "{\n      uVar10 = __ptr[1];\n      uVar9 = (uint)*(byte *)(*piVar14 + -0x154a8 + __ptr[7]);\n      if (uVar10 < uVar9) {\n        uVar18 = piVar14[0xe];\n        uVar7 = piVar14[0xf];\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        uVar11 = uVar18;\n        while( true ) {\n          uVar11 = uVar11 + 1;\n          if (uVar11 == (uVar18 - uVar10) + uVar9) break;\n          if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }\n        }\n        piVar14[0xe] = uVar11;\n      }\n      __ptr[1] = 0;\n    }" { (expression_statement "uVar10 = __ptr[1];" (assignment_expression "uVar10 = __ptr[1]" identifier = (subscript_expression "__ptr[1]" identifier [ number_literal ])) ;) (expression_statement "uVar9 = (uint)*(byte *)(*piVar14 + -0x154a8 + __ptr[7]);" (assignment_expression "uVar9 = (uint)*(byte *)(*piVar14 + -0x154a8 + __ptr[7])" identifier = (binary_expression "(uint)*(byte *)(*piVar14 + -0x154a8 + __ptr[7])" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(*piVar14 + -0x154a8 + __ptr[7])" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar14 + -0x154a8 + __ptr[7])" ( (binary_expression "*piVar14 + -0x154a8 + __ptr[7]" (binary_expression "*piVar14 + -0x154a8" (pointer_expression "*piVar14" * identifier) + number_literal) + (subscript_expression "__ptr[7]" identifier [ number_literal ])) ))))) ;) (if_statement "if (uVar10 < uVar9) {\n        uVar18 = piVar14[0xe];\n        uVar7 = piVar14[0xf];\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        uVar11 = uVar18;\n        while( true ) {\n          uVar11 = uVar11 + 1;\n          if (uVar11 == (uVar18 - uVar10) + uVar9) break;\n          if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }\n        }\n        piVar14[0xe] = uVar11;\n      }" if (parenthesized_expression "(uVar10 < uVar9)" ( (binary_expression "uVar10 < uVar9" identifier < identifier) )) (compound_statement "{\n        uVar18 = piVar14[0xe];\n        uVar7 = piVar14[0xf];\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        uVar11 = uVar18;\n        while( true ) {\n          uVar11 = uVar11 + 1;\n          if (uVar11 == (uVar18 - uVar10) + uVar9) break;\n          if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }\n        }\n        piVar14[0xe] = uVar11;\n      }" { (expression_statement "uVar18 = piVar14[0xe];" (assignment_expression "uVar18 = piVar14[0xe]" identifier = (subscript_expression "piVar14[0xe]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = piVar14[0xf];" (assignment_expression "uVar7 = piVar14[0xf]" identifier = (subscript_expression "piVar14[0xf]" identifier [ number_literal ])) ;) (if_statement "if (uVar18 == uVar7) goto LAB_0007dd85;" if (parenthesized_expression "(uVar18 == uVar7)" ( (binary_expression "uVar18 == uVar7" identifier == identifier) )) (goto_statement "goto LAB_0007dd85;" goto statement_identifier ;)) (expression_statement "uVar11 = uVar18;" (assignment_expression "uVar11 = uVar18" identifier = identifier) ;) (while_statement "while( true ) {\n          uVar11 = uVar11 + 1;\n          if (uVar11 == (uVar18 - uVar10) + uVar9) break;\n          if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          uVar11 = uVar11 + 1;\n          if (uVar11 == (uVar18 - uVar10) + uVar9) break;\n          if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }\n        }" { (expression_statement "uVar11 = uVar11 + 1;" (assignment_expression "uVar11 = uVar11 + 1" identifier = (binary_expression "uVar11 + 1" identifier + number_literal)) ;) (if_statement "if (uVar11 == (uVar18 - uVar10) + uVar9) break;" if (parenthesized_expression "(uVar11 == (uVar18 - uVar10) + uVar9)" ( (binary_expression "uVar11 == (uVar18 - uVar10) + uVar9" identifier == (binary_expression "(uVar18 - uVar10) + uVar9" (parenthesized_expression "(uVar18 - uVar10)" ( (binary_expression "uVar18 - uVar10" identifier - identifier) )) + identifier)) )) (break_statement "break;" break ;)) (if_statement "if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }" if (parenthesized_expression "(uVar11 == uVar7)" ( (binary_expression "uVar11 == uVar7" identifier == identifier) )) (compound_statement "{\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }" { (expression_statement "piVar14[0xe] = uVar7;" (assignment_expression "piVar14[0xe] = uVar7" (subscript_expression "piVar14[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__ptr[1] = (uVar11 - uVar18) + uVar10;" (assignment_expression "__ptr[1] = (uVar11 - uVar18) + uVar10" (subscript_expression "__ptr[1]" identifier [ number_literal ]) = (binary_expression "(uVar11 - uVar18) + uVar10" (parenthesized_expression "(uVar11 - uVar18)" ( (binary_expression "uVar11 - uVar18" identifier - identifier) )) + identifier)) ;) (goto_statement "goto LAB_0007dd85;" goto statement_identifier ;) })) })) (expression_statement "piVar14[0xe] = uVar11;" (assignment_expression "piVar14[0xe] = uVar11" (subscript_expression "piVar14[0xe]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "__ptr[1] = 0;" (assignment_expression "__ptr[1] = 0" (subscript_expression "__ptr[1]" identifier [ number_literal ]) = number_literal) ;) }))) (expression_statement "*__ptr = 1;" (assignment_expression "*__ptr = 1" (pointer_expression "*__ptr" * identifier) = number_literal) ;) (expression_statement "uVar7 = 1;" (assignment_expression "uVar7 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0007dbcf;" goto statement_identifier ;)) (case_statement "case 0x7e3b0:\n    goto switchD_0007dbdb_caseD_7e3b0;" case number_literal : (goto_statement "goto switchD_0007dbdb_caseD_7e3b0;" goto statement_identifier ;)) })) (labeled_statement "LAB_0007e4e9:\n  iVar5 = *(int *)((int)piVar15 + 0x44);" statement_identifier : (expression_statement "iVar5 = *(int *)((int)piVar15 + 0x44);" (assignment_expression "iVar5 = *(int *)((int)piVar15 + 0x44)" identifier = (pointer_expression "*(int *)((int)piVar15 + 0x44)" * (cast_expression "(int *)((int)piVar15 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x44)" ( (binary_expression "(int)piVar15 + 0x44" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (expression_statement "iVar8 = 6;" (assignment_expression "iVar8 = 6" identifier = number_literal) ;) (expression_statement "pppuVar13 = (undefined ***)piVar15;" (assignment_expression "pppuVar13 = (undefined ***)piVar15" identifier = (cast_expression "(undefined ***)piVar15" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (goto_statement "goto LAB_0007df05;" goto statement_identifier ;) (labeled_statement "switchD_0007dbdb_caseD_7dc1f:\n  piVar15 = (int *)pppuVar13;" statement_identifier : (expression_statement "piVar15 = (int *)pppuVar13;" (assignment_expression "piVar15 = (int *)pppuVar13" identifier = (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (do_statement "do {\n    *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x3c);\n    *(undefined4 *)((int)piVar15 + -0x14) = 0x7dc3a;\n    iVar8 = FUN_0007d044();\n    piVar14 = (int *)((int)piVar15 + -4);\n    pppuVar13 = (undefined ***)((int)piVar15 + -4);\n    if (iVar8 != 1) {\n      *(undefined4 *)((int)piVar15 + -8) = 0x7dfbc;\n      FUN_0007d137();\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\nLAB_0007dfbc:\n      if (iVar8 == 0) goto LAB_0007dd81;\n      goto LAB_0007dd04;\n    }\n    uVar7 = __ptr[0x1a];\n    if (uVar7 == 1) {\n      puVar1 = __ptr + 0x1f;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x20] = __ptr[0x20] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      __ptr[0x1a] = 2;\nLAB_0007dc68:\n      uVar7 = __ptr[0x1d];\n      uVar10 = __ptr[0x1e];\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\n    }\n    else {\n      if (uVar7 == 0) {\n        uVar7 = __ptr[2];\n        uVar10 = __ptr[3];\n        __ptr[0x1d] = uVar7;\n        __ptr[0x1e] = uVar10;\n        if (__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7) {\n          __ptr[0x1a] = 1;\n          goto LAB_0007dc6e;\n        }\n        goto LAB_0007dcff;\n      }\n      if (uVar7 != 2) goto LAB_0007dc68;\n      puVar1 = __ptr + 0x21;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x22] = __ptr[0x22] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)(*(int *)((int)piVar15 + -4) + 0xcf8);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7df5c;\n      uVar7 = FUN_000a62f1();\n      __ptr[0x23] = ~uVar7;\n      uVar7 = __ptr[0x1d] - 1;\n      uVar10 = (__ptr[0x1e] - 1) + (uint)(__ptr[0x1d] != 0);\n      __ptr[0x1d] = uVar7;\n      __ptr[0x1e] = uVar10;\n      __ptr[0x1a] = 1;\n      pppuVar13 = (undefined ***)((int)piVar15 + -8);\n    }\nLAB_0007dc6e:\n    piVar15 = (int *)pppuVar13;\n  } while (uVar10 != 0 || uVar7 != 0);" do (compound_statement "{\n    *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x3c);\n    *(undefined4 *)((int)piVar15 + -0x14) = 0x7dc3a;\n    iVar8 = FUN_0007d044();\n    piVar14 = (int *)((int)piVar15 + -4);\n    pppuVar13 = (undefined ***)((int)piVar15 + -4);\n    if (iVar8 != 1) {\n      *(undefined4 *)((int)piVar15 + -8) = 0x7dfbc;\n      FUN_0007d137();\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\nLAB_0007dfbc:\n      if (iVar8 == 0) goto LAB_0007dd81;\n      goto LAB_0007dd04;\n    }\n    uVar7 = __ptr[0x1a];\n    if (uVar7 == 1) {\n      puVar1 = __ptr + 0x1f;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x20] = __ptr[0x20] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      __ptr[0x1a] = 2;\nLAB_0007dc68:\n      uVar7 = __ptr[0x1d];\n      uVar10 = __ptr[0x1e];\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\n    }\n    else {\n      if (uVar7 == 0) {\n        uVar7 = __ptr[2];\n        uVar10 = __ptr[3];\n        __ptr[0x1d] = uVar7;\n        __ptr[0x1e] = uVar10;\n        if (__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7) {\n          __ptr[0x1a] = 1;\n          goto LAB_0007dc6e;\n        }\n        goto LAB_0007dcff;\n      }\n      if (uVar7 != 2) goto LAB_0007dc68;\n      puVar1 = __ptr + 0x21;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x22] = __ptr[0x22] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)(*(int *)((int)piVar15 + -4) + 0xcf8);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7df5c;\n      uVar7 = FUN_000a62f1();\n      __ptr[0x23] = ~uVar7;\n      uVar7 = __ptr[0x1d] - 1;\n      uVar10 = (__ptr[0x1e] - 1) + (uint)(__ptr[0x1d] != 0);\n      __ptr[0x1d] = uVar7;\n      __ptr[0x1e] = uVar10;\n      __ptr[0x1a] = 1;\n      pppuVar13 = (undefined ***)((int)piVar15 + -8);\n    }\nLAB_0007dc6e:\n    piVar15 = (int *)pppuVar13;\n  }" { (expression_statement "*(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x3c);" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x3c)" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x10)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x10)" ( (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)piVar15 + 0x3c)" * (cast_expression "(undefined4 *)((int)piVar15 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x3c)" ( (binary_expression "(int)piVar15 + 0x3c" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = 0x7dc3a;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = 0x7dc3a" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x14)" ( (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = FUN_0007d044();" (assignment_expression "iVar8 = FUN_0007d044()" identifier = (call_expression "FUN_0007d044()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar14 = (int *)((int)piVar15 + -4);" (assignment_expression "piVar14 = (int *)((int)piVar15 + -4)" identifier = (cast_expression "(int *)((int)piVar15 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -4)" ( (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pppuVar13 = (undefined ***)((int)piVar15 + -4);" (assignment_expression "pppuVar13 = (undefined ***)((int)piVar15 + -4)" identifier = (cast_expression "(undefined ***)((int)piVar15 + -4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)piVar15 + -4)" ( (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (iVar8 != 1) {\n      *(undefined4 *)((int)piVar15 + -8) = 0x7dfbc;\n      FUN_0007d137();\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\nLAB_0007dfbc:\n      if (iVar8 == 0) goto LAB_0007dd81;\n      goto LAB_0007dd04;\n    }" if (parenthesized_expression "(iVar8 != 1)" ( (binary_expression "iVar8 != 1" identifier != number_literal) )) (compound_statement "{\n      *(undefined4 *)((int)piVar15 + -8) = 0x7dfbc;\n      FUN_0007d137();\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\nLAB_0007dfbc:\n      if (iVar8 == 0) goto LAB_0007dd81;\n      goto LAB_0007dd04;\n    }" { (expression_statement "*(undefined4 *)((int)piVar15 + -8) = 0x7dfbc;" (assignment_expression "*(undefined4 *)((int)piVar15 + -8) = 0x7dfbc" (pointer_expression "*(undefined4 *)((int)piVar15 + -8)" * (cast_expression "(undefined4 *)((int)piVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -8)" ( (binary_expression "(int)piVar15 + -8" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0007d137();" (call_expression "FUN_0007d137()" identifier (argument_list "()" ( ))) ;) (expression_statement "pppuVar13 = (undefined ***)((int)piVar15 + -4);" (assignment_expression "pppuVar13 = (undefined ***)((int)piVar15 + -4)" identifier = (cast_expression "(undefined ***)((int)piVar15 + -4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)piVar15 + -4)" ( (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (labeled_statement "LAB_0007dfbc:\n      if (iVar8 == 0) goto LAB_0007dd81;" statement_identifier : (if_statement "if (iVar8 == 0) goto LAB_0007dd81;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0007dd81;" goto statement_identifier ;))) (goto_statement "goto LAB_0007dd04;" goto statement_identifier ;) })) (expression_statement "uVar7 = __ptr[0x1a];" (assignment_expression "uVar7 = __ptr[0x1a]" identifier = (subscript_expression "__ptr[0x1a]" identifier [ number_literal ])) ;) (if_statement "if (uVar7 == 1) {\n      puVar1 = __ptr + 0x1f;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x20] = __ptr[0x20] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      __ptr[0x1a] = 2;\nLAB_0007dc68:\n      uVar7 = __ptr[0x1d];\n      uVar10 = __ptr[0x1e];\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\n    }\n    else {\n      if (uVar7 == 0) {\n        uVar7 = __ptr[2];\n        uVar10 = __ptr[3];\n        __ptr[0x1d] = uVar7;\n        __ptr[0x1e] = uVar10;\n        if (__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7) {\n          __ptr[0x1a] = 1;\n          goto LAB_0007dc6e;\n        }\n        goto LAB_0007dcff;\n      }\n      if (uVar7 != 2) goto LAB_0007dc68;\n      puVar1 = __ptr + 0x21;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x22] = __ptr[0x22] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)(*(int *)((int)piVar15 + -4) + 0xcf8);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7df5c;\n      uVar7 = FUN_000a62f1();\n      __ptr[0x23] = ~uVar7;\n      uVar7 = __ptr[0x1d] - 1;\n      uVar10 = (__ptr[0x1e] - 1) + (uint)(__ptr[0x1d] != 0);\n      __ptr[0x1d] = uVar7;\n      __ptr[0x1e] = uVar10;\n      __ptr[0x1a] = 1;\n      pppuVar13 = (undefined ***)((int)piVar15 + -8);\n    }" if (parenthesized_expression "(uVar7 == 1)" ( (binary_expression "uVar7 == 1" identifier == number_literal) )) (compound_statement "{\n      puVar1 = __ptr + 0x1f;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x20] = __ptr[0x20] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      __ptr[0x1a] = 2;\nLAB_0007dc68:\n      uVar7 = __ptr[0x1d];\n      uVar10 = __ptr[0x1e];\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\n    }" { (expression_statement "puVar1 = __ptr + 0x1f;" (assignment_expression "puVar1 = __ptr + 0x1f" identifier = (binary_expression "__ptr + 0x1f" identifier + number_literal)) ;) (expression_statement "uVar7 = *puVar1;" (assignment_expression "uVar7 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "*puVar1 = *puVar1 + __ptr[2];" (assignment_expression "*puVar1 = *puVar1 + __ptr[2]" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 + __ptr[2]" (pointer_expression "*puVar1" * identifier) + (subscript_expression "__ptr[2]" identifier [ number_literal ]))) ;) (expression_statement "__ptr[0x20] = __ptr[0x20] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);" (assignment_expression "__ptr[0x20] = __ptr[0x20] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2])" (subscript_expression "__ptr[0x20]" identifier [ number_literal ]) = (binary_expression "__ptr[0x20] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2])" (binary_expression "__ptr[0x20] + __ptr[3]" (subscript_expression "__ptr[0x20]" identifier [ number_literal ]) + (subscript_expression "__ptr[3]" identifier [ number_literal ])) + (cast_expression "(uint)CARRY4(uVar7,__ptr[2])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar7,__ptr[2])" identifier (argument_list "(uVar7,__ptr[2])" ( identifier , (subscript_expression "__ptr[2]" identifier [ number_literal ]) )))))) ;) (expression_statement "__ptr[0x1a] = 2;" (assignment_expression "__ptr[0x1a] = 2" (subscript_expression "__ptr[0x1a]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_0007dc68:\n      uVar7 = __ptr[0x1d];" statement_identifier : (expression_statement "uVar7 = __ptr[0x1d];" (assignment_expression "uVar7 = __ptr[0x1d]" identifier = (subscript_expression "__ptr[0x1d]" identifier [ number_literal ])) ;)) (expression_statement "uVar10 = __ptr[0x1e];" (assignment_expression "uVar10 = __ptr[0x1e]" identifier = (subscript_expression "__ptr[0x1e]" identifier [ number_literal ])) ;) (expression_statement "pppuVar13 = (undefined ***)((int)piVar15 + -4);" (assignment_expression "pppuVar13 = (undefined ***)((int)piVar15 + -4)" identifier = (cast_expression "(undefined ***)((int)piVar15 + -4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)piVar15 + -4)" ( (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) (else_clause "else {\n      if (uVar7 == 0) {\n        uVar7 = __ptr[2];\n        uVar10 = __ptr[3];\n        __ptr[0x1d] = uVar7;\n        __ptr[0x1e] = uVar10;\n        if (__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7) {\n          __ptr[0x1a] = 1;\n          goto LAB_0007dc6e;\n        }\n        goto LAB_0007dcff;\n      }\n      if (uVar7 != 2) goto LAB_0007dc68;\n      puVar1 = __ptr + 0x21;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x22] = __ptr[0x22] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)(*(int *)((int)piVar15 + -4) + 0xcf8);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7df5c;\n      uVar7 = FUN_000a62f1();\n      __ptr[0x23] = ~uVar7;\n      uVar7 = __ptr[0x1d] - 1;\n      uVar10 = (__ptr[0x1e] - 1) + (uint)(__ptr[0x1d] != 0);\n      __ptr[0x1d] = uVar7;\n      __ptr[0x1e] = uVar10;\n      __ptr[0x1a] = 1;\n      pppuVar13 = (undefined ***)((int)piVar15 + -8);\n    }" else (compound_statement "{\n      if (uVar7 == 0) {\n        uVar7 = __ptr[2];\n        uVar10 = __ptr[3];\n        __ptr[0x1d] = uVar7;\n        __ptr[0x1e] = uVar10;\n        if (__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7) {\n          __ptr[0x1a] = 1;\n          goto LAB_0007dc6e;\n        }\n        goto LAB_0007dcff;\n      }\n      if (uVar7 != 2) goto LAB_0007dc68;\n      puVar1 = __ptr + 0x21;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x22] = __ptr[0x22] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)(*(int *)((int)piVar15 + -4) + 0xcf8);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7df5c;\n      uVar7 = FUN_000a62f1();\n      __ptr[0x23] = ~uVar7;\n      uVar7 = __ptr[0x1d] - 1;\n      uVar10 = (__ptr[0x1e] - 1) + (uint)(__ptr[0x1d] != 0);\n      __ptr[0x1d] = uVar7;\n      __ptr[0x1e] = uVar10;\n      __ptr[0x1a] = 1;\n      pppuVar13 = (undefined ***)((int)piVar15 + -8);\n    }" { (if_statement "if (uVar7 == 0) {\n        uVar7 = __ptr[2];\n        uVar10 = __ptr[3];\n        __ptr[0x1d] = uVar7;\n        __ptr[0x1e] = uVar10;\n        if (__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7) {\n          __ptr[0x1a] = 1;\n          goto LAB_0007dc6e;\n        }\n        goto LAB_0007dcff;\n      }" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar7 = __ptr[2];\n        uVar10 = __ptr[3];\n        __ptr[0x1d] = uVar7;\n        __ptr[0x1e] = uVar10;\n        if (__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7) {\n          __ptr[0x1a] = 1;\n          goto LAB_0007dc6e;\n        }\n        goto LAB_0007dcff;\n      }" { (expression_statement "uVar7 = __ptr[2];" (assignment_expression "uVar7 = __ptr[2]" identifier = (subscript_expression "__ptr[2]" identifier [ number_literal ])) ;) (expression_statement "uVar10 = __ptr[3];" (assignment_expression "uVar10 = __ptr[3]" identifier = (subscript_expression "__ptr[3]" identifier [ number_literal ])) ;) (expression_statement "__ptr[0x1d] = uVar7;" (assignment_expression "__ptr[0x1d] = uVar7" (subscript_expression "__ptr[0x1d]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__ptr[0x1e] = uVar10;" (assignment_expression "__ptr[0x1e] = uVar10" (subscript_expression "__ptr[0x1e]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7) {\n          __ptr[0x1a] = 1;\n          goto LAB_0007dc6e;\n        }" if (parenthesized_expression "(__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7)" ( (binary_expression "__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7" (binary_expression "__ptr[0x14] == uVar10" (subscript_expression "__ptr[0x14]" identifier [ number_literal ]) == identifier) && (binary_expression "__ptr[0x13] == uVar7" (subscript_expression "__ptr[0x13]" identifier [ number_literal ]) == identifier)) )) (compound_statement "{\n          __ptr[0x1a] = 1;\n          goto LAB_0007dc6e;\n        }" { (expression_statement "__ptr[0x1a] = 1;" (assignment_expression "__ptr[0x1a] = 1" (subscript_expression "__ptr[0x1a]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0007dc6e;" goto statement_identifier ;) })) (goto_statement "goto LAB_0007dcff;" goto statement_identifier ;) })) (if_statement "if (uVar7 != 2) goto LAB_0007dc68;" if (parenthesized_expression "(uVar7 != 2)" ( (binary_expression "uVar7 != 2" identifier != number_literal) )) (goto_statement "goto LAB_0007dc68;" goto statement_identifier ;)) (expression_statement "puVar1 = __ptr + 0x21;" (assignment_expression "puVar1 = __ptr + 0x21" identifier = (binary_expression "__ptr + 0x21" identifier + number_literal)) ;) (expression_statement "uVar7 = *puVar1;" (assignment_expression "uVar7 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "*puVar1 = *puVar1 + __ptr[2];" (assignment_expression "*puVar1 = *puVar1 + __ptr[2]" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 + __ptr[2]" (pointer_expression "*puVar1" * identifier) + (subscript_expression "__ptr[2]" identifier [ number_literal ]))) ;) (expression_statement "__ptr[0x22] = __ptr[0x22] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);" (assignment_expression "__ptr[0x22] = __ptr[0x22] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2])" (subscript_expression "__ptr[0x22]" identifier [ number_literal ]) = (binary_expression "__ptr[0x22] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2])" (binary_expression "__ptr[0x22] + __ptr[3]" (subscript_expression "__ptr[0x22]" identifier [ number_literal ]) + (subscript_expression "__ptr[3]" identifier [ number_literal ])) + (cast_expression "(uint)CARRY4(uVar7,__ptr[2])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar7,__ptr[2])" identifier (argument_list "(uVar7,__ptr[2])" ( identifier , (subscript_expression "__ptr[2]" identifier [ number_literal ]) )))))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)(*(int *)((int)piVar15 + -4) + 0xcf8);" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)(*(int *)((int)piVar15 + -4) + 0xcf8)" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x14)" ( (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(*(int *)((int)piVar15 + -4) + 0xcf8)" * (cast_expression "(undefined4 *)(*(int *)((int)piVar15 + -4) + 0xcf8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)piVar15 + -4) + 0xcf8)" ( (binary_expression "*(int *)((int)piVar15 + -4) + 0xcf8" (pointer_expression "*(int *)((int)piVar15 + -4)" * (cast_expression "(int *)((int)piVar15 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -4)" ( (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x18) = 0x7df5c;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x18) = 0x7df5c" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x18)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x18)" ( (binary_expression "(int)piVar15 + -0x18" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar7 = FUN_000a62f1();" (assignment_expression "uVar7 = FUN_000a62f1()" identifier = (call_expression "FUN_000a62f1()" identifier (argument_list "()" ( )))) ;) (expression_statement "__ptr[0x23] = ~uVar7;" (assignment_expression "__ptr[0x23] = ~uVar7" (subscript_expression "__ptr[0x23]" identifier [ number_literal ]) = (unary_expression "~uVar7" ~ identifier)) ;) (expression_statement "uVar7 = __ptr[0x1d] - 1;" (assignment_expression "uVar7 = __ptr[0x1d] - 1" identifier = (binary_expression "__ptr[0x1d] - 1" (subscript_expression "__ptr[0x1d]" identifier [ number_literal ]) - number_literal)) ;) (expression_statement "uVar10 = (__ptr[0x1e] - 1) + (uint)(__ptr[0x1d] != 0);" (assignment_expression "uVar10 = (__ptr[0x1e] - 1) + (uint)(__ptr[0x1d] != 0)" identifier = (binary_expression "(__ptr[0x1e] - 1) + (uint)(__ptr[0x1d] != 0)" (parenthesized_expression "(__ptr[0x1e] - 1)" ( (binary_expression "__ptr[0x1e] - 1" (subscript_expression "__ptr[0x1e]" identifier [ number_literal ]) - number_literal) )) + (call_expression "(uint)(__ptr[0x1d] != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(__ptr[0x1d] != 0)" ( (binary_expression "__ptr[0x1d] != 0" (subscript_expression "__ptr[0x1d]" identifier [ number_literal ]) != number_literal) ))))) ;) (expression_statement "__ptr[0x1d] = uVar7;" (assignment_expression "__ptr[0x1d] = uVar7" (subscript_expression "__ptr[0x1d]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__ptr[0x1e] = uVar10;" (assignment_expression "__ptr[0x1e] = uVar10" (subscript_expression "__ptr[0x1e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__ptr[0x1a] = 1;" (assignment_expression "__ptr[0x1a] = 1" (subscript_expression "__ptr[0x1a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pppuVar13 = (undefined ***)((int)piVar15 + -8);" (assignment_expression "pppuVar13 = (undefined ***)((int)piVar15 + -8)" identifier = (cast_expression "(undefined ***)((int)piVar15 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)piVar15 + -8)" ( (binary_expression "(int)piVar15 + -8" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }))) (labeled_statement "LAB_0007dc6e:\n    piVar15 = (int *)pppuVar13;" statement_identifier : (expression_statement "piVar15 = (int *)pppuVar13;" (assignment_expression "piVar15 = (int *)pppuVar13" identifier = (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;)) }) while (parenthesized_expression "(uVar10 != 0 || uVar7 != 0)" ( (binary_expression "uVar10 != 0 || uVar7 != 0" (binary_expression "uVar10 != 0" identifier != number_literal) || (binary_expression "uVar7 != 0" identifier != number_literal)) )) ;) (expression_statement "*__ptr = 7;" (assignment_expression "*__ptr = 7" (pointer_expression "*__ptr" * identifier) = number_literal) ;) (labeled_statement "switchD_0007dbdb_caseD_7dc7d:\n  uVar7 = __ptr[0x1b];" statement_identifier : (expression_statement "uVar7 = __ptr[0x1b];" (assignment_expression "uVar7 = __ptr[0x1b]" identifier = (subscript_expression "__ptr[0x1b]" identifier [ number_literal ])) ;)) (expression_statement "iVar8 = *(int *)((int)pppuVar13 + 0x38) + 1;" (assignment_expression "iVar8 = *(int *)((int)pppuVar13 + 0x38) + 1" identifier = (binary_expression "*(int *)((int)pppuVar13 + 0x38) + 1" (pointer_expression "*(int *)((int)pppuVar13 + 0x38)" * (cast_expression "(int *)((int)pppuVar13 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x38)" ( (binary_expression "(int)pppuVar13 + 0x38" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (expression_statement "uVar10 = __ptr[4];" (assignment_expression "uVar10 = __ptr[4]" identifier = (subscript_expression "__ptr[4]" identifier [ number_literal ])) ;) (labeled_statement "LAB_0007dc95:\n  if ((~uVar10 + iVar8 + uVar7 & 3) == 0) {\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dcae;\n    uVar6 = FUN_0007d137();\n    *(undefined4 *)((int)pppuVar13 + -4) = uVar6;\n    *(undefined4 *)((int)pppuVar13 + -8) = 0x14;\n    *(uint **)((int)pppuVar13 + -0xc) = __ptr + 0x1f;\n    *(uint **)((int)pppuVar13 + -0x10) = __ptr + 0x15;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7dcc2;\n    iVar8 = memcmp(*(void **)((int)pppuVar13 + -0x10),*(void **)((int)pppuVar13 + -0xc),\n                   *(size_t *)((int)pppuVar13 + -8));\n    piVar15 = (int *)pppuVar13;\n    if (iVar8 != 0) goto LAB_0007ddc4;\n    *__ptr = 8;\nswitchD_0007dbdb_caseD_7dcd4:\n    uVar10 = *(uint *)((int)pppuVar13 + 0x3c);\n    iVar8 = *(int *)((int)pppuVar13 + 0x34);\n    uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n    while (uVar10 != uVar7) {\n      uVar9 = __ptr[1];\n      uVar18 = __ptr[6];\n      uVar7 = uVar7 + 1;\n      *(uint *)((int)pppuVar13 + 0x38) = uVar7;\n      piVar14 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f))) {\nLAB_0007dcff:\n        iVar8 = 7;\n        pppuVar13 = (undefined ***)piVar14;\nLAB_0007dd04:\n        *(undefined1 *)(__ptr + 9) = 0;\n        iVar5 = *(int *)((int)pppuVar13 + 0x44);\n        goto joined_r0x0007dd0e;\n      }\n      uVar9 = uVar9 + 8;\n      __ptr[1] = uVar9;\n      if (0x1f < uVar9) {\n        __ptr[6] = 0;\n        __ptr[1] = 0;\n        __ptr[0x25] = 0xc;\n        *__ptr = 9;\nswitchD_0007dbdb_caseD_7dd72:\n        piVar14[-1] = 0x7dd7d;\n        cVar3 = FUN_0007d93a();\n        pppuVar13 = (undefined ***)piVar14;\n        if (cVar3 == '\0') {\nLAB_0007dd81:\n          uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n          break;\n        }\n        piVar15 = piVar14;\n        if (*(short *)((int)__ptr + 0xa2) == 0x5a59) {\n          piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n          piVar14[-5] = 0x7de00;\n          uVar7 = FUN_000a62f1();\n          piVar12 = piVar14 + -1;\n          pppuVar13 = (undefined ***)(piVar14 + -1);\n          piVar15 = piVar14 + -1;\n          if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;\n          iVar8 = piVar14[0x10];\n          if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }\n          *(undefined1 *)(__ptr + 9) = 0;\n          if (iVar8 != 0) {\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }\n          goto LAB_0007de8b;\n        }\nLAB_0007ddc4:\n        pppuVar13 = (undefined ***)piVar15;\n        *(undefined1 *)(__ptr + 9) = 0;\n        if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n        iVar8 = 7;\n        goto LAB_0007de61;\n      }\n    }\n  }\n  else {\n    if (*(int *)((int)pppuVar13 + 0x3c) + 1 != iVar8) goto LAB_0007deec;\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dee3;\n    FUN_0007d137();\n    uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n  }" statement_identifier : (if_statement "if ((~uVar10 + iVar8 + uVar7 & 3) == 0) {\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dcae;\n    uVar6 = FUN_0007d137();\n    *(undefined4 *)((int)pppuVar13 + -4) = uVar6;\n    *(undefined4 *)((int)pppuVar13 + -8) = 0x14;\n    *(uint **)((int)pppuVar13 + -0xc) = __ptr + 0x1f;\n    *(uint **)((int)pppuVar13 + -0x10) = __ptr + 0x15;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7dcc2;\n    iVar8 = memcmp(*(void **)((int)pppuVar13 + -0x10),*(void **)((int)pppuVar13 + -0xc),\n                   *(size_t *)((int)pppuVar13 + -8));\n    piVar15 = (int *)pppuVar13;\n    if (iVar8 != 0) goto LAB_0007ddc4;\n    *__ptr = 8;\nswitchD_0007dbdb_caseD_7dcd4:\n    uVar10 = *(uint *)((int)pppuVar13 + 0x3c);\n    iVar8 = *(int *)((int)pppuVar13 + 0x34);\n    uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n    while (uVar10 != uVar7) {\n      uVar9 = __ptr[1];\n      uVar18 = __ptr[6];\n      uVar7 = uVar7 + 1;\n      *(uint *)((int)pppuVar13 + 0x38) = uVar7;\n      piVar14 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f))) {\nLAB_0007dcff:\n        iVar8 = 7;\n        pppuVar13 = (undefined ***)piVar14;\nLAB_0007dd04:\n        *(undefined1 *)(__ptr + 9) = 0;\n        iVar5 = *(int *)((int)pppuVar13 + 0x44);\n        goto joined_r0x0007dd0e;\n      }\n      uVar9 = uVar9 + 8;\n      __ptr[1] = uVar9;\n      if (0x1f < uVar9) {\n        __ptr[6] = 0;\n        __ptr[1] = 0;\n        __ptr[0x25] = 0xc;\n        *__ptr = 9;\nswitchD_0007dbdb_caseD_7dd72:\n        piVar14[-1] = 0x7dd7d;\n        cVar3 = FUN_0007d93a();\n        pppuVar13 = (undefined ***)piVar14;\n        if (cVar3 == '\0') {\nLAB_0007dd81:\n          uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n          break;\n        }\n        piVar15 = piVar14;\n        if (*(short *)((int)__ptr + 0xa2) == 0x5a59) {\n          piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n          piVar14[-5] = 0x7de00;\n          uVar7 = FUN_000a62f1();\n          piVar12 = piVar14 + -1;\n          pppuVar13 = (undefined ***)(piVar14 + -1);\n          piVar15 = piVar14 + -1;\n          if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;\n          iVar8 = piVar14[0x10];\n          if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }\n          *(undefined1 *)(__ptr + 9) = 0;\n          if (iVar8 != 0) {\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }\n          goto LAB_0007de8b;\n        }\nLAB_0007ddc4:\n        pppuVar13 = (undefined ***)piVar15;\n        *(undefined1 *)(__ptr + 9) = 0;\n        if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n        iVar8 = 7;\n        goto LAB_0007de61;\n      }\n    }\n  }\n  else {\n    if (*(int *)((int)pppuVar13 + 0x3c) + 1 != iVar8) goto LAB_0007deec;\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dee3;\n    FUN_0007d137();\n    uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n  }" if (parenthesized_expression "((~uVar10 + iVar8 + uVar7 & 3) == 0)" ( (binary_expression "(~uVar10 + iVar8 + uVar7 & 3) == 0" (parenthesized_expression "(~uVar10 + iVar8 + uVar7 & 3)" ( (binary_expression "~uVar10 + iVar8 + uVar7 & 3" (binary_expression "~uVar10 + iVar8 + uVar7" (binary_expression "~uVar10 + iVar8" (unary_expression "~uVar10" ~ identifier) + identifier) + identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dcae;\n    uVar6 = FUN_0007d137();\n    *(undefined4 *)((int)pppuVar13 + -4) = uVar6;\n    *(undefined4 *)((int)pppuVar13 + -8) = 0x14;\n    *(uint **)((int)pppuVar13 + -0xc) = __ptr + 0x1f;\n    *(uint **)((int)pppuVar13 + -0x10) = __ptr + 0x15;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7dcc2;\n    iVar8 = memcmp(*(void **)((int)pppuVar13 + -0x10),*(void **)((int)pppuVar13 + -0xc),\n                   *(size_t *)((int)pppuVar13 + -8));\n    piVar15 = (int *)pppuVar13;\n    if (iVar8 != 0) goto LAB_0007ddc4;\n    *__ptr = 8;\nswitchD_0007dbdb_caseD_7dcd4:\n    uVar10 = *(uint *)((int)pppuVar13 + 0x3c);\n    iVar8 = *(int *)((int)pppuVar13 + 0x34);\n    uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n    while (uVar10 != uVar7) {\n      uVar9 = __ptr[1];\n      uVar18 = __ptr[6];\n      uVar7 = uVar7 + 1;\n      *(uint *)((int)pppuVar13 + 0x38) = uVar7;\n      piVar14 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f))) {\nLAB_0007dcff:\n        iVar8 = 7;\n        pppuVar13 = (undefined ***)piVar14;\nLAB_0007dd04:\n        *(undefined1 *)(__ptr + 9) = 0;\n        iVar5 = *(int *)((int)pppuVar13 + 0x44);\n        goto joined_r0x0007dd0e;\n      }\n      uVar9 = uVar9 + 8;\n      __ptr[1] = uVar9;\n      if (0x1f < uVar9) {\n        __ptr[6] = 0;\n        __ptr[1] = 0;\n        __ptr[0x25] = 0xc;\n        *__ptr = 9;\nswitchD_0007dbdb_caseD_7dd72:\n        piVar14[-1] = 0x7dd7d;\n        cVar3 = FUN_0007d93a();\n        pppuVar13 = (undefined ***)piVar14;\n        if (cVar3 == '\0') {\nLAB_0007dd81:\n          uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n          break;\n        }\n        piVar15 = piVar14;\n        if (*(short *)((int)__ptr + 0xa2) == 0x5a59) {\n          piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n          piVar14[-5] = 0x7de00;\n          uVar7 = FUN_000a62f1();\n          piVar12 = piVar14 + -1;\n          pppuVar13 = (undefined ***)(piVar14 + -1);\n          piVar15 = piVar14 + -1;\n          if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;\n          iVar8 = piVar14[0x10];\n          if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }\n          *(undefined1 *)(__ptr + 9) = 0;\n          if (iVar8 != 0) {\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }\n          goto LAB_0007de8b;\n        }\nLAB_0007ddc4:\n        pppuVar13 = (undefined ***)piVar15;\n        *(undefined1 *)(__ptr + 9) = 0;\n        if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n        iVar8 = 7;\n        goto LAB_0007de61;\n      }\n    }\n  }" { (expression_statement "*(undefined4 *)((int)pppuVar13 + -4) = 0x7dcae;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -4) = 0x7dcae" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -4)" * (cast_expression "(undefined4 *)((int)pppuVar13 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -4)" ( (binary_expression "(int)pppuVar13 + -4" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar6 = FUN_0007d137();" (assignment_expression "uVar6 = FUN_0007d137()" identifier = (call_expression "FUN_0007d137()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)((int)pppuVar13 + -4) = uVar6;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -4) = uVar6" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -4)" * (cast_expression "(undefined4 *)((int)pppuVar13 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -4)" ( (binary_expression "(int)pppuVar13 + -4" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)pppuVar13 + -8) = 0x14;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -8) = 0x14" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -8)" * (cast_expression "(undefined4 *)((int)pppuVar13 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -8)" ( (binary_expression "(int)pppuVar13 + -8" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(uint **)((int)pppuVar13 + -0xc) = __ptr + 0x1f;" (assignment_expression "*(uint **)((int)pppuVar13 + -0xc) = __ptr + 0x1f" (pointer_expression "*(uint **)((int)pppuVar13 + -0xc)" * (cast_expression "(uint **)((int)pppuVar13 + -0xc)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppuVar13 + -0xc)" ( (binary_expression "(int)pppuVar13 + -0xc" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "__ptr + 0x1f" identifier + number_literal)) ;) (expression_statement "*(uint **)((int)pppuVar13 + -0x10) = __ptr + 0x15;" (assignment_expression "*(uint **)((int)pppuVar13 + -0x10) = __ptr + 0x15" (pointer_expression "*(uint **)((int)pppuVar13 + -0x10)" * (cast_expression "(uint **)((int)pppuVar13 + -0x10)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppuVar13 + -0x10)" ( (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "__ptr + 0x15" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7dcc2;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7dcc2" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -0x14)" * (cast_expression "(undefined4 *)((int)pppuVar13 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -0x14)" ( (binary_expression "(int)pppuVar13 + -0x14" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = memcmp(*(void **)((int)pppuVar13 + -0x10),*(void **)((int)pppuVar13 + -0xc),\n                   *(size_t *)((int)pppuVar13 + -8));" (assignment_expression "iVar8 = memcmp(*(void **)((int)pppuVar13 + -0x10),*(void **)((int)pppuVar13 + -0xc),\n                   *(size_t *)((int)pppuVar13 + -8))" identifier = (call_expression "memcmp(*(void **)((int)pppuVar13 + -0x10),*(void **)((int)pppuVar13 + -0xc),\n                   *(size_t *)((int)pppuVar13 + -8))" identifier (argument_list "(*(void **)((int)pppuVar13 + -0x10),*(void **)((int)pppuVar13 + -0xc),\n                   *(size_t *)((int)pppuVar13 + -8))" ( (pointer_expression "*(void **)((int)pppuVar13 + -0x10)" * (cast_expression "(void **)((int)pppuVar13 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppuVar13 + -0x10)" ( (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(void **)((int)pppuVar13 + -0xc)" * (cast_expression "(void **)((int)pppuVar13 + -0xc)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppuVar13 + -0xc)" ( (binary_expression "(int)pppuVar13 + -0xc" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(size_t *)((int)pppuVar13 + -8)" * (cast_expression "(size_t *)((int)pppuVar13 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -8)" ( (binary_expression "(int)pppuVar13 + -8" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "piVar15 = (int *)pppuVar13;" (assignment_expression "piVar15 = (int *)pppuVar13" identifier = (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (iVar8 != 0) goto LAB_0007ddc4;" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0007ddc4;" goto statement_identifier ;)) (expression_statement "*__ptr = 8;" (assignment_expression "*__ptr = 8" (pointer_expression "*__ptr" * identifier) = number_literal) ;) (labeled_statement "switchD_0007dbdb_caseD_7dcd4:\n    uVar10 = *(uint *)((int)pppuVar13 + 0x3c);" statement_identifier : (expression_statement "uVar10 = *(uint *)((int)pppuVar13 + 0x3c);" (assignment_expression "uVar10 = *(uint *)((int)pppuVar13 + 0x3c)" identifier = (pointer_expression "*(uint *)((int)pppuVar13 + 0x3c)" * (cast_expression "(uint *)((int)pppuVar13 + 0x3c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x3c)" ( (binary_expression "(int)pppuVar13 + 0x3c" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (expression_statement "iVar8 = *(int *)((int)pppuVar13 + 0x34);" (assignment_expression "iVar8 = *(int *)((int)pppuVar13 + 0x34)" identifier = (pointer_expression "*(int *)((int)pppuVar13 + 0x34)" * (cast_expression "(int *)((int)pppuVar13 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x34)" ( (binary_expression "(int)pppuVar13 + 0x34" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar7 = *(uint *)((int)pppuVar13 + 0x38);" (assignment_expression "uVar7 = *(uint *)((int)pppuVar13 + 0x38)" identifier = (pointer_expression "*(uint *)((int)pppuVar13 + 0x38)" * (cast_expression "(uint *)((int)pppuVar13 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x38)" ( (binary_expression "(int)pppuVar13 + 0x38" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (while_statement "while (uVar10 != uVar7) {\n      uVar9 = __ptr[1];\n      uVar18 = __ptr[6];\n      uVar7 = uVar7 + 1;\n      *(uint *)((int)pppuVar13 + 0x38) = uVar7;\n      piVar14 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f))) {\nLAB_0007dcff:\n        iVar8 = 7;\n        pppuVar13 = (undefined ***)piVar14;\nLAB_0007dd04:\n        *(undefined1 *)(__ptr + 9) = 0;\n        iVar5 = *(int *)((int)pppuVar13 + 0x44);\n        goto joined_r0x0007dd0e;\n      }\n      uVar9 = uVar9 + 8;\n      __ptr[1] = uVar9;\n      if (0x1f < uVar9) {\n        __ptr[6] = 0;\n        __ptr[1] = 0;\n        __ptr[0x25] = 0xc;\n        *__ptr = 9;\nswitchD_0007dbdb_caseD_7dd72:\n        piVar14[-1] = 0x7dd7d;\n        cVar3 = FUN_0007d93a();\n        pppuVar13 = (undefined ***)piVar14;\n        if (cVar3 == '\0') {\nLAB_0007dd81:\n          uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n          break;\n        }\n        piVar15 = piVar14;\n        if (*(short *)((int)__ptr + 0xa2) == 0x5a59) {\n          piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n          piVar14[-5] = 0x7de00;\n          uVar7 = FUN_000a62f1();\n          piVar12 = piVar14 + -1;\n          pppuVar13 = (undefined ***)(piVar14 + -1);\n          piVar15 = piVar14 + -1;\n          if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;\n          iVar8 = piVar14[0x10];\n          if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }\n          *(undefined1 *)(__ptr + 9) = 0;\n          if (iVar8 != 0) {\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }\n          goto LAB_0007de8b;\n        }\nLAB_0007ddc4:\n        pppuVar13 = (undefined ***)piVar15;\n        *(undefined1 *)(__ptr + 9) = 0;\n        if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n        iVar8 = 7;\n        goto LAB_0007de61;\n      }\n    }" while (parenthesized_expression "(uVar10 != uVar7)" ( (binary_expression "uVar10 != uVar7" identifier != identifier) )) (compound_statement "{\n      uVar9 = __ptr[1];\n      uVar18 = __ptr[6];\n      uVar7 = uVar7 + 1;\n      *(uint *)((int)pppuVar13 + 0x38) = uVar7;\n      piVar14 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f))) {\nLAB_0007dcff:\n        iVar8 = 7;\n        pppuVar13 = (undefined ***)piVar14;\nLAB_0007dd04:\n        *(undefined1 *)(__ptr + 9) = 0;\n        iVar5 = *(int *)((int)pppuVar13 + 0x44);\n        goto joined_r0x0007dd0e;\n      }\n      uVar9 = uVar9 + 8;\n      __ptr[1] = uVar9;\n      if (0x1f < uVar9) {\n        __ptr[6] = 0;\n        __ptr[1] = 0;\n        __ptr[0x25] = 0xc;\n        *__ptr = 9;\nswitchD_0007dbdb_caseD_7dd72:\n        piVar14[-1] = 0x7dd7d;\n        cVar3 = FUN_0007d93a();\n        pppuVar13 = (undefined ***)piVar14;\n        if (cVar3 == '\0') {\nLAB_0007dd81:\n          uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n          break;\n        }\n        piVar15 = piVar14;\n        if (*(short *)((int)__ptr + 0xa2) == 0x5a59) {\n          piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n          piVar14[-5] = 0x7de00;\n          uVar7 = FUN_000a62f1();\n          piVar12 = piVar14 + -1;\n          pppuVar13 = (undefined ***)(piVar14 + -1);\n          piVar15 = piVar14 + -1;\n          if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;\n          iVar8 = piVar14[0x10];\n          if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }\n          *(undefined1 *)(__ptr + 9) = 0;\n          if (iVar8 != 0) {\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }\n          goto LAB_0007de8b;\n        }\nLAB_0007ddc4:\n        pppuVar13 = (undefined ***)piVar15;\n        *(undefined1 *)(__ptr + 9) = 0;\n        if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n        iVar8 = 7;\n        goto LAB_0007de61;\n      }\n    }" { (expression_statement "uVar9 = __ptr[1];" (assignment_expression "uVar9 = __ptr[1]" identifier = (subscript_expression "__ptr[1]" identifier [ number_literal ])) ;) (expression_statement "uVar18 = __ptr[6];" (assignment_expression "uVar18 = __ptr[6]" identifier = (subscript_expression "__ptr[6]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = uVar7 + 1;" (assignment_expression "uVar7 = uVar7 + 1" identifier = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)((int)pppuVar13 + 0x38) = uVar7;" (assignment_expression "*(uint *)((int)pppuVar13 + 0x38) = uVar7" (pointer_expression "*(uint *)((int)pppuVar13 + 0x38)" * (cast_expression "(uint *)((int)pppuVar13 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x38)" ( (binary_expression "(int)pppuVar13 + 0x38" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "piVar14 = (int *)pppuVar13;" (assignment_expression "piVar14 = (int *)pppuVar13" identifier = (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f))) {\nLAB_0007dcff:\n        iVar8 = 7;\n        pppuVar13 = (undefined ***)piVar14;\nLAB_0007dd04:\n        *(undefined1 *)(__ptr + 9) = 0;\n        iVar5 = *(int *)((int)pppuVar13 + 0x44);\n        goto joined_r0x0007dd0e;\n      }" if (parenthesized_expression "(*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))" ( (binary_expression "*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f))" (pointer_expression "*(char *)(iVar8 + -1 + uVar7)" * (cast_expression "(char *)(iVar8 + -1 + uVar7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + -1 + uVar7)" ( (binary_expression "iVar8 + -1 + uVar7" (binary_expression "iVar8 + -1" identifier + number_literal) + identifier) )))) != (cast_expression "(char)(uVar18 >> ((byte)uVar9 & 0x1f))" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar18 >> ((byte)uVar9 & 0x1f))" ( (binary_expression "uVar18 >> ((byte)uVar9 & 0x1f)" identifier >> (parenthesized_expression "((byte)uVar9 & 0x1f)" ( (binary_expression "(byte)uVar9 & 0x1f" (cast_expression "(byte)uVar9" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) )))) )) (compound_statement "{\nLAB_0007dcff:\n        iVar8 = 7;\n        pppuVar13 = (undefined ***)piVar14;\nLAB_0007dd04:\n        *(undefined1 *)(__ptr + 9) = 0;\n        iVar5 = *(int *)((int)pppuVar13 + 0x44);\n        goto joined_r0x0007dd0e;\n      }" { (labeled_statement "LAB_0007dcff:\n        iVar8 = 7;" statement_identifier : (expression_statement "iVar8 = 7;" (assignment_expression "iVar8 = 7" identifier = number_literal) ;)) (expression_statement "pppuVar13 = (undefined ***)piVar14;" (assignment_expression "pppuVar13 = (undefined ***)piVar14" identifier = (cast_expression "(undefined ***)piVar14" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (labeled_statement "LAB_0007dd04:\n        *(undefined1 *)(__ptr + 9) = 0;" statement_identifier : (expression_statement "*(undefined1 *)(__ptr + 9) = 0;" (assignment_expression "*(undefined1 *)(__ptr + 9) = 0" (pointer_expression "*(undefined1 *)(__ptr + 9)" * (cast_expression "(undefined1 *)(__ptr + 9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(__ptr + 9)" ( (binary_expression "__ptr + 9" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "iVar5 = *(int *)((int)pppuVar13 + 0x44);" (assignment_expression "iVar5 = *(int *)((int)pppuVar13 + 0x44)" identifier = (pointer_expression "*(int *)((int)pppuVar13 + 0x44)" * (cast_expression "(int *)((int)pppuVar13 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x44)" ( (binary_expression "(int)pppuVar13 + 0x44" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (goto_statement "goto joined_r0x0007dd0e;" goto statement_identifier ;) })) (expression_statement "uVar9 = uVar9 + 8;" (assignment_expression "uVar9 = uVar9 + 8" identifier = (binary_expression "uVar9 + 8" identifier + number_literal)) ;) (expression_statement "__ptr[1] = uVar9;" (assignment_expression "__ptr[1] = uVar9" (subscript_expression "__ptr[1]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (0x1f < uVar9) {\n        __ptr[6] = 0;\n        __ptr[1] = 0;\n        __ptr[0x25] = 0xc;\n        *__ptr = 9;\nswitchD_0007dbdb_caseD_7dd72:\n        piVar14[-1] = 0x7dd7d;\n        cVar3 = FUN_0007d93a();\n        pppuVar13 = (undefined ***)piVar14;\n        if (cVar3 == '\0') {\nLAB_0007dd81:\n          uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n          break;\n        }\n        piVar15 = piVar14;\n        if (*(short *)((int)__ptr + 0xa2) == 0x5a59) {\n          piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n          piVar14[-5] = 0x7de00;\n          uVar7 = FUN_000a62f1();\n          piVar12 = piVar14 + -1;\n          pppuVar13 = (undefined ***)(piVar14 + -1);\n          piVar15 = piVar14 + -1;\n          if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;\n          iVar8 = piVar14[0x10];\n          if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }\n          *(undefined1 *)(__ptr + 9) = 0;\n          if (iVar8 != 0) {\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }\n          goto LAB_0007de8b;\n        }\nLAB_0007ddc4:\n        pppuVar13 = (undefined ***)piVar15;\n        *(undefined1 *)(__ptr + 9) = 0;\n        if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n        iVar8 = 7;\n        goto LAB_0007de61;\n      }" if (parenthesized_expression "(0x1f < uVar9)" ( (binary_expression "0x1f < uVar9" number_literal < identifier) )) (compound_statement "{\n        __ptr[6] = 0;\n        __ptr[1] = 0;\n        __ptr[0x25] = 0xc;\n        *__ptr = 9;\nswitchD_0007dbdb_caseD_7dd72:\n        piVar14[-1] = 0x7dd7d;\n        cVar3 = FUN_0007d93a();\n        pppuVar13 = (undefined ***)piVar14;\n        if (cVar3 == '\0') {\nLAB_0007dd81:\n          uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n          break;\n        }\n        piVar15 = piVar14;\n        if (*(short *)((int)__ptr + 0xa2) == 0x5a59) {\n          piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n          piVar14[-5] = 0x7de00;\n          uVar7 = FUN_000a62f1();\n          piVar12 = piVar14 + -1;\n          pppuVar13 = (undefined ***)(piVar14 + -1);\n          piVar15 = piVar14 + -1;\n          if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;\n          iVar8 = piVar14[0x10];\n          if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }\n          *(undefined1 *)(__ptr + 9) = 0;\n          if (iVar8 != 0) {\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }\n          goto LAB_0007de8b;\n        }\nLAB_0007ddc4:\n        pppuVar13 = (undefined ***)piVar15;\n        *(undefined1 *)(__ptr + 9) = 0;\n        if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n        iVar8 = 7;\n        goto LAB_0007de61;\n      }" { (expression_statement "__ptr[6] = 0;" (assignment_expression "__ptr[6] = 0" (subscript_expression "__ptr[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "__ptr[1] = 0;" (assignment_expression "__ptr[1] = 0" (subscript_expression "__ptr[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "__ptr[0x25] = 0xc;" (assignment_expression "__ptr[0x25] = 0xc" (subscript_expression "__ptr[0x25]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*__ptr = 9;" (assignment_expression "*__ptr = 9" (pointer_expression "*__ptr" * identifier) = number_literal) ;) (labeled_statement "switchD_0007dbdb_caseD_7dd72:\n        piVar14[-1] = 0x7dd7d;" statement_identifier : (expression_statement "piVar14[-1] = 0x7dd7d;" (assignment_expression "piVar14[-1] = 0x7dd7d" (subscript_expression "piVar14[-1]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "cVar3 = FUN_0007d93a();" (assignment_expression "cVar3 = FUN_0007d93a()" identifier = (call_expression "FUN_0007d93a()" identifier (argument_list "()" ( )))) ;) (expression_statement "pppuVar13 = (undefined ***)piVar14;" (assignment_expression "pppuVar13 = (undefined ***)piVar14" identifier = (cast_expression "(undefined ***)piVar14" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (if_statement "if (cVar3 == '\0') {\nLAB_0007dd81:\n          uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n          break;\n        }" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0007dd81:\n          uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n          break;\n        }" { (labeled_statement "LAB_0007dd81:\n          uVar7 = *(uint *)((int)pppuVar13 + 0x38);" statement_identifier : (expression_statement "uVar7 = *(uint *)((int)pppuVar13 + 0x38);" (assignment_expression "uVar7 = *(uint *)((int)pppuVar13 + 0x38)" identifier = (pointer_expression "*(uint *)((int)pppuVar13 + 0x38)" * (cast_expression "(uint *)((int)pppuVar13 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x38)" ( (binary_expression "(int)pppuVar13 + 0x38" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (break_statement "break;" break ;) })) (expression_statement "piVar15 = piVar14;" (assignment_expression "piVar15 = piVar14" identifier = identifier) ;) (if_statement "if (*(short *)((int)__ptr + 0xa2) == 0x5a59) {\n          piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n          piVar14[-5] = 0x7de00;\n          uVar7 = FUN_000a62f1();\n          piVar12 = piVar14 + -1;\n          pppuVar13 = (undefined ***)(piVar14 + -1);\n          piVar15 = piVar14 + -1;\n          if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;\n          iVar8 = piVar14[0x10];\n          if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }\n          *(undefined1 *)(__ptr + 9) = 0;\n          if (iVar8 != 0) {\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }\n          goto LAB_0007de8b;\n        }" if (parenthesized_expression "(*(short *)((int)__ptr + 0xa2) == 0x5a59)" ( (binary_expression "*(short *)((int)__ptr + 0xa2) == 0x5a59" (pointer_expression "*(short *)((int)__ptr + 0xa2)" * (cast_expression "(short *)((int)__ptr + 0xa2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr + 0xa2)" ( (binary_expression "(int)__ptr + 0xa2" (cast_expression "(int)__ptr" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n          piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n          piVar14[-5] = 0x7de00;\n          uVar7 = FUN_000a62f1();\n          piVar12 = piVar14 + -1;\n          pppuVar13 = (undefined ***)(piVar14 + -1);\n          piVar15 = piVar14 + -1;\n          if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;\n          iVar8 = piVar14[0x10];\n          if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }\n          *(undefined1 *)(__ptr + 9) = 0;\n          if (iVar8 != 0) {\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }\n          goto LAB_0007de8b;\n        }" { (expression_statement "piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);" (assignment_expression "piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8)" (subscript_expression "piVar14[-4]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(*piVar14 + 0xcf8)" * (cast_expression "(undefined4 *)(*piVar14 + 0xcf8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar14 + 0xcf8)" ( (binary_expression "*piVar14 + 0xcf8" (pointer_expression "*piVar14" * identifier) + number_literal) ))))) ;) (expression_statement "piVar14[-5] = 0x7de00;" (assignment_expression "piVar14[-5] = 0x7de00" (subscript_expression "piVar14[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar7 = FUN_000a62f1();" (assignment_expression "uVar7 = FUN_000a62f1()" identifier = (call_expression "FUN_000a62f1()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar12 = piVar14 + -1;" (assignment_expression "piVar12 = piVar14 + -1" identifier = (binary_expression "piVar14 + -1" identifier + number_literal)) ;) (expression_statement "pppuVar13 = (undefined ***)(piVar14 + -1);" (assignment_expression "pppuVar13 = (undefined ***)(piVar14 + -1)" identifier = (cast_expression "(undefined ***)(piVar14 + -1)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(piVar14 + -1)" ( (binary_expression "piVar14 + -1" identifier + number_literal) )))) ;) (expression_statement "piVar15 = piVar14 + -1;" (assignment_expression "piVar15 = piVar14 + -1" identifier = (binary_expression "piVar14 + -1" identifier + number_literal)) ;) (if_statement "if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;" if (parenthesized_expression "(~uVar7 != __ptr[0x26])" ( (binary_expression "~uVar7 != __ptr[0x26]" (unary_expression "~uVar7" ~ identifier) != (subscript_expression "__ptr[0x26]" identifier [ number_literal ])) )) (goto_statement "goto LAB_0007ddc4;" goto statement_identifier ;)) (expression_statement "iVar8 = piVar14[0x10];" (assignment_expression "iVar8 = piVar14[0x10]" identifier = (subscript_expression "piVar14[0x10]" identifier [ number_literal ])) ;) (if_statement "if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }" if (parenthesized_expression "(((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7]))" ( (binary_expression "((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])" (parenthesized_expression "((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0'))" ( (binary_expression "(__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')" (parenthesized_expression "(__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e))" ( (binary_expression "__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)" (binary_expression "__ptr[0x1c] >> 2 != 0" (binary_expression "__ptr[0x1c] >> 2" (subscript_expression "__ptr[0x1c]" identifier [ number_literal ]) >> number_literal) != number_literal) || (binary_expression "__ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)" (subscript_expression "__ptr[0x27]" identifier [ number_literal ]) != (parenthesized_expression "(__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)" ( (binary_expression "__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e" (binary_expression "__ptr[0x1b] >> 2" (subscript_expression "__ptr[0x1b]" identifier [ number_literal ]) >> number_literal) | (binary_expression "__ptr[0x1c] << 0x1e" (subscript_expression "__ptr[0x1c]" identifier [ number_literal ]) << number_literal)) )))) )) || (parenthesized_expression "((char)__ptr[0x28] != '\0')" ( (binary_expression "(char)__ptr[0x28] != '\0'" (cast_expression "(char)__ptr[0x28]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "__ptr[0x28]" identifier [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) ))) )) || (parenthesized_expression "((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])" ( (binary_expression "(uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7]" (binary_expression "(uint)*(byte *)((int)__ptr + 0xa1)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)__ptr + 0xa1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr + 0xa1)" ( (binary_expression "(int)__ptr + 0xa1" (cast_expression "(int)__ptr" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (subscript_expression "__ptr[7]" identifier [ number_literal ])) ))) )) (compound_statement "{\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }" { (expression_statement "*(undefined1 *)(__ptr + 9) = 0;" (assignment_expression "*(undefined1 *)(__ptr + 9) = 0" (pointer_expression "*(undefined1 *)(__ptr + 9)" * (cast_expression "(undefined1 *)(__ptr + 9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(__ptr + 9)" ( (binary_expression "__ptr + 9" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }" { (expression_statement "iVar8 = 7;" (assignment_expression "iVar8 = 7" identifier = number_literal) ;) (expression_statement "pppuVar13 = (undefined ***)(piVar14 + -1);" (assignment_expression "pppuVar13 = (undefined ***)(piVar14 + -1)" identifier = (cast_expression "(undefined ***)(piVar14 + -1)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(piVar14 + -1)" ( (binary_expression "piVar14 + -1" identifier + number_literal) )))) ;) (goto_statement "goto LAB_0007de61;" goto statement_identifier ;) })) (goto_statement "goto LAB_0007dd1d;" goto statement_identifier ;) })) (expression_statement "*(undefined1 *)(__ptr + 9) = 0;" (assignment_expression "*(undefined1 *)(__ptr + 9) = 0" (pointer_expression "*(undefined1 *)(__ptr + 9)" * (cast_expression "(undefined1 *)(__ptr + 9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(__ptr + 9)" ( (binary_expression "__ptr + 9" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (iVar8 != 0) {\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }" { (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" identifier = number_literal) ;) (expression_statement "pppuVar13 = (undefined ***)(piVar14 + -1);" (assignment_expression "pppuVar13 = (undefined ***)(piVar14 + -1)" identifier = (cast_expression "(undefined ***)(piVar14 + -1)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(piVar14 + -1)" ( (binary_expression "piVar14 + -1" identifier + number_literal) )))) ;) (goto_statement "goto LAB_0007de61;" goto statement_identifier ;) })) (goto_statement "goto LAB_0007de8b;" goto statement_identifier ;) })) (labeled_statement "LAB_0007ddc4:\n        pppuVar13 = (undefined ***)piVar15;" statement_identifier : (expression_statement "pppuVar13 = (undefined ***)piVar15;" (assignment_expression "pppuVar13 = (undefined ***)piVar15" identifier = (cast_expression "(undefined ***)piVar15" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;)) (expression_statement "*(undefined1 *)(__ptr + 9) = 0;" (assignment_expression "*(undefined1 *)(__ptr + 9) = 0" (pointer_expression "*(undefined1 *)(__ptr + 9)" * (cast_expression "(undefined1 *)(__ptr + 9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(__ptr + 9)" ( (binary_expression "__ptr + 9" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;" if (parenthesized_expression "(*(int *)((int)pppuVar13 + 0x44) == 0)" ( (binary_expression "*(int *)((int)pppuVar13 + 0x44) == 0" (pointer_expression "*(int *)((int)pppuVar13 + 0x44)" * (cast_expression "(int *)((int)pppuVar13 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x44)" ( (binary_expression "(int)pppuVar13 + 0x44" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0007dd1d;" goto statement_identifier ;)) (expression_statement "iVar8 = 7;" (assignment_expression "iVar8 = 7" identifier = number_literal) ;) (goto_statement "goto LAB_0007de61;" goto statement_identifier ;) })) })) }) (else_clause "else {\n    if (*(int *)((int)pppuVar13 + 0x3c) + 1 != iVar8) goto LAB_0007deec;\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dee3;\n    FUN_0007d137();\n    uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n  }" else (compound_statement "{\n    if (*(int *)((int)pppuVar13 + 0x3c) + 1 != iVar8) goto LAB_0007deec;\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dee3;\n    FUN_0007d137();\n    uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n  }" { (if_statement "if (*(int *)((int)pppuVar13 + 0x3c) + 1 != iVar8) goto LAB_0007deec;" if (parenthesized_expression "(*(int *)((int)pppuVar13 + 0x3c) + 1 != iVar8)" ( (binary_expression "*(int *)((int)pppuVar13 + 0x3c) + 1 != iVar8" (binary_expression "*(int *)((int)pppuVar13 + 0x3c) + 1" (pointer_expression "*(int *)((int)pppuVar13 + 0x3c)" * (cast_expression "(int *)((int)pppuVar13 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x3c)" ( (binary_expression "(int)pppuVar13 + 0x3c" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) != identifier) )) (goto_statement "goto LAB_0007deec;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)((int)pppuVar13 + -4) = 0x7dee3;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -4) = 0x7dee3" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -4)" * (cast_expression "(undefined4 *)((int)pppuVar13 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -4)" ( (binary_expression "(int)pppuVar13 + -4" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0007d137();" (call_expression "FUN_0007d137()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar7 = *(uint *)((int)pppuVar13 + 0x38);" (assignment_expression "uVar7 = *(uint *)((int)pppuVar13 + 0x38)" identifier = (pointer_expression "*(uint *)((int)pppuVar13 + 0x38)" * (cast_expression "(uint *)((int)pppuVar13 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x38)" ( (binary_expression "(int)pppuVar13 + 0x38" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) })))) (labeled_statement "LAB_0007dd85:\n  iVar8 = *(int *)((int)pppuVar13 + 0x44);" statement_identifier : (expression_statement "iVar8 = *(int *)((int)pppuVar13 + 0x44);" (assignment_expression "iVar8 = *(int *)((int)pppuVar13 + 0x44)" identifier = (pointer_expression "*(int *)((int)pppuVar13 + 0x44)" * (cast_expression "(int *)((int)pppuVar13 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x44)" ( (binary_expression "(int)pppuVar13 + 0x44" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (if_statement "if ((*(uint *)((int)pppuVar13 + 4) == uVar7) && (*(int *)((int)pppuVar13 + 0x20) == iVar8)) {\n    if ((char)__ptr[9] == '\0') {\n      *(undefined1 *)(__ptr + 9) = 1;\n      if (iVar8 == 0) goto LAB_0007de94;\n      iVar8 = 0;\n      goto LAB_0007de61;\n    }\n    if (iVar8 != 0) {\n      iVar8 = 8;\n      goto LAB_0007de61;\n    }\n    goto LAB_0007dd1d;\n  }" if (parenthesized_expression "((*(uint *)((int)pppuVar13 + 4) == uVar7) && (*(int *)((int)pppuVar13 + 0x20) == iVar8))" ( (binary_expression "(*(uint *)((int)pppuVar13 + 4) == uVar7) && (*(int *)((int)pppuVar13 + 0x20) == iVar8)" (parenthesized_expression "(*(uint *)((int)pppuVar13 + 4) == uVar7)" ( (binary_expression "*(uint *)((int)pppuVar13 + 4) == uVar7" (pointer_expression "*(uint *)((int)pppuVar13 + 4)" * (cast_expression "(uint *)((int)pppuVar13 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 4)" ( (binary_expression "(int)pppuVar13 + 4" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == identifier) )) && (parenthesized_expression "(*(int *)((int)pppuVar13 + 0x20) == iVar8)" ( (binary_expression "*(int *)((int)pppuVar13 + 0x20) == iVar8" (pointer_expression "*(int *)((int)pppuVar13 + 0x20)" * (cast_expression "(int *)((int)pppuVar13 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x20)" ( (binary_expression "(int)pppuVar13 + 0x20" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == identifier) ))) )) (compound_statement "{\n    if ((char)__ptr[9] == '\0') {\n      *(undefined1 *)(__ptr + 9) = 1;\n      if (iVar8 == 0) goto LAB_0007de94;\n      iVar8 = 0;\n      goto LAB_0007de61;\n    }\n    if (iVar8 != 0) {\n      iVar8 = 8;\n      goto LAB_0007de61;\n    }\n    goto LAB_0007dd1d;\n  }" { (if_statement "if ((char)__ptr[9] == '\0') {\n      *(undefined1 *)(__ptr + 9) = 1;\n      if (iVar8 == 0) goto LAB_0007de94;\n      iVar8 = 0;\n      goto LAB_0007de61;\n    }" if (parenthesized_expression "((char)__ptr[9] == '\0')" ( (binary_expression "(char)__ptr[9] == '\0'" (cast_expression "(char)__ptr[9]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "__ptr[9]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *(undefined1 *)(__ptr + 9) = 1;\n      if (iVar8 == 0) goto LAB_0007de94;\n      iVar8 = 0;\n      goto LAB_0007de61;\n    }" { (expression_statement "*(undefined1 *)(__ptr + 9) = 1;" (assignment_expression "*(undefined1 *)(__ptr + 9) = 1" (pointer_expression "*(undefined1 *)(__ptr + 9)" * (cast_expression "(undefined1 *)(__ptr + 9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(__ptr + 9)" ( (binary_expression "__ptr + 9" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (iVar8 == 0) goto LAB_0007de94;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0007de94;" goto statement_identifier ;)) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0007de61;" goto statement_identifier ;) })) (if_statement "if (iVar8 != 0) {\n      iVar8 = 8;\n      goto LAB_0007de61;\n    }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar8 = 8;\n      goto LAB_0007de61;\n    }" { (expression_statement "iVar8 = 8;" (assignment_expression "iVar8 = 8" identifier = number_literal) ;) (goto_statement "goto LAB_0007de61;" goto statement_identifier ;) })) (goto_statement "goto LAB_0007dd1d;" goto statement_identifier ;) })) (expression_statement "*(undefined1 *)(__ptr + 9) = 0;" (assignment_expression "*(undefined1 *)(__ptr + 9) = 0" (pointer_expression "*(undefined1 *)(__ptr + 9)" * (cast_expression "(undefined1 *)(__ptr + 9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(__ptr + 9)" ( (binary_expression "__ptr + 9" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (iVar8 != 0) {\n    iVar8 = 0;\n    goto LAB_0007de61;\n  }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar8 = 0;\n    goto LAB_0007de61;\n  }" { (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0007de61;" goto statement_identifier ;) })) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0007de94;" goto statement_identifier ;) (labeled_statement "LAB_0007deec:\n  *(int *)((int)pppuVar13 + 0x38) = iVar8;" statement_identifier : (expression_statement "*(int *)((int)pppuVar13 + 0x38) = iVar8;" (assignment_expression "*(int *)((int)pppuVar13 + 0x38) = iVar8" (pointer_expression "*(int *)((int)pppuVar13 + 0x38)" * (cast_expression "(int *)((int)pppuVar13 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x38)" ( (binary_expression "(int)pppuVar13 + 0x38" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "piVar15 = (int *)pppuVar13;" (assignment_expression "piVar15 = (int *)pppuVar13" identifier = (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*(char *)(*(int *)((int)pppuVar13 + 0x34) + -2 + iVar8) != '\0') goto LAB_0007defc;" if (parenthesized_expression "(*(char *)(*(int *)((int)pppuVar13 + 0x34) + -2 + iVar8) != '\0')" ( (binary_expression "*(char *)(*(int *)((int)pppuVar13 + 0x34) + -2 + iVar8) != '\0'" (pointer_expression "*(char *)(*(int *)((int)pppuVar13 + 0x34) + -2 + iVar8)" * (cast_expression "(char *)(*(int *)((int)pppuVar13 + 0x34) + -2 + iVar8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)pppuVar13 + 0x34) + -2 + iVar8)" ( (binary_expression "*(int *)((int)pppuVar13 + 0x34) + -2 + iVar8" (binary_expression "*(int *)((int)pppuVar13 + 0x34) + -2" (pointer_expression "*(int *)((int)pppuVar13 + 0x34)" * (cast_expression "(int *)((int)pppuVar13 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x34)" ( (binary_expression "(int)pppuVar13 + 0x34" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) + identifier) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0007defc;" goto statement_identifier ;)) (goto_statement "goto LAB_0007dc95;" goto statement_identifier ;) (labeled_statement "LAB_0007defc:\n  iVar5 = *(int *)((int)piVar15 + 0x44);" statement_identifier : (expression_statement "iVar5 = *(int *)((int)piVar15 + 0x44);" (assignment_expression "iVar5 = *(int *)((int)piVar15 + 0x44)" identifier = (pointer_expression "*(int *)((int)piVar15 + 0x44)" * (cast_expression "(int *)((int)piVar15 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x44)" ( (binary_expression "(int)piVar15 + 0x44" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (expression_statement "iVar8 = 7;" (assignment_expression "iVar8 = 7" identifier = number_literal) ;) (expression_statement "pppuVar13 = (undefined ***)piVar15;" (assignment_expression "pppuVar13 = (undefined ***)piVar15" identifier = (cast_expression "(undefined ***)piVar15" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (labeled_statement "LAB_0007df05:\n  *(undefined1 *)(__ptr + 9) = 0;" statement_identifier : (expression_statement "*(undefined1 *)(__ptr + 9) = 0;" (assignment_expression "*(undefined1 *)(__ptr + 9) = 0" (pointer_expression "*(undefined1 *)(__ptr + 9)" * (cast_expression "(undefined1 *)(__ptr + 9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(__ptr + 9)" ( (binary_expression "__ptr + 9" identifier + number_literal) )))) = number_literal) ;)) (labeled_statement "joined_r0x0007dd0e:\n  if (iVar5 != 0) {\nLAB_0007de61:\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7de70;\n    FUN_000804d0();\n    puVar1 = (uint *)((int)pppuVar13 + 0x10);\n    uVar7 = *puVar1;\n    *puVar1 = *puVar1 + *(uint *)((int)pppuVar13 + 0x44);\n    *(int *)((int)pppuVar13 + 0x14) =\n         *(int *)((int)pppuVar13 + 0x14) + (uint)CARRY4(uVar7,*(uint *)((int)pppuVar13 + 0x44));\n    *(undefined4 *)((int)pppuVar13 + 0x44) = 0;\n    piVar12 = (int *)pppuVar13;\n    if (iVar8 == 1) {\nLAB_0007de8b:\n      uVar7 = *(uint *)((int)piVar12 + 0x38);\n      iVar8 = 1;\n      pppuVar13 = (undefined ***)piVar12;\n      goto LAB_0007de94;\n    }\n    if (iVar8 == 0) {\n      uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n      iVar8 = 0;\n      goto LAB_0007de94;\n    }\n  }" statement_identifier : (if_statement "if (iVar5 != 0) {\nLAB_0007de61:\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7de70;\n    FUN_000804d0();\n    puVar1 = (uint *)((int)pppuVar13 + 0x10);\n    uVar7 = *puVar1;\n    *puVar1 = *puVar1 + *(uint *)((int)pppuVar13 + 0x44);\n    *(int *)((int)pppuVar13 + 0x14) =\n         *(int *)((int)pppuVar13 + 0x14) + (uint)CARRY4(uVar7,*(uint *)((int)pppuVar13 + 0x44));\n    *(undefined4 *)((int)pppuVar13 + 0x44) = 0;\n    piVar12 = (int *)pppuVar13;\n    if (iVar8 == 1) {\nLAB_0007de8b:\n      uVar7 = *(uint *)((int)piVar12 + 0x38);\n      iVar8 = 1;\n      pppuVar13 = (undefined ***)piVar12;\n      goto LAB_0007de94;\n    }\n    if (iVar8 == 0) {\n      uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n      iVar8 = 0;\n      goto LAB_0007de94;\n    }\n  }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0007de61:\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7de70;\n    FUN_000804d0();\n    puVar1 = (uint *)((int)pppuVar13 + 0x10);\n    uVar7 = *puVar1;\n    *puVar1 = *puVar1 + *(uint *)((int)pppuVar13 + 0x44);\n    *(int *)((int)pppuVar13 + 0x14) =\n         *(int *)((int)pppuVar13 + 0x14) + (uint)CARRY4(uVar7,*(uint *)((int)pppuVar13 + 0x44));\n    *(undefined4 *)((int)pppuVar13 + 0x44) = 0;\n    piVar12 = (int *)pppuVar13;\n    if (iVar8 == 1) {\nLAB_0007de8b:\n      uVar7 = *(uint *)((int)piVar12 + 0x38);\n      iVar8 = 1;\n      pppuVar13 = (undefined ***)piVar12;\n      goto LAB_0007de94;\n    }\n    if (iVar8 == 0) {\n      uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n      iVar8 = 0;\n      goto LAB_0007de94;\n    }\n  }" { (labeled_statement "LAB_0007de61:\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7de70;" statement_identifier : (expression_statement "*(undefined4 *)((int)pppuVar13 + -4) = 0x7de70;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -4) = 0x7de70" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -4)" * (cast_expression "(undefined4 *)((int)pppuVar13 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -4)" ( (binary_expression "(int)pppuVar13 + -4" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;)) (expression_statement "FUN_000804d0();" (call_expression "FUN_000804d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar1 = (uint *)((int)pppuVar13 + 0x10);" (assignment_expression "puVar1 = (uint *)((int)pppuVar13 + 0x10)" identifier = (cast_expression "(uint *)((int)pppuVar13 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x10)" ( (binary_expression "(int)pppuVar13 + 0x10" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "uVar7 = *puVar1;" (assignment_expression "uVar7 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "*puVar1 = *puVar1 + *(uint *)((int)pppuVar13 + 0x44);" (assignment_expression "*puVar1 = *puVar1 + *(uint *)((int)pppuVar13 + 0x44)" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 + *(uint *)((int)pppuVar13 + 0x44)" (pointer_expression "*puVar1" * identifier) + (pointer_expression "*(uint *)((int)pppuVar13 + 0x44)" * (cast_expression "(uint *)((int)pppuVar13 + 0x44)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x44)" ( (binary_expression "(int)pppuVar13 + 0x44" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))) ;) (expression_statement "*(int *)((int)pppuVar13 + 0x14) =\n         *(int *)((int)pppuVar13 + 0x14) + (uint)CARRY4(uVar7,*(uint *)((int)pppuVar13 + 0x44));" (assignment_expression "*(int *)((int)pppuVar13 + 0x14) =\n         *(int *)((int)pppuVar13 + 0x14) + (uint)CARRY4(uVar7,*(uint *)((int)pppuVar13 + 0x44))" (pointer_expression "*(int *)((int)pppuVar13 + 0x14)" * (cast_expression "(int *)((int)pppuVar13 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x14)" ( (binary_expression "(int)pppuVar13 + 0x14" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)pppuVar13 + 0x14) + (uint)CARRY4(uVar7,*(uint *)((int)pppuVar13 + 0x44))" (pointer_expression "*(int *)((int)pppuVar13 + 0x14)" * (cast_expression "(int *)((int)pppuVar13 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x14)" ( (binary_expression "(int)pppuVar13 + 0x14" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + (cast_expression "(uint)CARRY4(uVar7,*(uint *)((int)pppuVar13 + 0x44))" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar7,*(uint *)((int)pppuVar13 + 0x44))" identifier (argument_list "(uVar7,*(uint *)((int)pppuVar13 + 0x44))" ( identifier , (pointer_expression "*(uint *)((int)pppuVar13 + 0x44)" * (cast_expression "(uint *)((int)pppuVar13 + 0x44)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x44)" ( (binary_expression "(int)pppuVar13 + 0x44" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))))) ;) (expression_statement "*(undefined4 *)((int)pppuVar13 + 0x44) = 0;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + 0x44) = 0" (pointer_expression "*(undefined4 *)((int)pppuVar13 + 0x44)" * (cast_expression "(undefined4 *)((int)pppuVar13 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x44)" ( (binary_expression "(int)pppuVar13 + 0x44" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar12 = (int *)pppuVar13;" (assignment_expression "piVar12 = (int *)pppuVar13" identifier = (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (iVar8 == 1) {\nLAB_0007de8b:\n      uVar7 = *(uint *)((int)piVar12 + 0x38);\n      iVar8 = 1;\n      pppuVar13 = (undefined ***)piVar12;\n      goto LAB_0007de94;\n    }" if (parenthesized_expression "(iVar8 == 1)" ( (binary_expression "iVar8 == 1" identifier == number_literal) )) (compound_statement "{\nLAB_0007de8b:\n      uVar7 = *(uint *)((int)piVar12 + 0x38);\n      iVar8 = 1;\n      pppuVar13 = (undefined ***)piVar12;\n      goto LAB_0007de94;\n    }" { (labeled_statement "LAB_0007de8b:\n      uVar7 = *(uint *)((int)piVar12 + 0x38);" statement_identifier : (expression_statement "uVar7 = *(uint *)((int)piVar12 + 0x38);" (assignment_expression "uVar7 = *(uint *)((int)piVar12 + 0x38)" identifier = (pointer_expression "*(uint *)((int)piVar12 + 0x38)" * (cast_expression "(uint *)((int)piVar12 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar12 + 0x38)" ( (binary_expression "(int)piVar12 + 0x38" (cast_expression "(int)piVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" identifier = number_literal) ;) (expression_statement "pppuVar13 = (undefined ***)piVar12;" (assignment_expression "pppuVar13 = (undefined ***)piVar12" identifier = (cast_expression "(undefined ***)piVar12" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (goto_statement "goto LAB_0007de94;" goto statement_identifier ;) })) (if_statement "if (iVar8 == 0) {\n      uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n      iVar8 = 0;\n      goto LAB_0007de94;\n    }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n      iVar8 = 0;\n      goto LAB_0007de94;\n    }" { (expression_statement "uVar7 = *(uint *)((int)pppuVar13 + 0x38);" (assignment_expression "uVar7 = *(uint *)((int)pppuVar13 + 0x38)" identifier = (pointer_expression "*(uint *)((int)pppuVar13 + 0x38)" * (cast_expression "(uint *)((int)pppuVar13 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x38)" ( (binary_expression "(int)pppuVar13 + 0x38" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0007de94;" goto statement_identifier ;) })) }))) (if_statement "if (iVar8 != 2) {\nLAB_0007dd1d:\n    ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x6009;\n    ((int *)pppuVar13)[-5] = 0x7dd30;\n    FUN_000191bd();\n    ((int *)pppuVar13)[4] = -1;\n    ((int *)pppuVar13)[5] = -1;\nLAB_0007dafd:\n    uVar7 = __ptr[0x126];\n    *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar7 + 0x18);\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db14;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    *(uint *)((int)pppuVar13 + -0x10) = uVar7;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db1c;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    *(uint **)((int)pppuVar13 + -0x10) = __ptr;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db24;\n    free(*(void **)((int)pppuVar13 + -0x10));\nLAB_0007db27:\n    *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)((int)pppuVar13 + 0xc);\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db37;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    if (*(int *)((int)pppuVar13 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)) {\n      return *(undefined8 *)((int)pppuVar13 + 0x10);\n    }\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dc1f;\n    FUN_00017e10();\n  }" if (parenthesized_expression "(iVar8 != 2)" ( (binary_expression "iVar8 != 2" identifier != number_literal) )) (compound_statement "{\nLAB_0007dd1d:\n    ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x6009;\n    ((int *)pppuVar13)[-5] = 0x7dd30;\n    FUN_000191bd();\n    ((int *)pppuVar13)[4] = -1;\n    ((int *)pppuVar13)[5] = -1;\nLAB_0007dafd:\n    uVar7 = __ptr[0x126];\n    *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar7 + 0x18);\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db14;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    *(uint *)((int)pppuVar13 + -0x10) = uVar7;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db1c;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    *(uint **)((int)pppuVar13 + -0x10) = __ptr;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db24;\n    free(*(void **)((int)pppuVar13 + -0x10));\nLAB_0007db27:\n    *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)((int)pppuVar13 + 0xc);\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db37;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    if (*(int *)((int)pppuVar13 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)) {\n      return *(undefined8 *)((int)pppuVar13 + 0x10);\n    }\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dc1f;\n    FUN_00017e10();\n  }" { (labeled_statement "LAB_0007dd1d:\n    ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x6009;" statement_identifier : (expression_statement "((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x6009;" (assignment_expression "((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x6009" (subscript_expression "((int *)pppuVar13)[-4]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (binary_expression "(int)*pppuVar13 + -0x6009" (cast_expression "(int)*pppuVar13" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppuVar13" * identifier)) + number_literal)) ;)) (expression_statement "((int *)pppuVar13)[-5] = 0x7dd30;" (assignment_expression "((int *)pppuVar13)[-5] = 0x7dd30" (subscript_expression "((int *)pppuVar13)[-5]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "FUN_000191bd();" (call_expression "FUN_000191bd()" identifier (argument_list "()" ( ))) ;) (expression_statement "((int *)pppuVar13)[4] = -1;" (assignment_expression "((int *)pppuVar13)[4] = -1" (subscript_expression "((int *)pppuVar13)[4]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "((int *)pppuVar13)[5] = -1;" (assignment_expression "((int *)pppuVar13)[5] = -1" (subscript_expression "((int *)pppuVar13)[5]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_0007dafd:\n    uVar7 = __ptr[0x126];" statement_identifier : (expression_statement "uVar7 = __ptr[0x126];" (assignment_expression "uVar7 = __ptr[0x126]" identifier = (subscript_expression "__ptr[0x126]" identifier [ number_literal ])) ;)) (expression_statement "*(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar7 + 0x18);" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar7 + 0x18)" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -0x10)" * (cast_expression "(undefined4 *)((int)pppuVar13 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -0x10)" ( (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(uVar7 + 0x18)" * (cast_expression "(undefined4 *)(uVar7 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar7 + 0x18)" ( (binary_expression "uVar7 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db14;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db14" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -0x14)" * (cast_expression "(undefined4 *)((int)pppuVar13 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -0x14)" ( (binary_expression "(int)pppuVar13 + -0x14" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)pppuVar13 + -0x10));" (call_expression "free(*(void **)((int)pppuVar13 + -0x10))" identifier (argument_list "(*(void **)((int)pppuVar13 + -0x10))" ( (pointer_expression "*(void **)((int)pppuVar13 + -0x10)" * (cast_expression "(void **)((int)pppuVar13 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppuVar13 + -0x10)" ( (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "*(uint *)((int)pppuVar13 + -0x10) = uVar7;" (assignment_expression "*(uint *)((int)pppuVar13 + -0x10) = uVar7" (pointer_expression "*(uint *)((int)pppuVar13 + -0x10)" * (cast_expression "(uint *)((int)pppuVar13 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -0x10)" ( (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db1c;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db1c" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -0x14)" * (cast_expression "(undefined4 *)((int)pppuVar13 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -0x14)" ( (binary_expression "(int)pppuVar13 + -0x14" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)pppuVar13 + -0x10));" (call_expression "free(*(void **)((int)pppuVar13 + -0x10))" identifier (argument_list "(*(void **)((int)pppuVar13 + -0x10))" ( (pointer_expression "*(void **)((int)pppuVar13 + -0x10)" * (cast_expression "(void **)((int)pppuVar13 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppuVar13 + -0x10)" ( (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "*(uint **)((int)pppuVar13 + -0x10) = __ptr;" (assignment_expression "*(uint **)((int)pppuVar13 + -0x10) = __ptr" (pointer_expression "*(uint **)((int)pppuVar13 + -0x10)" * (cast_expression "(uint **)((int)pppuVar13 + -0x10)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppuVar13 + -0x10)" ( (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db24;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db24" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -0x14)" * (cast_expression "(undefined4 *)((int)pppuVar13 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -0x14)" ( (binary_expression "(int)pppuVar13 + -0x14" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)pppuVar13 + -0x10));" (call_expression "free(*(void **)((int)pppuVar13 + -0x10))" identifier (argument_list "(*(void **)((int)pppuVar13 + -0x10))" ( (pointer_expression "*(void **)((int)pppuVar13 + -0x10)" * (cast_expression "(void **)((int)pppuVar13 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppuVar13 + -0x10)" ( (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (labeled_statement "LAB_0007db27:\n    *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)((int)pppuVar13 + 0xc);" statement_identifier : (expression_statement "*(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)((int)pppuVar13 + 0xc);" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)((int)pppuVar13 + 0xc)" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -0x10)" * (cast_expression "(undefined4 *)((int)pppuVar13 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -0x10)" ( (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)pppuVar13 + 0xc)" * (cast_expression "(undefined4 *)((int)pppuVar13 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0xc)" ( (binary_expression "(int)pppuVar13 + 0xc" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (expression_statement "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db37;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db37" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -0x14)" * (cast_expression "(undefined4 *)((int)pppuVar13 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -0x14)" ( (binary_expression "(int)pppuVar13 + -0x14" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)pppuVar13 + -0x10));" (call_expression "free(*(void **)((int)pppuVar13 + -0x10))" identifier (argument_list "(*(void **)((int)pppuVar13 + -0x10))" ( (pointer_expression "*(void **)((int)pppuVar13 + -0x10)" * (cast_expression "(void **)((int)pppuVar13 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppuVar13 + -0x10)" ( (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (if_statement "if (*(int *)((int)pppuVar13 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)) {\n      return *(undefined8 *)((int)pppuVar13 + 0x10);\n    }" if (parenthesized_expression "(*(int *)((int)pppuVar13 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "*(int *)((int)pppuVar13 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(int *)((int)pppuVar13 + 0x4c)" * (cast_expression "(int *)((int)pppuVar13 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x4c)" ( (binary_expression "(int)pppuVar13 + 0x4c" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n      return *(undefined8 *)((int)pppuVar13 + 0x10);\n    }" { (return_statement "return *(undefined8 *)((int)pppuVar13 + 0x10);" return (pointer_expression "*(undefined8 *)((int)pppuVar13 + 0x10)" * (cast_expression "(undefined8 *)((int)pppuVar13 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x10)" ( (binary_expression "(int)pppuVar13 + 0x10" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) comment (expression_statement "*(undefined4 *)((int)pppuVar13 + -4) = 0x7dc1f;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -4) = 0x7dc1f" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -4)" * (cast_expression "(undefined4 *)((int)pppuVar13 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -4)" ( (binary_expression "(int)pppuVar13 + -4" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00017e10();" (call_expression "FUN_00017e10()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar7 = *(uint *)((int)pppuVar13 + 0x38);" (assignment_expression "uVar7 = *(uint *)((int)pppuVar13 + 0x38)" identifier = (pointer_expression "*(uint *)((int)pppuVar13 + 0x38)" * (cast_expression "(uint *)((int)pppuVar13 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x38)" ( (binary_expression "(int)pppuVar13 + 0x38" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar8 = 2;" (assignment_expression "iVar8 = 2" identifier = number_literal) ;) (labeled_statement "LAB_0007de94:\n  *(uint *)((int)pppuVar13 + 4) = uVar7;" statement_identifier : (expression_statement "*(uint *)((int)pppuVar13 + 4) = uVar7;" (assignment_expression "*(uint *)((int)pppuVar13 + 4) = uVar7" (pointer_expression "*(uint *)((int)pppuVar13 + 4)" * (cast_expression "(uint *)((int)pppuVar13 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 4)" ( (binary_expression "(int)pppuVar13 + 4" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (goto_statement "goto LAB_0007daa8;" goto statement_identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.si replaced with injection: get_pc_thunk_si */\n\nlonglong unpack_xz_stream(transformer_state_t *xstate)\n\n{\n  xz_buf iobuf;\n  \n}\n\n" comment (function_definition "longlong unpack_xz_stream(transformer_state_t *xstate)\n\n{\n  xz_buf iobuf;\n  \n}" type_identifier (function_declarator "unpack_xz_stream(transformer_state_t *xstate)" identifier (parameter_list "(transformer_state_t *xstate)" ( (parameter_declaration "transformer_state_t *xstate" type_identifier (pointer_declarator "*xstate" * identifier)) ))) (compound_statement "{\n  xz_buf iobuf;\n  \n}" { (declaration "xz_buf iobuf;" type_identifier identifier ;) })))
(translation_unit "undefined8 FUN_0007d999(void)\n\n{\n  uint *puVar1;\n  bool bVar2;\n  char cVar3;\n  uint *__ptr;\n  void *pvVar4;\n  int iVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  int *piVar12;\n  undefined ***pppuVar13;\n  int *piVar14;\n  int *piVar15;\n  int *piVar16;\n  undefined4 **ppuVar17;\n  uint uVar18;\n  int in_GS_OFFSET;\n  byte bVar19;\n  undefined **local_6c;\n  undefined4 local_68;\n  undefined4 **local_64;\n  undefined4 *local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  char *local_54;\n  undefined4 *local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 *local_2c;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  bVar19 = 0;\n  pppuVar13 = &local_6c;\n  local_6c = &__DT_PLTGOT;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  if (DAT_000d1718 == 0) {\n    FUN_000a62ce();\n  }\n  local_64 = &local_38;\n  ppuVar17 = local_64;\n  for (iVar8 = 6; iVar8 != 0; iVar8 = iVar8 + -1) {\n    *ppuVar17 = (undefined4 *)0x0;\n    ppuVar17 = ppuVar17 + (uint)bVar19 * -2 + 1;\n  }\n  local_60 = (undefined4 *)FUN_00019b1c();\n  local_2c = local_60 + 0x800;\n  local_24 = 0x2000;\n  if ((local_54 == (char *)0x0) || (*local_54 != '\0')) {\n    *local_60 = 0x587a37fd;\n    *(undefined2 *)(local_60 + 1) = 0x5a;\n    local_30 = 6;\n  }\n  local_38 = local_60;\n  __ptr = (uint *)malloc(0x49c);\n  if (__ptr != (uint *)0x0) {\n    __ptr[8] = 2;\n    pvVar4 = malloc(0x6f28);\n    if (pvVar4 == (void *)0x0) {\n      free(__ptr);\n      __ptr = (uint *)0x0;\n    }\n    else {\n      *(undefined4 *)((int)pvVar4 + 0x3c) = 2;\n      *(undefined4 *)((int)pvVar4 + 0x34) = 0x4000000;\n      *(undefined4 *)((int)pvVar4 + 0x18) = 0;\n      *(undefined4 *)((int)pvVar4 + 0x38) = 0;\n      __ptr[0x126] = (uint)pvVar4;\n      FUN_0007d0ea();\n    }\n  }\n  local_68 = local_34;\n  local_5c = 0;\n  local_58 = 0;\n  iVar8 = 1;\nLAB_0007daa8:\n  if (((int *)pppuVar13)[0xf] == ((int *)pppuVar13)[1]) {\n    ((int *)pppuVar13)[-1] = 0x7dacb;\n    iVar5 = FUN_0001ac64();\n    if (iVar5 < 0) {\n      ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x4f84;\n      ((int *)pppuVar13)[-5] = 0x7dae6;\n      FUN_000191bd();\n      ((int *)pppuVar13)[4] = -1;\n      ((int *)pppuVar13)[5] = -1;\n      if (__ptr != (uint *)0x0) goto LAB_0007dafd;\n      goto LAB_0007db27;\n    }\n    if ((iVar5 == 0) && (iVar8 == 1)) {\n      if (__ptr == (uint *)0x0) goto LAB_0007db27;\n      goto LAB_0007dafd;\n    }\n    ((int *)pppuVar13)[0xf] = iVar5;\n    ((int *)pppuVar13)[0xe] = 0;\n    ((int *)pppuVar13)[1] = 0;\n  }\n  if (iVar8 == 1) {\n    bVar2 = false;\n    do {\n      if (*(char *)(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1]) != '\0') {\n        if (bVar2) {\n          ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n        }\n        ((int *)pppuVar13)[-1] = 0x7dba9;\n        FUN_0007d0ea();\n        ((int *)pppuVar13)[1] = ((int *)pppuVar13)[0xe];\n        goto LAB_0007dbb1;\n      }\n      ((int *)pppuVar13)[1] = ((int *)pppuVar13)[1] + 1;\n      bVar2 = true;\n    } while ((uint)((int *)pppuVar13)[1] < (uint)((int *)pppuVar13)[0xf]);\n    ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n  }\nLAB_0007dbb1:\n  ((int *)pppuVar13)[8] = ((int *)pppuVar13)[0x11];\n  __ptr[4] = ((int *)pppuVar13)[1];\n  uVar7 = *__ptr;\n  ((int *)pppuVar13)[0xb] = (int)(__ptr + 0x15);\n  do {\n  } while (9 < uVar7);\nLAB_0007dbcf:\n  piVar14 = (int *)pppuVar13;\n  switch(*(int *)((int)*pppuVar13 + -0x154d0 + uVar7 * 4) + (int)*pppuVar13) {\n  case 0x7dc1f:\n    goto switchD_0007dbdb_caseD_7dc1f;\n  case 0x7dc7d:\n    goto switchD_0007dbdb_caseD_7dc7d;\n  case 0x7dcd4:\n    goto switchD_0007dbdb_caseD_7dcd4;\n  case 0x7dd72:\n    goto switchD_0007dbdb_caseD_7dd72;\n  case 0x7dfc9:\n    ((int *)pppuVar13)[-1] = 0x7dfd4;\n    cVar3 = FUN_0007d93a();\n    if (cVar3 == '\0') goto LAB_0007dd81;\n    *__ptr = 1;\n    if ((__ptr[0x26] != 0x587a37fd) || ((short)__ptr[0x27] != 0x5a)) {\n      iVar5 = ((int *)pppuVar13)[0x11];\n      iVar8 = 5;\n      goto LAB_0007df05;\n    }\n    ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n    ((int *)pppuVar13)[-5] = 0x7e023;\n    uVar7 = FUN_000a62f1();\n    piVar14 = (int *)pppuVar13 + -1;\n    piVar15 = (int *)pppuVar13 + -1;\n    if (~uVar7 != __ptr[0x28]) goto LAB_0007defc;\n    piVar15 = (int *)pppuVar13 + -1;\n    if (*(char *)((int)__ptr + 0x9e) == '\0') {\n      uVar7 = (uint)*(byte *)((int)__ptr + 0x9f);\n      __ptr[7] = uVar7;\n      piVar15 = (int *)pppuVar13 + -1;\n      if (uVar7 < 0x10) {\n        if (uVar7 < 2) goto switchD_0007dbdb_caseD_7e05d;\n        iVar5 = ((int *)pppuVar13)[0x10];\n        iVar8 = 2;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n        goto LAB_0007df05;\n      }\n    }\n    break;\n  case 0x7e05d:\nswitchD_0007dbdb_caseD_7e05d:\n    uVar10 = *(uint *)((int)piVar14 + 0x38);\n    uVar7 = *(uint *)((int)piVar14 + 0x3c);\n    pppuVar13 = (undefined ***)piVar14;\n    if (uVar10 == uVar7) goto LAB_0007dd85;\n    if (*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) != 0) {\n      uVar7 = (uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) * 4 + 4;\n      __ptr[0xe] = uVar7;\n      __ptr[0x25] = uVar7;\n      __ptr[0x24] = 0;\n      *__ptr = 2;\n      goto switchD_0007dbdb_caseD_7e09e;\n    }\n    *(uint *)((int)piVar14 + 0x38) = uVar10 + 1;\n    __ptr[4] = uVar10;\n    *__ptr = 6;\n    uVar7 = 6;\n    goto LAB_0007dbcf;\n  case 0x7e09e:\nswitchD_0007dbdb_caseD_7e09e:\n    piVar14[-1] = 0x7e0a9;\n    cVar3 = FUN_0007d93a();\n    pppuVar13 = (undefined ***)piVar14;\n    if (cVar3 == '\0') goto LAB_0007dd81;\n    __ptr[0x25] = __ptr[0x25] - 4;\n    piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n    piVar14[-5] = 0x7e0df;\n    uVar10 = FUN_000a62f1();\n    uVar7 = __ptr[0x25];\n    pppuVar13 = (undefined ***)(piVar14 + -1);\n    piVar16 = piVar14 + -1;\n    piVar15 = piVar14 + -1;\n    if (~uVar10 != *(uint *)((int)__ptr + uVar7 + 0x98)) goto LAB_0007defc;\n    __ptr[0x24] = 2;\n    bVar19 = *(byte *)((int)__ptr + 0x99);\n    piVar15 = piVar14 + -1;\n    if ((bVar19 & 0x3f) == 0) {\n      if ((bVar19 & 0x40) == 0) {\n        __ptr[10] = 0xffffffff;\n        __ptr[0xb] = 0xffffffff;\n        if (-1 < (char)bVar19) goto LAB_0007e129;\nLAB_0007e572:\n        *(uint *)((int)piVar16 + -0x10) = uVar7;\n        *(undefined4 *)((int)piVar16 + -0x14) = 0x7e585;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)((int)piVar16 + -4);\n        piVar15 = (int *)((int)piVar16 + -4);\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[0xc] = __ptr[2];\n        __ptr[0xd] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      else {\n        piVar14[-5] = uVar7;\n        piVar14[-6] = 0x7e5cc;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)(piVar14 + -2);\n        piVar16 = piVar14 + -2;\n        piVar15 = piVar14 + -2;\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[10] = __ptr[2];\n        __ptr[0xb] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        if (*(char *)((int)__ptr + 0x99) < '\0') goto LAB_0007e572;\nLAB_0007e129:\n        __ptr[0xc] = 0xffffffff;\n        __ptr[0xd] = 0xffffffff;\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      piVar15 = (int *)pppuVar13;\n      if (uVar9 < 2) goto LAB_0007defc;\n      __ptr[0x24] = uVar10 + 1;\n      if (*(char *)((int)__ptr + uVar10 + 0x98) == '!') {\n        __ptr[0x24] = uVar10 + 2;\n        if (*(char *)((int)__ptr + uVar10 + 0x99) == '\x01') {\n          if (uVar10 + 2 == uVar7) goto LAB_0007defc;\n          uVar9 = uVar10 + 3;\n          __ptr[0x24] = uVar9;\n          bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);\n          if (bVar19 < 0x28) {\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }\n        }\n      }\n    }\n    break;\n  case 0x7e21b:\nswitchD_0007dbdb_caseD_7e21b:\n    __ptr[4] = ((int *)pppuVar13)[0xe];\n    __ptr[5] = ((int *)pppuVar13)[0x11];\n    ((int *)pppuVar13)[-1] = 0x7e238;\n    iVar8 = FUN_0007d17c();\n    ((int *)pppuVar13)[7] = iVar8;\n    uVar9 = (((int *)pppuVar13)[0xe] - __ptr[4]) + __ptr[0xf];\n    uVar18 = __ptr[0x10] + (uint)CARRY4(((int *)pppuVar13)[0xe] - __ptr[4],__ptr[0xf]);\n    __ptr[0xf] = uVar9;\n    __ptr[0x10] = uVar18;\n    iVar5 = ((int *)pppuVar13)[0x11];\n    uVar7 = __ptr[5];\n    ((int *)pppuVar13)[9] = uVar7;\n    uVar7 = iVar5 - uVar7;\n    ((int *)pppuVar13)[10] = uVar7;\n    uVar10 = uVar7 + __ptr[0x11];\n    uVar7 = __ptr[0x12] + (uint)CARRY4(uVar7,__ptr[0x11]);\n    __ptr[0x11] = uVar10;\n    __ptr[0x12] = uVar7;\n    if ((uVar18 <= __ptr[0xb] && (uint)(__ptr[10] < uVar9) <= __ptr[0xb] - uVar18) &&\n       (uVar7 <= __ptr[0xd] && (uint)(__ptr[0xc] < uVar10) <= __ptr[0xd] - uVar7)) {\n      if (__ptr[7] == 1) {\n        ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n        ((int *)pppuVar13)[-5] = 0x7e2b9;\n        uVar7 = FUN_000a62f1();\n        __ptr[6] = ~uVar7;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n      }\n      if (((int *)pppuVar13)[7] == 1) {\n        piVar15 = (int *)pppuVar13;\n        if (((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||\n           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])) {\n          uVar7 = __ptr[0x11];\n          if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }\n        }\n        goto LAB_0007defc;\n      }\n      iVar8 = ((int *)pppuVar13)[7];\n      goto LAB_0007dfbc;\n    }\n    iVar8 = 7;\n    goto LAB_0007df05;\n  case 0x7e360:\nswitchD_0007dbdb_caseD_7e360:\n    uVar10 = __ptr[0xf];\n    uVar9 = __ptr[0x10];\n    if ((uVar10 & 3) != 0) {\n      uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n      uVar7 = *(uint *)((int)pppuVar13 + 0x3c);\n      if (uVar18 == uVar7) goto LAB_0007dd85;\n      iVar8 = *(int *)((int)pppuVar13 + 0x34);\n      *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n      piVar15 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      uVar9 = uVar9 + (0xfffffffe < uVar10);\n      while( true ) {\n        uVar10 = uVar10 + 1;\n        __ptr[0xf] = uVar10;\n        __ptr[0x10] = uVar9;\n        if ((uVar10 & 3) == 0) break;\n        uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n        uVar9 = uVar9 + (0xfffffffe < uVar10);\n        if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      }\n    }\n    *__ptr = 5;\n    piVar14 = (int *)pppuVar13;\nswitchD_0007dbdb_caseD_7e3b0:\n    pppuVar13 = (undefined ***)piVar14;\n    if (__ptr[7] == 1) {\n      uVar10 = piVar14[0xf];\n      iVar8 = piVar14[0xd];\n      uVar7 = piVar14[0xe];\n      do {\n        if (uVar10 == uVar7) goto LAB_0007dd85;\n        uVar9 = __ptr[1];\n        uVar18 = __ptr[6];\n        uVar7 = uVar7 + 1;\n        piVar14[0xe] = uVar7;\n        if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))\n        goto LAB_0007dcff;\n        uVar9 = uVar9 + 8;\n        __ptr[1] = uVar9;\n      } while (uVar9 < 0x20);\n      __ptr[6] = 0;\n      __ptr[1] = 0;\n    }\n    else {\n      uVar10 = __ptr[1];\n      uVar9 = (uint)*(byte *)(*piVar14 + -0x154a8 + __ptr[7]);\n      if (uVar10 < uVar9) {\n        uVar18 = piVar14[0xe];\n        uVar7 = piVar14[0xf];\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        uVar11 = uVar18;\n        while( true ) {\n          uVar11 = uVar11 + 1;\n          if (uVar11 == (uVar18 - uVar10) + uVar9) break;\n          if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }\n        }\n        piVar14[0xe] = uVar11;\n      }\n      __ptr[1] = 0;\n    }\n    *__ptr = 1;\n    uVar7 = 1;\n    goto LAB_0007dbcf;\n  case 0x7e3b0:\n    goto switchD_0007dbdb_caseD_7e3b0;\n  }\nLAB_0007e4e9:\n  iVar5 = *(int *)((int)piVar15 + 0x44);\n  iVar8 = 6;\n  pppuVar13 = (undefined ***)piVar15;\n  goto LAB_0007df05;\nswitchD_0007dbdb_caseD_7dc1f:\n  piVar15 = (int *)pppuVar13;\n  do {\n    *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x3c);\n    *(undefined4 *)((int)piVar15 + -0x14) = 0x7dc3a;\n    iVar8 = FUN_0007d044();\n    piVar14 = (int *)((int)piVar15 + -4);\n    pppuVar13 = (undefined ***)((int)piVar15 + -4);\n    if (iVar8 != 1) {\n      *(undefined4 *)((int)piVar15 + -8) = 0x7dfbc;\n      FUN_0007d137();\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\nLAB_0007dfbc:\n      if (iVar8 == 0) goto LAB_0007dd81;\n      goto LAB_0007dd04;\n    }\n    uVar7 = __ptr[0x1a];\n    if (uVar7 == 1) {\n      puVar1 = __ptr + 0x1f;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x20] = __ptr[0x20] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      __ptr[0x1a] = 2;\nLAB_0007dc68:\n      uVar7 = __ptr[0x1d];\n      uVar10 = __ptr[0x1e];\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\n    }\n    else {\n      if (uVar7 == 0) {\n        uVar7 = __ptr[2];\n        uVar10 = __ptr[3];\n        __ptr[0x1d] = uVar7;\n        __ptr[0x1e] = uVar10;\n        if (__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7) {\n          __ptr[0x1a] = 1;\n          goto LAB_0007dc6e;\n        }\n        goto LAB_0007dcff;\n      }\n      if (uVar7 != 2) goto LAB_0007dc68;\n      puVar1 = __ptr + 0x21;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x22] = __ptr[0x22] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)(*(int *)((int)piVar15 + -4) + 0xcf8);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7df5c;\n      uVar7 = FUN_000a62f1();\n      __ptr[0x23] = ~uVar7;\n      uVar7 = __ptr[0x1d] - 1;\n      uVar10 = (__ptr[0x1e] - 1) + (uint)(__ptr[0x1d] != 0);\n      __ptr[0x1d] = uVar7;\n      __ptr[0x1e] = uVar10;\n      __ptr[0x1a] = 1;\n      pppuVar13 = (undefined ***)((int)piVar15 + -8);\n    }\nLAB_0007dc6e:\n    piVar15 = (int *)pppuVar13;\n  } while (uVar10 != 0 || uVar7 != 0);\n  *__ptr = 7;\nswitchD_0007dbdb_caseD_7dc7d:\n  uVar7 = __ptr[0x1b];\n  iVar8 = *(int *)((int)pppuVar13 + 0x38) + 1;\n  uVar10 = __ptr[4];\nLAB_0007dc95:\n  if ((~uVar10 + iVar8 + uVar7 & 3) == 0) {\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dcae;\n    uVar6 = FUN_0007d137();\n    *(undefined4 *)((int)pppuVar13 + -4) = uVar6;\n    *(undefined4 *)((int)pppuVar13 + -8) = 0x14;\n    *(uint **)((int)pppuVar13 + -0xc) = __ptr + 0x1f;\n    *(uint **)((int)pppuVar13 + -0x10) = __ptr + 0x15;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7dcc2;\n    iVar8 = memcmp(*(void **)((int)pppuVar13 + -0x10),*(void **)((int)pppuVar13 + -0xc),\n                   *(size_t *)((int)pppuVar13 + -8));\n    piVar15 = (int *)pppuVar13;\n    if (iVar8 != 0) goto LAB_0007ddc4;\n    *__ptr = 8;\nswitchD_0007dbdb_caseD_7dcd4:\n    uVar10 = *(uint *)((int)pppuVar13 + 0x3c);\n    iVar8 = *(int *)((int)pppuVar13 + 0x34);\n    uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n    while (uVar10 != uVar7) {\n      uVar9 = __ptr[1];\n      uVar18 = __ptr[6];\n      uVar7 = uVar7 + 1;\n      *(uint *)((int)pppuVar13 + 0x38) = uVar7;\n      piVar14 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f))) {\nLAB_0007dcff:\n        iVar8 = 7;\n        pppuVar13 = (undefined ***)piVar14;\nLAB_0007dd04:\n        *(undefined1 *)(__ptr + 9) = 0;\n        iVar5 = *(int *)((int)pppuVar13 + 0x44);\n        goto joined_r0x0007dd0e;\n      }\n      uVar9 = uVar9 + 8;\n      __ptr[1] = uVar9;\n      if (0x1f < uVar9) {\n        __ptr[6] = 0;\n        __ptr[1] = 0;\n        __ptr[0x25] = 0xc;\n        *__ptr = 9;\nswitchD_0007dbdb_caseD_7dd72:\n        piVar14[-1] = 0x7dd7d;\n        cVar3 = FUN_0007d93a();\n        pppuVar13 = (undefined ***)piVar14;\n        if (cVar3 == '\0') {\nLAB_0007dd81:\n          uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n          break;\n        }\n        piVar15 = piVar14;\n        if (*(short *)((int)__ptr + 0xa2) == 0x5a59) {\n          piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n          piVar14[-5] = 0x7de00;\n          uVar7 = FUN_000a62f1();\n          piVar12 = piVar14 + -1;\n          pppuVar13 = (undefined ***)(piVar14 + -1);\n          piVar15 = piVar14 + -1;\n          if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;\n          iVar8 = piVar14[0x10];\n          if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }\n          *(undefined1 *)(__ptr + 9) = 0;\n          if (iVar8 != 0) {\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }\n          goto LAB_0007de8b;\n        }\nLAB_0007ddc4:\n        pppuVar13 = (undefined ***)piVar15;\n        *(undefined1 *)(__ptr + 9) = 0;\n        if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n        iVar8 = 7;\n        goto LAB_0007de61;\n      }\n    }\n  }\n  else {\n    if (*(int *)((int)pppuVar13 + 0x3c) + 1 != iVar8) goto LAB_0007deec;\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dee3;\n    FUN_0007d137();\n    uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n  }\nLAB_0007dd85:\n  iVar8 = *(int *)((int)pppuVar13 + 0x44);\n  if ((*(uint *)((int)pppuVar13 + 4) == uVar7) && (*(int *)((int)pppuVar13 + 0x20) == iVar8)) {\n    if ((char)__ptr[9] == '\0') {\n      *(undefined1 *)(__ptr + 9) = 1;\n      if (iVar8 == 0) goto LAB_0007de94;\n      iVar8 = 0;\n      goto LAB_0007de61;\n    }\n    if (iVar8 != 0) {\n      iVar8 = 8;\n      goto LAB_0007de61;\n    }\n    goto LAB_0007dd1d;\n  }\n  *(undefined1 *)(__ptr + 9) = 0;\n  if (iVar8 != 0) {\n    iVar8 = 0;\n    goto LAB_0007de61;\n  }\n  iVar8 = 0;\n  goto LAB_0007de94;\nLAB_0007deec:\n  *(int *)((int)pppuVar13 + 0x38) = iVar8;\n  iVar8 = iVar8 + 1;\n  piVar15 = (int *)pppuVar13;\n  if (*(char *)(*(int *)((int)pppuVar13 + 0x34) + -2 + iVar8) != '\0') goto LAB_0007defc;\n  goto LAB_0007dc95;\nLAB_0007defc:\n  iVar5 = *(int *)((int)piVar15 + 0x44);\n  iVar8 = 7;\n  pppuVar13 = (undefined ***)piVar15;\nLAB_0007df05:\n  *(undefined1 *)(__ptr + 9) = 0;\njoined_r0x0007dd0e:\n  if (iVar5 != 0) {\nLAB_0007de61:\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7de70;\n    FUN_000804d0();\n    puVar1 = (uint *)((int)pppuVar13 + 0x10);\n    uVar7 = *puVar1;\n    *puVar1 = *puVar1 + *(uint *)((int)pppuVar13 + 0x44);\n    *(int *)((int)pppuVar13 + 0x14) =\n         *(int *)((int)pppuVar13 + 0x14) + (uint)CARRY4(uVar7,*(uint *)((int)pppuVar13 + 0x44));\n    *(undefined4 *)((int)pppuVar13 + 0x44) = 0;\n    piVar12 = (int *)pppuVar13;\n    if (iVar8 == 1) {\nLAB_0007de8b:\n      uVar7 = *(uint *)((int)piVar12 + 0x38);\n      iVar8 = 1;\n      pppuVar13 = (undefined ***)piVar12;\n      goto LAB_0007de94;\n    }\n    if (iVar8 == 0) {\n      uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n      iVar8 = 0;\n      goto LAB_0007de94;\n    }\n  }\n  if (iVar8 != 2) {\nLAB_0007dd1d:\n    ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x6009;\n    ((int *)pppuVar13)[-5] = 0x7dd30;\n    FUN_000191bd();\n    ((int *)pppuVar13)[4] = -1;\n    ((int *)pppuVar13)[5] = -1;\nLAB_0007dafd:\n    uVar7 = __ptr[0x126];\n    *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar7 + 0x18);\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db14;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    *(uint *)((int)pppuVar13 + -0x10) = uVar7;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db1c;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    *(uint **)((int)pppuVar13 + -0x10) = __ptr;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db24;\n    free(*(void **)((int)pppuVar13 + -0x10));\nLAB_0007db27:\n    *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)((int)pppuVar13 + 0xc);\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db37;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    if (*(int *)((int)pppuVar13 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)) {\n      return *(undefined8 *)((int)pppuVar13 + 0x10);\n    }\n                    \n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dc1f;\n    FUN_00017e10();\n  }\n  uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n  iVar8 = 2;\nLAB_0007de94:\n  *(uint *)((int)pppuVar13 + 4) = uVar7;\n  goto LAB_0007daa8;\n}\n\n" (function_definition "undefined8 FUN_0007d999(void)\n\n{\n  uint *puVar1;\n  bool bVar2;\n  char cVar3;\n  uint *__ptr;\n  void *pvVar4;\n  int iVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  int *piVar12;\n  undefined ***pppuVar13;\n  int *piVar14;\n  int *piVar15;\n  int *piVar16;\n  undefined4 **ppuVar17;\n  uint uVar18;\n  int in_GS_OFFSET;\n  byte bVar19;\n  undefined **local_6c;\n  undefined4 local_68;\n  undefined4 **local_64;\n  undefined4 *local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  char *local_54;\n  undefined4 *local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 *local_2c;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  bVar19 = 0;\n  pppuVar13 = &local_6c;\n  local_6c = &__DT_PLTGOT;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  if (DAT_000d1718 == 0) {\n    FUN_000a62ce();\n  }\n  local_64 = &local_38;\n  ppuVar17 = local_64;\n  for (iVar8 = 6; iVar8 != 0; iVar8 = iVar8 + -1) {\n    *ppuVar17 = (undefined4 *)0x0;\n    ppuVar17 = ppuVar17 + (uint)bVar19 * -2 + 1;\n  }\n  local_60 = (undefined4 *)FUN_00019b1c();\n  local_2c = local_60 + 0x800;\n  local_24 = 0x2000;\n  if ((local_54 == (char *)0x0) || (*local_54 != '\0')) {\n    *local_60 = 0x587a37fd;\n    *(undefined2 *)(local_60 + 1) = 0x5a;\n    local_30 = 6;\n  }\n  local_38 = local_60;\n  __ptr = (uint *)malloc(0x49c);\n  if (__ptr != (uint *)0x0) {\n    __ptr[8] = 2;\n    pvVar4 = malloc(0x6f28);\n    if (pvVar4 == (void *)0x0) {\n      free(__ptr);\n      __ptr = (uint *)0x0;\n    }\n    else {\n      *(undefined4 *)((int)pvVar4 + 0x3c) = 2;\n      *(undefined4 *)((int)pvVar4 + 0x34) = 0x4000000;\n      *(undefined4 *)((int)pvVar4 + 0x18) = 0;\n      *(undefined4 *)((int)pvVar4 + 0x38) = 0;\n      __ptr[0x126] = (uint)pvVar4;\n      FUN_0007d0ea();\n    }\n  }\n  local_68 = local_34;\n  local_5c = 0;\n  local_58 = 0;\n  iVar8 = 1;\nLAB_0007daa8:\n  if (((int *)pppuVar13)[0xf] == ((int *)pppuVar13)[1]) {\n    ((int *)pppuVar13)[-1] = 0x7dacb;\n    iVar5 = FUN_0001ac64();\n    if (iVar5 < 0) {\n      ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x4f84;\n      ((int *)pppuVar13)[-5] = 0x7dae6;\n      FUN_000191bd();\n      ((int *)pppuVar13)[4] = -1;\n      ((int *)pppuVar13)[5] = -1;\n      if (__ptr != (uint *)0x0) goto LAB_0007dafd;\n      goto LAB_0007db27;\n    }\n    if ((iVar5 == 0) && (iVar8 == 1)) {\n      if (__ptr == (uint *)0x0) goto LAB_0007db27;\n      goto LAB_0007dafd;\n    }\n    ((int *)pppuVar13)[0xf] = iVar5;\n    ((int *)pppuVar13)[0xe] = 0;\n    ((int *)pppuVar13)[1] = 0;\n  }\n  if (iVar8 == 1) {\n    bVar2 = false;\n    do {\n      if (*(char *)(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1]) != '\0') {\n        if (bVar2) {\n          ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n        }\n        ((int *)pppuVar13)[-1] = 0x7dba9;\n        FUN_0007d0ea();\n        ((int *)pppuVar13)[1] = ((int *)pppuVar13)[0xe];\n        goto LAB_0007dbb1;\n      }\n      ((int *)pppuVar13)[1] = ((int *)pppuVar13)[1] + 1;\n      bVar2 = true;\n    } while ((uint)((int *)pppuVar13)[1] < (uint)((int *)pppuVar13)[0xf]);\n    ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n  }\nLAB_0007dbb1:\n  ((int *)pppuVar13)[8] = ((int *)pppuVar13)[0x11];\n  __ptr[4] = ((int *)pppuVar13)[1];\n  uVar7 = *__ptr;\n  ((int *)pppuVar13)[0xb] = (int)(__ptr + 0x15);\n  do {\n  } while (9 < uVar7);\nLAB_0007dbcf:\n  piVar14 = (int *)pppuVar13;\n  switch(*(int *)((int)*pppuVar13 + -0x154d0 + uVar7 * 4) + (int)*pppuVar13) {\n  case 0x7dc1f:\n    goto switchD_0007dbdb_caseD_7dc1f;\n  case 0x7dc7d:\n    goto switchD_0007dbdb_caseD_7dc7d;\n  case 0x7dcd4:\n    goto switchD_0007dbdb_caseD_7dcd4;\n  case 0x7dd72:\n    goto switchD_0007dbdb_caseD_7dd72;\n  case 0x7dfc9:\n    ((int *)pppuVar13)[-1] = 0x7dfd4;\n    cVar3 = FUN_0007d93a();\n    if (cVar3 == '\0') goto LAB_0007dd81;\n    *__ptr = 1;\n    if ((__ptr[0x26] != 0x587a37fd) || ((short)__ptr[0x27] != 0x5a)) {\n      iVar5 = ((int *)pppuVar13)[0x11];\n      iVar8 = 5;\n      goto LAB_0007df05;\n    }\n    ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n    ((int *)pppuVar13)[-5] = 0x7e023;\n    uVar7 = FUN_000a62f1();\n    piVar14 = (int *)pppuVar13 + -1;\n    piVar15 = (int *)pppuVar13 + -1;\n    if (~uVar7 != __ptr[0x28]) goto LAB_0007defc;\n    piVar15 = (int *)pppuVar13 + -1;\n    if (*(char *)((int)__ptr + 0x9e) == '\0') {\n      uVar7 = (uint)*(byte *)((int)__ptr + 0x9f);\n      __ptr[7] = uVar7;\n      piVar15 = (int *)pppuVar13 + -1;\n      if (uVar7 < 0x10) {\n        if (uVar7 < 2) goto switchD_0007dbdb_caseD_7e05d;\n        iVar5 = ((int *)pppuVar13)[0x10];\n        iVar8 = 2;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n        goto LAB_0007df05;\n      }\n    }\n    break;\n  case 0x7e05d:\nswitchD_0007dbdb_caseD_7e05d:\n    uVar10 = *(uint *)((int)piVar14 + 0x38);\n    uVar7 = *(uint *)((int)piVar14 + 0x3c);\n    pppuVar13 = (undefined ***)piVar14;\n    if (uVar10 == uVar7) goto LAB_0007dd85;\n    if (*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) != 0) {\n      uVar7 = (uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) * 4 + 4;\n      __ptr[0xe] = uVar7;\n      __ptr[0x25] = uVar7;\n      __ptr[0x24] = 0;\n      *__ptr = 2;\n      goto switchD_0007dbdb_caseD_7e09e;\n    }\n    *(uint *)((int)piVar14 + 0x38) = uVar10 + 1;\n    __ptr[4] = uVar10;\n    *__ptr = 6;\n    uVar7 = 6;\n    goto LAB_0007dbcf;\n  case 0x7e09e:\nswitchD_0007dbdb_caseD_7e09e:\n    piVar14[-1] = 0x7e0a9;\n    cVar3 = FUN_0007d93a();\n    pppuVar13 = (undefined ***)piVar14;\n    if (cVar3 == '\0') goto LAB_0007dd81;\n    __ptr[0x25] = __ptr[0x25] - 4;\n    piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n    piVar14[-5] = 0x7e0df;\n    uVar10 = FUN_000a62f1();\n    uVar7 = __ptr[0x25];\n    pppuVar13 = (undefined ***)(piVar14 + -1);\n    piVar16 = piVar14 + -1;\n    piVar15 = piVar14 + -1;\n    if (~uVar10 != *(uint *)((int)__ptr + uVar7 + 0x98)) goto LAB_0007defc;\n    __ptr[0x24] = 2;\n    bVar19 = *(byte *)((int)__ptr + 0x99);\n    piVar15 = piVar14 + -1;\n    if ((bVar19 & 0x3f) == 0) {\n      if ((bVar19 & 0x40) == 0) {\n        __ptr[10] = 0xffffffff;\n        __ptr[0xb] = 0xffffffff;\n        if (-1 < (char)bVar19) goto LAB_0007e129;\nLAB_0007e572:\n        *(uint *)((int)piVar16 + -0x10) = uVar7;\n        *(undefined4 *)((int)piVar16 + -0x14) = 0x7e585;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)((int)piVar16 + -4);\n        piVar15 = (int *)((int)piVar16 + -4);\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[0xc] = __ptr[2];\n        __ptr[0xd] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      else {\n        piVar14[-5] = uVar7;\n        piVar14[-6] = 0x7e5cc;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)(piVar14 + -2);\n        piVar16 = piVar14 + -2;\n        piVar15 = piVar14 + -2;\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[10] = __ptr[2];\n        __ptr[0xb] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        if (*(char *)((int)__ptr + 0x99) < '\0') goto LAB_0007e572;\nLAB_0007e129:\n        __ptr[0xc] = 0xffffffff;\n        __ptr[0xd] = 0xffffffff;\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      piVar15 = (int *)pppuVar13;\n      if (uVar9 < 2) goto LAB_0007defc;\n      __ptr[0x24] = uVar10 + 1;\n      if (*(char *)((int)__ptr + uVar10 + 0x98) == '!') {\n        __ptr[0x24] = uVar10 + 2;\n        if (*(char *)((int)__ptr + uVar10 + 0x99) == '\x01') {\n          if (uVar10 + 2 == uVar7) goto LAB_0007defc;\n          uVar9 = uVar10 + 3;\n          __ptr[0x24] = uVar9;\n          bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);\n          if (bVar19 < 0x28) {\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }\n        }\n      }\n    }\n    break;\n  case 0x7e21b:\nswitchD_0007dbdb_caseD_7e21b:\n    __ptr[4] = ((int *)pppuVar13)[0xe];\n    __ptr[5] = ((int *)pppuVar13)[0x11];\n    ((int *)pppuVar13)[-1] = 0x7e238;\n    iVar8 = FUN_0007d17c();\n    ((int *)pppuVar13)[7] = iVar8;\n    uVar9 = (((int *)pppuVar13)[0xe] - __ptr[4]) + __ptr[0xf];\n    uVar18 = __ptr[0x10] + (uint)CARRY4(((int *)pppuVar13)[0xe] - __ptr[4],__ptr[0xf]);\n    __ptr[0xf] = uVar9;\n    __ptr[0x10] = uVar18;\n    iVar5 = ((int *)pppuVar13)[0x11];\n    uVar7 = __ptr[5];\n    ((int *)pppuVar13)[9] = uVar7;\n    uVar7 = iVar5 - uVar7;\n    ((int *)pppuVar13)[10] = uVar7;\n    uVar10 = uVar7 + __ptr[0x11];\n    uVar7 = __ptr[0x12] + (uint)CARRY4(uVar7,__ptr[0x11]);\n    __ptr[0x11] = uVar10;\n    __ptr[0x12] = uVar7;\n    if ((uVar18 <= __ptr[0xb] && (uint)(__ptr[10] < uVar9) <= __ptr[0xb] - uVar18) &&\n       (uVar7 <= __ptr[0xd] && (uint)(__ptr[0xc] < uVar10) <= __ptr[0xd] - uVar7)) {\n      if (__ptr[7] == 1) {\n        ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n        ((int *)pppuVar13)[-5] = 0x7e2b9;\n        uVar7 = FUN_000a62f1();\n        __ptr[6] = ~uVar7;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n      }\n      if (((int *)pppuVar13)[7] == 1) {\n        piVar15 = (int *)pppuVar13;\n        if (((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||\n           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])) {\n          uVar7 = __ptr[0x11];\n          if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }\n        }\n        goto LAB_0007defc;\n      }\n      iVar8 = ((int *)pppuVar13)[7];\n      goto LAB_0007dfbc;\n    }\n    iVar8 = 7;\n    goto LAB_0007df05;\n  case 0x7e360:\nswitchD_0007dbdb_caseD_7e360:\n    uVar10 = __ptr[0xf];\n    uVar9 = __ptr[0x10];\n    if ((uVar10 & 3) != 0) {\n      uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n      uVar7 = *(uint *)((int)pppuVar13 + 0x3c);\n      if (uVar18 == uVar7) goto LAB_0007dd85;\n      iVar8 = *(int *)((int)pppuVar13 + 0x34);\n      *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n      piVar15 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      uVar9 = uVar9 + (0xfffffffe < uVar10);\n      while( true ) {\n        uVar10 = uVar10 + 1;\n        __ptr[0xf] = uVar10;\n        __ptr[0x10] = uVar9;\n        if ((uVar10 & 3) == 0) break;\n        uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n        uVar9 = uVar9 + (0xfffffffe < uVar10);\n        if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      }\n    }\n    *__ptr = 5;\n    piVar14 = (int *)pppuVar13;\nswitchD_0007dbdb_caseD_7e3b0:\n    pppuVar13 = (undefined ***)piVar14;\n    if (__ptr[7] == 1) {\n      uVar10 = piVar14[0xf];\n      iVar8 = piVar14[0xd];\n      uVar7 = piVar14[0xe];\n      do {\n        if (uVar10 == uVar7) goto LAB_0007dd85;\n        uVar9 = __ptr[1];\n        uVar18 = __ptr[6];\n        uVar7 = uVar7 + 1;\n        piVar14[0xe] = uVar7;\n        if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))\n        goto LAB_0007dcff;\n        uVar9 = uVar9 + 8;\n        __ptr[1] = uVar9;\n      } while (uVar9 < 0x20);\n      __ptr[6] = 0;\n      __ptr[1] = 0;\n    }\n    else {\n      uVar10 = __ptr[1];\n      uVar9 = (uint)*(byte *)(*piVar14 + -0x154a8 + __ptr[7]);\n      if (uVar10 < uVar9) {\n        uVar18 = piVar14[0xe];\n        uVar7 = piVar14[0xf];\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        uVar11 = uVar18;\n        while( true ) {\n          uVar11 = uVar11 + 1;\n          if (uVar11 == (uVar18 - uVar10) + uVar9) break;\n          if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }\n        }\n        piVar14[0xe] = uVar11;\n      }\n      __ptr[1] = 0;\n    }\n    *__ptr = 1;\n    uVar7 = 1;\n    goto LAB_0007dbcf;\n  case 0x7e3b0:\n    goto switchD_0007dbdb_caseD_7e3b0;\n  }\nLAB_0007e4e9:\n  iVar5 = *(int *)((int)piVar15 + 0x44);\n  iVar8 = 6;\n  pppuVar13 = (undefined ***)piVar15;\n  goto LAB_0007df05;\nswitchD_0007dbdb_caseD_7dc1f:\n  piVar15 = (int *)pppuVar13;\n  do {\n    *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x3c);\n    *(undefined4 *)((int)piVar15 + -0x14) = 0x7dc3a;\n    iVar8 = FUN_0007d044();\n    piVar14 = (int *)((int)piVar15 + -4);\n    pppuVar13 = (undefined ***)((int)piVar15 + -4);\n    if (iVar8 != 1) {\n      *(undefined4 *)((int)piVar15 + -8) = 0x7dfbc;\n      FUN_0007d137();\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\nLAB_0007dfbc:\n      if (iVar8 == 0) goto LAB_0007dd81;\n      goto LAB_0007dd04;\n    }\n    uVar7 = __ptr[0x1a];\n    if (uVar7 == 1) {\n      puVar1 = __ptr + 0x1f;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x20] = __ptr[0x20] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      __ptr[0x1a] = 2;\nLAB_0007dc68:\n      uVar7 = __ptr[0x1d];\n      uVar10 = __ptr[0x1e];\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\n    }\n    else {\n      if (uVar7 == 0) {\n        uVar7 = __ptr[2];\n        uVar10 = __ptr[3];\n        __ptr[0x1d] = uVar7;\n        __ptr[0x1e] = uVar10;\n        if (__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7) {\n          __ptr[0x1a] = 1;\n          goto LAB_0007dc6e;\n        }\n        goto LAB_0007dcff;\n      }\n      if (uVar7 != 2) goto LAB_0007dc68;\n      puVar1 = __ptr + 0x21;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x22] = __ptr[0x22] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)(*(int *)((int)piVar15 + -4) + 0xcf8);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7df5c;\n      uVar7 = FUN_000a62f1();\n      __ptr[0x23] = ~uVar7;\n      uVar7 = __ptr[0x1d] - 1;\n      uVar10 = (__ptr[0x1e] - 1) + (uint)(__ptr[0x1d] != 0);\n      __ptr[0x1d] = uVar7;\n      __ptr[0x1e] = uVar10;\n      __ptr[0x1a] = 1;\n      pppuVar13 = (undefined ***)((int)piVar15 + -8);\n    }\nLAB_0007dc6e:\n    piVar15 = (int *)pppuVar13;\n  } while (uVar10 != 0 || uVar7 != 0);\n  *__ptr = 7;\nswitchD_0007dbdb_caseD_7dc7d:\n  uVar7 = __ptr[0x1b];\n  iVar8 = *(int *)((int)pppuVar13 + 0x38) + 1;\n  uVar10 = __ptr[4];\nLAB_0007dc95:\n  if ((~uVar10 + iVar8 + uVar7 & 3) == 0) {\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dcae;\n    uVar6 = FUN_0007d137();\n    *(undefined4 *)((int)pppuVar13 + -4) = uVar6;\n    *(undefined4 *)((int)pppuVar13 + -8) = 0x14;\n    *(uint **)((int)pppuVar13 + -0xc) = __ptr + 0x1f;\n    *(uint **)((int)pppuVar13 + -0x10) = __ptr + 0x15;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7dcc2;\n    iVar8 = memcmp(*(void **)((int)pppuVar13 + -0x10),*(void **)((int)pppuVar13 + -0xc),\n                   *(size_t *)((int)pppuVar13 + -8));\n    piVar15 = (int *)pppuVar13;\n    if (iVar8 != 0) goto LAB_0007ddc4;\n    *__ptr = 8;\nswitchD_0007dbdb_caseD_7dcd4:\n    uVar10 = *(uint *)((int)pppuVar13 + 0x3c);\n    iVar8 = *(int *)((int)pppuVar13 + 0x34);\n    uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n    while (uVar10 != uVar7) {\n      uVar9 = __ptr[1];\n      uVar18 = __ptr[6];\n      uVar7 = uVar7 + 1;\n      *(uint *)((int)pppuVar13 + 0x38) = uVar7;\n      piVar14 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f))) {\nLAB_0007dcff:\n        iVar8 = 7;\n        pppuVar13 = (undefined ***)piVar14;\nLAB_0007dd04:\n        *(undefined1 *)(__ptr + 9) = 0;\n        iVar5 = *(int *)((int)pppuVar13 + 0x44);\n        goto joined_r0x0007dd0e;\n      }\n      uVar9 = uVar9 + 8;\n      __ptr[1] = uVar9;\n      if (0x1f < uVar9) {\n        __ptr[6] = 0;\n        __ptr[1] = 0;\n        __ptr[0x25] = 0xc;\n        *__ptr = 9;\nswitchD_0007dbdb_caseD_7dd72:\n        piVar14[-1] = 0x7dd7d;\n        cVar3 = FUN_0007d93a();\n        pppuVar13 = (undefined ***)piVar14;\n        if (cVar3 == '\0') {\nLAB_0007dd81:\n          uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n          break;\n        }\n        piVar15 = piVar14;\n        if (*(short *)((int)__ptr + 0xa2) == 0x5a59) {\n          piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n          piVar14[-5] = 0x7de00;\n          uVar7 = FUN_000a62f1();\n          piVar12 = piVar14 + -1;\n          pppuVar13 = (undefined ***)(piVar14 + -1);\n          piVar15 = piVar14 + -1;\n          if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;\n          iVar8 = piVar14[0x10];\n          if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }\n          *(undefined1 *)(__ptr + 9) = 0;\n          if (iVar8 != 0) {\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }\n          goto LAB_0007de8b;\n        }\nLAB_0007ddc4:\n        pppuVar13 = (undefined ***)piVar15;\n        *(undefined1 *)(__ptr + 9) = 0;\n        if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n        iVar8 = 7;\n        goto LAB_0007de61;\n      }\n    }\n  }\n  else {\n    if (*(int *)((int)pppuVar13 + 0x3c) + 1 != iVar8) goto LAB_0007deec;\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dee3;\n    FUN_0007d137();\n    uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n  }\nLAB_0007dd85:\n  iVar8 = *(int *)((int)pppuVar13 + 0x44);\n  if ((*(uint *)((int)pppuVar13 + 4) == uVar7) && (*(int *)((int)pppuVar13 + 0x20) == iVar8)) {\n    if ((char)__ptr[9] == '\0') {\n      *(undefined1 *)(__ptr + 9) = 1;\n      if (iVar8 == 0) goto LAB_0007de94;\n      iVar8 = 0;\n      goto LAB_0007de61;\n    }\n    if (iVar8 != 0) {\n      iVar8 = 8;\n      goto LAB_0007de61;\n    }\n    goto LAB_0007dd1d;\n  }\n  *(undefined1 *)(__ptr + 9) = 0;\n  if (iVar8 != 0) {\n    iVar8 = 0;\n    goto LAB_0007de61;\n  }\n  iVar8 = 0;\n  goto LAB_0007de94;\nLAB_0007deec:\n  *(int *)((int)pppuVar13 + 0x38) = iVar8;\n  iVar8 = iVar8 + 1;\n  piVar15 = (int *)pppuVar13;\n  if (*(char *)(*(int *)((int)pppuVar13 + 0x34) + -2 + iVar8) != '\0') goto LAB_0007defc;\n  goto LAB_0007dc95;\nLAB_0007defc:\n  iVar5 = *(int *)((int)piVar15 + 0x44);\n  iVar8 = 7;\n  pppuVar13 = (undefined ***)piVar15;\nLAB_0007df05:\n  *(undefined1 *)(__ptr + 9) = 0;\njoined_r0x0007dd0e:\n  if (iVar5 != 0) {\nLAB_0007de61:\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7de70;\n    FUN_000804d0();\n    puVar1 = (uint *)((int)pppuVar13 + 0x10);\n    uVar7 = *puVar1;\n    *puVar1 = *puVar1 + *(uint *)((int)pppuVar13 + 0x44);\n    *(int *)((int)pppuVar13 + 0x14) =\n         *(int *)((int)pppuVar13 + 0x14) + (uint)CARRY4(uVar7,*(uint *)((int)pppuVar13 + 0x44));\n    *(undefined4 *)((int)pppuVar13 + 0x44) = 0;\n    piVar12 = (int *)pppuVar13;\n    if (iVar8 == 1) {\nLAB_0007de8b:\n      uVar7 = *(uint *)((int)piVar12 + 0x38);\n      iVar8 = 1;\n      pppuVar13 = (undefined ***)piVar12;\n      goto LAB_0007de94;\n    }\n    if (iVar8 == 0) {\n      uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n      iVar8 = 0;\n      goto LAB_0007de94;\n    }\n  }\n  if (iVar8 != 2) {\nLAB_0007dd1d:\n    ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x6009;\n    ((int *)pppuVar13)[-5] = 0x7dd30;\n    FUN_000191bd();\n    ((int *)pppuVar13)[4] = -1;\n    ((int *)pppuVar13)[5] = -1;\nLAB_0007dafd:\n    uVar7 = __ptr[0x126];\n    *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar7 + 0x18);\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db14;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    *(uint *)((int)pppuVar13 + -0x10) = uVar7;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db1c;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    *(uint **)((int)pppuVar13 + -0x10) = __ptr;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db24;\n    free(*(void **)((int)pppuVar13 + -0x10));\nLAB_0007db27:\n    *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)((int)pppuVar13 + 0xc);\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db37;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    if (*(int *)((int)pppuVar13 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)) {\n      return *(undefined8 *)((int)pppuVar13 + 0x10);\n    }\n                    \n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dc1f;\n    FUN_00017e10();\n  }\n  uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n  iVar8 = 2;\nLAB_0007de94:\n  *(uint *)((int)pppuVar13 + 4) = uVar7;\n  goto LAB_0007daa8;\n}" type_identifier (function_declarator "FUN_0007d999(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  uint *puVar1;\n  bool bVar2;\n  char cVar3;\n  uint *__ptr;\n  void *pvVar4;\n  int iVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  int *piVar12;\n  undefined ***pppuVar13;\n  int *piVar14;\n  int *piVar15;\n  int *piVar16;\n  undefined4 **ppuVar17;\n  uint uVar18;\n  int in_GS_OFFSET;\n  byte bVar19;\n  undefined **local_6c;\n  undefined4 local_68;\n  undefined4 **local_64;\n  undefined4 *local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  char *local_54;\n  undefined4 *local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 *local_2c;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  bVar19 = 0;\n  pppuVar13 = &local_6c;\n  local_6c = &__DT_PLTGOT;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  if (DAT_000d1718 == 0) {\n    FUN_000a62ce();\n  }\n  local_64 = &local_38;\n  ppuVar17 = local_64;\n  for (iVar8 = 6; iVar8 != 0; iVar8 = iVar8 + -1) {\n    *ppuVar17 = (undefined4 *)0x0;\n    ppuVar17 = ppuVar17 + (uint)bVar19 * -2 + 1;\n  }\n  local_60 = (undefined4 *)FUN_00019b1c();\n  local_2c = local_60 + 0x800;\n  local_24 = 0x2000;\n  if ((local_54 == (char *)0x0) || (*local_54 != '\0')) {\n    *local_60 = 0x587a37fd;\n    *(undefined2 *)(local_60 + 1) = 0x5a;\n    local_30 = 6;\n  }\n  local_38 = local_60;\n  __ptr = (uint *)malloc(0x49c);\n  if (__ptr != (uint *)0x0) {\n    __ptr[8] = 2;\n    pvVar4 = malloc(0x6f28);\n    if (pvVar4 == (void *)0x0) {\n      free(__ptr);\n      __ptr = (uint *)0x0;\n    }\n    else {\n      *(undefined4 *)((int)pvVar4 + 0x3c) = 2;\n      *(undefined4 *)((int)pvVar4 + 0x34) = 0x4000000;\n      *(undefined4 *)((int)pvVar4 + 0x18) = 0;\n      *(undefined4 *)((int)pvVar4 + 0x38) = 0;\n      __ptr[0x126] = (uint)pvVar4;\n      FUN_0007d0ea();\n    }\n  }\n  local_68 = local_34;\n  local_5c = 0;\n  local_58 = 0;\n  iVar8 = 1;\nLAB_0007daa8:\n  if (((int *)pppuVar13)[0xf] == ((int *)pppuVar13)[1]) {\n    ((int *)pppuVar13)[-1] = 0x7dacb;\n    iVar5 = FUN_0001ac64();\n    if (iVar5 < 0) {\n      ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x4f84;\n      ((int *)pppuVar13)[-5] = 0x7dae6;\n      FUN_000191bd();\n      ((int *)pppuVar13)[4] = -1;\n      ((int *)pppuVar13)[5] = -1;\n      if (__ptr != (uint *)0x0) goto LAB_0007dafd;\n      goto LAB_0007db27;\n    }\n    if ((iVar5 == 0) && (iVar8 == 1)) {\n      if (__ptr == (uint *)0x0) goto LAB_0007db27;\n      goto LAB_0007dafd;\n    }\n    ((int *)pppuVar13)[0xf] = iVar5;\n    ((int *)pppuVar13)[0xe] = 0;\n    ((int *)pppuVar13)[1] = 0;\n  }\n  if (iVar8 == 1) {\n    bVar2 = false;\n    do {\n      if (*(char *)(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1]) != '\0') {\n        if (bVar2) {\n          ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n        }\n        ((int *)pppuVar13)[-1] = 0x7dba9;\n        FUN_0007d0ea();\n        ((int *)pppuVar13)[1] = ((int *)pppuVar13)[0xe];\n        goto LAB_0007dbb1;\n      }\n      ((int *)pppuVar13)[1] = ((int *)pppuVar13)[1] + 1;\n      bVar2 = true;\n    } while ((uint)((int *)pppuVar13)[1] < (uint)((int *)pppuVar13)[0xf]);\n    ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n  }\nLAB_0007dbb1:\n  ((int *)pppuVar13)[8] = ((int *)pppuVar13)[0x11];\n  __ptr[4] = ((int *)pppuVar13)[1];\n  uVar7 = *__ptr;\n  ((int *)pppuVar13)[0xb] = (int)(__ptr + 0x15);\n  do {\n  } while (9 < uVar7);\nLAB_0007dbcf:\n  piVar14 = (int *)pppuVar13;\n  switch(*(int *)((int)*pppuVar13 + -0x154d0 + uVar7 * 4) + (int)*pppuVar13) {\n  case 0x7dc1f:\n    goto switchD_0007dbdb_caseD_7dc1f;\n  case 0x7dc7d:\n    goto switchD_0007dbdb_caseD_7dc7d;\n  case 0x7dcd4:\n    goto switchD_0007dbdb_caseD_7dcd4;\n  case 0x7dd72:\n    goto switchD_0007dbdb_caseD_7dd72;\n  case 0x7dfc9:\n    ((int *)pppuVar13)[-1] = 0x7dfd4;\n    cVar3 = FUN_0007d93a();\n    if (cVar3 == '\0') goto LAB_0007dd81;\n    *__ptr = 1;\n    if ((__ptr[0x26] != 0x587a37fd) || ((short)__ptr[0x27] != 0x5a)) {\n      iVar5 = ((int *)pppuVar13)[0x11];\n      iVar8 = 5;\n      goto LAB_0007df05;\n    }\n    ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n    ((int *)pppuVar13)[-5] = 0x7e023;\n    uVar7 = FUN_000a62f1();\n    piVar14 = (int *)pppuVar13 + -1;\n    piVar15 = (int *)pppuVar13 + -1;\n    if (~uVar7 != __ptr[0x28]) goto LAB_0007defc;\n    piVar15 = (int *)pppuVar13 + -1;\n    if (*(char *)((int)__ptr + 0x9e) == '\0') {\n      uVar7 = (uint)*(byte *)((int)__ptr + 0x9f);\n      __ptr[7] = uVar7;\n      piVar15 = (int *)pppuVar13 + -1;\n      if (uVar7 < 0x10) {\n        if (uVar7 < 2) goto switchD_0007dbdb_caseD_7e05d;\n        iVar5 = ((int *)pppuVar13)[0x10];\n        iVar8 = 2;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n        goto LAB_0007df05;\n      }\n    }\n    break;\n  case 0x7e05d:\nswitchD_0007dbdb_caseD_7e05d:\n    uVar10 = *(uint *)((int)piVar14 + 0x38);\n    uVar7 = *(uint *)((int)piVar14 + 0x3c);\n    pppuVar13 = (undefined ***)piVar14;\n    if (uVar10 == uVar7) goto LAB_0007dd85;\n    if (*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) != 0) {\n      uVar7 = (uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) * 4 + 4;\n      __ptr[0xe] = uVar7;\n      __ptr[0x25] = uVar7;\n      __ptr[0x24] = 0;\n      *__ptr = 2;\n      goto switchD_0007dbdb_caseD_7e09e;\n    }\n    *(uint *)((int)piVar14 + 0x38) = uVar10 + 1;\n    __ptr[4] = uVar10;\n    *__ptr = 6;\n    uVar7 = 6;\n    goto LAB_0007dbcf;\n  case 0x7e09e:\nswitchD_0007dbdb_caseD_7e09e:\n    piVar14[-1] = 0x7e0a9;\n    cVar3 = FUN_0007d93a();\n    pppuVar13 = (undefined ***)piVar14;\n    if (cVar3 == '\0') goto LAB_0007dd81;\n    __ptr[0x25] = __ptr[0x25] - 4;\n    piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n    piVar14[-5] = 0x7e0df;\n    uVar10 = FUN_000a62f1();\n    uVar7 = __ptr[0x25];\n    pppuVar13 = (undefined ***)(piVar14 + -1);\n    piVar16 = piVar14 + -1;\n    piVar15 = piVar14 + -1;\n    if (~uVar10 != *(uint *)((int)__ptr + uVar7 + 0x98)) goto LAB_0007defc;\n    __ptr[0x24] = 2;\n    bVar19 = *(byte *)((int)__ptr + 0x99);\n    piVar15 = piVar14 + -1;\n    if ((bVar19 & 0x3f) == 0) {\n      if ((bVar19 & 0x40) == 0) {\n        __ptr[10] = 0xffffffff;\n        __ptr[0xb] = 0xffffffff;\n        if (-1 < (char)bVar19) goto LAB_0007e129;\nLAB_0007e572:\n        *(uint *)((int)piVar16 + -0x10) = uVar7;\n        *(undefined4 *)((int)piVar16 + -0x14) = 0x7e585;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)((int)piVar16 + -4);\n        piVar15 = (int *)((int)piVar16 + -4);\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[0xc] = __ptr[2];\n        __ptr[0xd] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      else {\n        piVar14[-5] = uVar7;\n        piVar14[-6] = 0x7e5cc;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)(piVar14 + -2);\n        piVar16 = piVar14 + -2;\n        piVar15 = piVar14 + -2;\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[10] = __ptr[2];\n        __ptr[0xb] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        if (*(char *)((int)__ptr + 0x99) < '\0') goto LAB_0007e572;\nLAB_0007e129:\n        __ptr[0xc] = 0xffffffff;\n        __ptr[0xd] = 0xffffffff;\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      piVar15 = (int *)pppuVar13;\n      if (uVar9 < 2) goto LAB_0007defc;\n      __ptr[0x24] = uVar10 + 1;\n      if (*(char *)((int)__ptr + uVar10 + 0x98) == '!') {\n        __ptr[0x24] = uVar10 + 2;\n        if (*(char *)((int)__ptr + uVar10 + 0x99) == '\x01') {\n          if (uVar10 + 2 == uVar7) goto LAB_0007defc;\n          uVar9 = uVar10 + 3;\n          __ptr[0x24] = uVar9;\n          bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);\n          if (bVar19 < 0x28) {\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }\n        }\n      }\n    }\n    break;\n  case 0x7e21b:\nswitchD_0007dbdb_caseD_7e21b:\n    __ptr[4] = ((int *)pppuVar13)[0xe];\n    __ptr[5] = ((int *)pppuVar13)[0x11];\n    ((int *)pppuVar13)[-1] = 0x7e238;\n    iVar8 = FUN_0007d17c();\n    ((int *)pppuVar13)[7] = iVar8;\n    uVar9 = (((int *)pppuVar13)[0xe] - __ptr[4]) + __ptr[0xf];\n    uVar18 = __ptr[0x10] + (uint)CARRY4(((int *)pppuVar13)[0xe] - __ptr[4],__ptr[0xf]);\n    __ptr[0xf] = uVar9;\n    __ptr[0x10] = uVar18;\n    iVar5 = ((int *)pppuVar13)[0x11];\n    uVar7 = __ptr[5];\n    ((int *)pppuVar13)[9] = uVar7;\n    uVar7 = iVar5 - uVar7;\n    ((int *)pppuVar13)[10] = uVar7;\n    uVar10 = uVar7 + __ptr[0x11];\n    uVar7 = __ptr[0x12] + (uint)CARRY4(uVar7,__ptr[0x11]);\n    __ptr[0x11] = uVar10;\n    __ptr[0x12] = uVar7;\n    if ((uVar18 <= __ptr[0xb] && (uint)(__ptr[10] < uVar9) <= __ptr[0xb] - uVar18) &&\n       (uVar7 <= __ptr[0xd] && (uint)(__ptr[0xc] < uVar10) <= __ptr[0xd] - uVar7)) {\n      if (__ptr[7] == 1) {\n        ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n        ((int *)pppuVar13)[-5] = 0x7e2b9;\n        uVar7 = FUN_000a62f1();\n        __ptr[6] = ~uVar7;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n      }\n      if (((int *)pppuVar13)[7] == 1) {\n        piVar15 = (int *)pppuVar13;\n        if (((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||\n           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])) {\n          uVar7 = __ptr[0x11];\n          if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }\n        }\n        goto LAB_0007defc;\n      }\n      iVar8 = ((int *)pppuVar13)[7];\n      goto LAB_0007dfbc;\n    }\n    iVar8 = 7;\n    goto LAB_0007df05;\n  case 0x7e360:\nswitchD_0007dbdb_caseD_7e360:\n    uVar10 = __ptr[0xf];\n    uVar9 = __ptr[0x10];\n    if ((uVar10 & 3) != 0) {\n      uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n      uVar7 = *(uint *)((int)pppuVar13 + 0x3c);\n      if (uVar18 == uVar7) goto LAB_0007dd85;\n      iVar8 = *(int *)((int)pppuVar13 + 0x34);\n      *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n      piVar15 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      uVar9 = uVar9 + (0xfffffffe < uVar10);\n      while( true ) {\n        uVar10 = uVar10 + 1;\n        __ptr[0xf] = uVar10;\n        __ptr[0x10] = uVar9;\n        if ((uVar10 & 3) == 0) break;\n        uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n        uVar9 = uVar9 + (0xfffffffe < uVar10);\n        if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      }\n    }\n    *__ptr = 5;\n    piVar14 = (int *)pppuVar13;\nswitchD_0007dbdb_caseD_7e3b0:\n    pppuVar13 = (undefined ***)piVar14;\n    if (__ptr[7] == 1) {\n      uVar10 = piVar14[0xf];\n      iVar8 = piVar14[0xd];\n      uVar7 = piVar14[0xe];\n      do {\n        if (uVar10 == uVar7) goto LAB_0007dd85;\n        uVar9 = __ptr[1];\n        uVar18 = __ptr[6];\n        uVar7 = uVar7 + 1;\n        piVar14[0xe] = uVar7;\n        if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))\n        goto LAB_0007dcff;\n        uVar9 = uVar9 + 8;\n        __ptr[1] = uVar9;\n      } while (uVar9 < 0x20);\n      __ptr[6] = 0;\n      __ptr[1] = 0;\n    }\n    else {\n      uVar10 = __ptr[1];\n      uVar9 = (uint)*(byte *)(*piVar14 + -0x154a8 + __ptr[7]);\n      if (uVar10 < uVar9) {\n        uVar18 = piVar14[0xe];\n        uVar7 = piVar14[0xf];\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        uVar11 = uVar18;\n        while( true ) {\n          uVar11 = uVar11 + 1;\n          if (uVar11 == (uVar18 - uVar10) + uVar9) break;\n          if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }\n        }\n        piVar14[0xe] = uVar11;\n      }\n      __ptr[1] = 0;\n    }\n    *__ptr = 1;\n    uVar7 = 1;\n    goto LAB_0007dbcf;\n  case 0x7e3b0:\n    goto switchD_0007dbdb_caseD_7e3b0;\n  }\nLAB_0007e4e9:\n  iVar5 = *(int *)((int)piVar15 + 0x44);\n  iVar8 = 6;\n  pppuVar13 = (undefined ***)piVar15;\n  goto LAB_0007df05;\nswitchD_0007dbdb_caseD_7dc1f:\n  piVar15 = (int *)pppuVar13;\n  do {\n    *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x3c);\n    *(undefined4 *)((int)piVar15 + -0x14) = 0x7dc3a;\n    iVar8 = FUN_0007d044();\n    piVar14 = (int *)((int)piVar15 + -4);\n    pppuVar13 = (undefined ***)((int)piVar15 + -4);\n    if (iVar8 != 1) {\n      *(undefined4 *)((int)piVar15 + -8) = 0x7dfbc;\n      FUN_0007d137();\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\nLAB_0007dfbc:\n      if (iVar8 == 0) goto LAB_0007dd81;\n      goto LAB_0007dd04;\n    }\n    uVar7 = __ptr[0x1a];\n    if (uVar7 == 1) {\n      puVar1 = __ptr + 0x1f;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x20] = __ptr[0x20] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      __ptr[0x1a] = 2;\nLAB_0007dc68:\n      uVar7 = __ptr[0x1d];\n      uVar10 = __ptr[0x1e];\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\n    }\n    else {\n      if (uVar7 == 0) {\n        uVar7 = __ptr[2];\n        uVar10 = __ptr[3];\n        __ptr[0x1d] = uVar7;\n        __ptr[0x1e] = uVar10;\n        if (__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7) {\n          __ptr[0x1a] = 1;\n          goto LAB_0007dc6e;\n        }\n        goto LAB_0007dcff;\n      }\n      if (uVar7 != 2) goto LAB_0007dc68;\n      puVar1 = __ptr + 0x21;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x22] = __ptr[0x22] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)(*(int *)((int)piVar15 + -4) + 0xcf8);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7df5c;\n      uVar7 = FUN_000a62f1();\n      __ptr[0x23] = ~uVar7;\n      uVar7 = __ptr[0x1d] - 1;\n      uVar10 = (__ptr[0x1e] - 1) + (uint)(__ptr[0x1d] != 0);\n      __ptr[0x1d] = uVar7;\n      __ptr[0x1e] = uVar10;\n      __ptr[0x1a] = 1;\n      pppuVar13 = (undefined ***)((int)piVar15 + -8);\n    }\nLAB_0007dc6e:\n    piVar15 = (int *)pppuVar13;\n  } while (uVar10 != 0 || uVar7 != 0);\n  *__ptr = 7;\nswitchD_0007dbdb_caseD_7dc7d:\n  uVar7 = __ptr[0x1b];\n  iVar8 = *(int *)((int)pppuVar13 + 0x38) + 1;\n  uVar10 = __ptr[4];\nLAB_0007dc95:\n  if ((~uVar10 + iVar8 + uVar7 & 3) == 0) {\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dcae;\n    uVar6 = FUN_0007d137();\n    *(undefined4 *)((int)pppuVar13 + -4) = uVar6;\n    *(undefined4 *)((int)pppuVar13 + -8) = 0x14;\n    *(uint **)((int)pppuVar13 + -0xc) = __ptr + 0x1f;\n    *(uint **)((int)pppuVar13 + -0x10) = __ptr + 0x15;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7dcc2;\n    iVar8 = memcmp(*(void **)((int)pppuVar13 + -0x10),*(void **)((int)pppuVar13 + -0xc),\n                   *(size_t *)((int)pppuVar13 + -8));\n    piVar15 = (int *)pppuVar13;\n    if (iVar8 != 0) goto LAB_0007ddc4;\n    *__ptr = 8;\nswitchD_0007dbdb_caseD_7dcd4:\n    uVar10 = *(uint *)((int)pppuVar13 + 0x3c);\n    iVar8 = *(int *)((int)pppuVar13 + 0x34);\n    uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n    while (uVar10 != uVar7) {\n      uVar9 = __ptr[1];\n      uVar18 = __ptr[6];\n      uVar7 = uVar7 + 1;\n      *(uint *)((int)pppuVar13 + 0x38) = uVar7;\n      piVar14 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f))) {\nLAB_0007dcff:\n        iVar8 = 7;\n        pppuVar13 = (undefined ***)piVar14;\nLAB_0007dd04:\n        *(undefined1 *)(__ptr + 9) = 0;\n        iVar5 = *(int *)((int)pppuVar13 + 0x44);\n        goto joined_r0x0007dd0e;\n      }\n      uVar9 = uVar9 + 8;\n      __ptr[1] = uVar9;\n      if (0x1f < uVar9) {\n        __ptr[6] = 0;\n        __ptr[1] = 0;\n        __ptr[0x25] = 0xc;\n        *__ptr = 9;\nswitchD_0007dbdb_caseD_7dd72:\n        piVar14[-1] = 0x7dd7d;\n        cVar3 = FUN_0007d93a();\n        pppuVar13 = (undefined ***)piVar14;\n        if (cVar3 == '\0') {\nLAB_0007dd81:\n          uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n          break;\n        }\n        piVar15 = piVar14;\n        if (*(short *)((int)__ptr + 0xa2) == 0x5a59) {\n          piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n          piVar14[-5] = 0x7de00;\n          uVar7 = FUN_000a62f1();\n          piVar12 = piVar14 + -1;\n          pppuVar13 = (undefined ***)(piVar14 + -1);\n          piVar15 = piVar14 + -1;\n          if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;\n          iVar8 = piVar14[0x10];\n          if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }\n          *(undefined1 *)(__ptr + 9) = 0;\n          if (iVar8 != 0) {\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }\n          goto LAB_0007de8b;\n        }\nLAB_0007ddc4:\n        pppuVar13 = (undefined ***)piVar15;\n        *(undefined1 *)(__ptr + 9) = 0;\n        if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n        iVar8 = 7;\n        goto LAB_0007de61;\n      }\n    }\n  }\n  else {\n    if (*(int *)((int)pppuVar13 + 0x3c) + 1 != iVar8) goto LAB_0007deec;\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dee3;\n    FUN_0007d137();\n    uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n  }\nLAB_0007dd85:\n  iVar8 = *(int *)((int)pppuVar13 + 0x44);\n  if ((*(uint *)((int)pppuVar13 + 4) == uVar7) && (*(int *)((int)pppuVar13 + 0x20) == iVar8)) {\n    if ((char)__ptr[9] == '\0') {\n      *(undefined1 *)(__ptr + 9) = 1;\n      if (iVar8 == 0) goto LAB_0007de94;\n      iVar8 = 0;\n      goto LAB_0007de61;\n    }\n    if (iVar8 != 0) {\n      iVar8 = 8;\n      goto LAB_0007de61;\n    }\n    goto LAB_0007dd1d;\n  }\n  *(undefined1 *)(__ptr + 9) = 0;\n  if (iVar8 != 0) {\n    iVar8 = 0;\n    goto LAB_0007de61;\n  }\n  iVar8 = 0;\n  goto LAB_0007de94;\nLAB_0007deec:\n  *(int *)((int)pppuVar13 + 0x38) = iVar8;\n  iVar8 = iVar8 + 1;\n  piVar15 = (int *)pppuVar13;\n  if (*(char *)(*(int *)((int)pppuVar13 + 0x34) + -2 + iVar8) != '\0') goto LAB_0007defc;\n  goto LAB_0007dc95;\nLAB_0007defc:\n  iVar5 = *(int *)((int)piVar15 + 0x44);\n  iVar8 = 7;\n  pppuVar13 = (undefined ***)piVar15;\nLAB_0007df05:\n  *(undefined1 *)(__ptr + 9) = 0;\njoined_r0x0007dd0e:\n  if (iVar5 != 0) {\nLAB_0007de61:\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7de70;\n    FUN_000804d0();\n    puVar1 = (uint *)((int)pppuVar13 + 0x10);\n    uVar7 = *puVar1;\n    *puVar1 = *puVar1 + *(uint *)((int)pppuVar13 + 0x44);\n    *(int *)((int)pppuVar13 + 0x14) =\n         *(int *)((int)pppuVar13 + 0x14) + (uint)CARRY4(uVar7,*(uint *)((int)pppuVar13 + 0x44));\n    *(undefined4 *)((int)pppuVar13 + 0x44) = 0;\n    piVar12 = (int *)pppuVar13;\n    if (iVar8 == 1) {\nLAB_0007de8b:\n      uVar7 = *(uint *)((int)piVar12 + 0x38);\n      iVar8 = 1;\n      pppuVar13 = (undefined ***)piVar12;\n      goto LAB_0007de94;\n    }\n    if (iVar8 == 0) {\n      uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n      iVar8 = 0;\n      goto LAB_0007de94;\n    }\n  }\n  if (iVar8 != 2) {\nLAB_0007dd1d:\n    ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x6009;\n    ((int *)pppuVar13)[-5] = 0x7dd30;\n    FUN_000191bd();\n    ((int *)pppuVar13)[4] = -1;\n    ((int *)pppuVar13)[5] = -1;\nLAB_0007dafd:\n    uVar7 = __ptr[0x126];\n    *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar7 + 0x18);\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db14;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    *(uint *)((int)pppuVar13 + -0x10) = uVar7;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db1c;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    *(uint **)((int)pppuVar13 + -0x10) = __ptr;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db24;\n    free(*(void **)((int)pppuVar13 + -0x10));\nLAB_0007db27:\n    *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)((int)pppuVar13 + 0xc);\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db37;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    if (*(int *)((int)pppuVar13 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)) {\n      return *(undefined8 *)((int)pppuVar13 + 0x10);\n    }\n                    \n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dc1f;\n    FUN_00017e10();\n  }\n  uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n  iVar8 = 2;\nLAB_0007de94:\n  *(uint *)((int)pppuVar13 + 4) = uVar7;\n  goto LAB_0007daa8;\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "uint *__ptr;" type_identifier (pointer_declarator "*__ptr" * identifier) ;) (declaration "void *pvVar4;" primitive_type (pointer_declarator "*pvVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "int *piVar12;" primitive_type (pointer_declarator "*piVar12" * identifier) ;) (declaration "undefined ***pppuVar13;" type_identifier (pointer_declarator "***pppuVar13" * (pointer_declarator "**pppuVar13" * (pointer_declarator "*pppuVar13" * identifier))) ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "undefined4 **ppuVar17;" type_identifier (pointer_declarator "**ppuVar17" * (pointer_declarator "*ppuVar17" * identifier)) ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "byte bVar19;" type_identifier identifier ;) (declaration "undefined **local_6c;" type_identifier (pointer_declarator "**local_6c" * (pointer_declarator "*local_6c" * identifier)) ;) (declaration "undefined4 local_68;" type_identifier identifier ;) (declaration "undefined4 **local_64;" type_identifier (pointer_declarator "**local_64" * (pointer_declarator "*local_64" * identifier)) ;) (declaration "undefined4 *local_60;" type_identifier (pointer_declarator "*local_60" * identifier) ;) (declaration "undefined4 local_5c;" type_identifier identifier ;) (declaration "undefined4 local_58;" type_identifier identifier ;) (declaration "char *local_54;" primitive_type (pointer_declarator "*local_54" * identifier) ;) (declaration "undefined4 *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "undefined4 *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (declaration "undefined4 local_24;" type_identifier identifier ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (expression_statement "bVar19 = 0;" (assignment_expression "bVar19 = 0" identifier = number_literal) ;) (expression_statement "pppuVar13 = &local_6c;" (assignment_expression "pppuVar13 = &local_6c" identifier = (pointer_expression "&local_6c" & identifier)) ;) (expression_statement "local_6c = &__DT_PLTGOT;" (assignment_expression "local_6c = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(undefined4 *)(in_GS_OFFSET + 0x14)" * (cast_expression "(undefined4 *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (DAT_000d1718 == 0) {\n    FUN_000a62ce();\n  }" if (parenthesized_expression "(DAT_000d1718 == 0)" ( (binary_expression "DAT_000d1718 == 0" identifier == number_literal) )) (compound_statement "{\n    FUN_000a62ce();\n  }" { (expression_statement "FUN_000a62ce();" (call_expression "FUN_000a62ce()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_64 = &local_38;" (assignment_expression "local_64 = &local_38" identifier = (pointer_expression "&local_38" & identifier)) ;) (expression_statement "ppuVar17 = local_64;" (assignment_expression "ppuVar17 = local_64" identifier = identifier) ;) (for_statement "for (iVar8 = 6; iVar8 != 0; iVar8 = iVar8 + -1) {\n    *ppuVar17 = (undefined4 *)0x0;\n    ppuVar17 = ppuVar17 + (uint)bVar19 * -2 + 1;\n  }" for ( (assignment_expression "iVar8 = 6" identifier = number_literal) ; (binary_expression "iVar8 != 0" identifier != number_literal) ; (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ) (compound_statement "{\n    *ppuVar17 = (undefined4 *)0x0;\n    ppuVar17 = ppuVar17 + (uint)bVar19 * -2 + 1;\n  }" { (expression_statement "*ppuVar17 = (undefined4 *)0x0;" (assignment_expression "*ppuVar17 = (undefined4 *)0x0" (pointer_expression "*ppuVar17" * identifier) = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppuVar17 = ppuVar17 + (uint)bVar19 * -2 + 1;" (assignment_expression "ppuVar17 = ppuVar17 + (uint)bVar19 * -2 + 1" identifier = (binary_expression "ppuVar17 + (uint)bVar19 * -2 + 1" (binary_expression "ppuVar17 + (uint)bVar19 * -2" identifier + (binary_expression "(uint)bVar19 * -2" (cast_expression "(uint)bVar19" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "local_60 = (undefined4 *)FUN_00019b1c();" (assignment_expression "local_60 = (undefined4 *)FUN_00019b1c()" identifier = (cast_expression "(undefined4 *)FUN_00019b1c()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00019b1c()" identifier (argument_list "()" ( ))))) ;) (expression_statement "local_2c = local_60 + 0x800;" (assignment_expression "local_2c = local_60 + 0x800" identifier = (binary_expression "local_60 + 0x800" identifier + number_literal)) ;) (expression_statement "local_24 = 0x2000;" (assignment_expression "local_24 = 0x2000" identifier = number_literal) ;) (if_statement "if ((local_54 == (char *)0x0) || (*local_54 != '\0')) {\n    *local_60 = 0x587a37fd;\n    *(undefined2 *)(local_60 + 1) = 0x5a;\n    local_30 = 6;\n  }" if (parenthesized_expression "((local_54 == (char *)0x0) || (*local_54 != '\0'))" ( (binary_expression "(local_54 == (char *)0x0) || (*local_54 != '\0')" (parenthesized_expression "(local_54 == (char *)0x0)" ( (binary_expression "local_54 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*local_54 != '\0')" ( (binary_expression "*local_54 != '\0'" (pointer_expression "*local_54" * identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n    *local_60 = 0x587a37fd;\n    *(undefined2 *)(local_60 + 1) = 0x5a;\n    local_30 = 6;\n  }" { (expression_statement "*local_60 = 0x587a37fd;" (assignment_expression "*local_60 = 0x587a37fd" (pointer_expression "*local_60" * identifier) = number_literal) ;) (expression_statement "*(undefined2 *)(local_60 + 1) = 0x5a;" (assignment_expression "*(undefined2 *)(local_60 + 1) = 0x5a" (pointer_expression "*(undefined2 *)(local_60 + 1)" * (cast_expression "(undefined2 *)(local_60 + 1)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_60 + 1)" ( (binary_expression "local_60 + 1" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_30 = 6;" (assignment_expression "local_30 = 6" identifier = number_literal) ;) })) (expression_statement "local_38 = local_60;" (assignment_expression "local_38 = local_60" identifier = identifier) ;) (expression_statement "__ptr = (uint *)malloc(0x49c);" (assignment_expression "__ptr = (uint *)malloc(0x49c)" identifier = (cast_expression "(uint *)malloc(0x49c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "malloc(0x49c)" identifier (argument_list "(0x49c)" ( number_literal ))))) ;) (if_statement "if (__ptr != (uint *)0x0) {\n    __ptr[8] = 2;\n    pvVar4 = malloc(0x6f28);\n    if (pvVar4 == (void *)0x0) {\n      free(__ptr);\n      __ptr = (uint *)0x0;\n    }\n    else {\n      *(undefined4 *)((int)pvVar4 + 0x3c) = 2;\n      *(undefined4 *)((int)pvVar4 + 0x34) = 0x4000000;\n      *(undefined4 *)((int)pvVar4 + 0x18) = 0;\n      *(undefined4 *)((int)pvVar4 + 0x38) = 0;\n      __ptr[0x126] = (uint)pvVar4;\n      FUN_0007d0ea();\n    }\n  }" if (parenthesized_expression "(__ptr != (uint *)0x0)" ( (binary_expression "__ptr != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    __ptr[8] = 2;\n    pvVar4 = malloc(0x6f28);\n    if (pvVar4 == (void *)0x0) {\n      free(__ptr);\n      __ptr = (uint *)0x0;\n    }\n    else {\n      *(undefined4 *)((int)pvVar4 + 0x3c) = 2;\n      *(undefined4 *)((int)pvVar4 + 0x34) = 0x4000000;\n      *(undefined4 *)((int)pvVar4 + 0x18) = 0;\n      *(undefined4 *)((int)pvVar4 + 0x38) = 0;\n      __ptr[0x126] = (uint)pvVar4;\n      FUN_0007d0ea();\n    }\n  }" { (expression_statement "__ptr[8] = 2;" (assignment_expression "__ptr[8] = 2" (subscript_expression "__ptr[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pvVar4 = malloc(0x6f28);" (assignment_expression "pvVar4 = malloc(0x6f28)" identifier = (call_expression "malloc(0x6f28)" identifier (argument_list "(0x6f28)" ( number_literal )))) ;) (if_statement "if (pvVar4 == (void *)0x0) {\n      free(__ptr);\n      __ptr = (uint *)0x0;\n    }\n    else {\n      *(undefined4 *)((int)pvVar4 + 0x3c) = 2;\n      *(undefined4 *)((int)pvVar4 + 0x34) = 0x4000000;\n      *(undefined4 *)((int)pvVar4 + 0x18) = 0;\n      *(undefined4 *)((int)pvVar4 + 0x38) = 0;\n      __ptr[0x126] = (uint)pvVar4;\n      FUN_0007d0ea();\n    }" if (parenthesized_expression "(pvVar4 == (void *)0x0)" ( (binary_expression "pvVar4 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      free(__ptr);\n      __ptr = (uint *)0x0;\n    }" { (expression_statement "free(__ptr);" (call_expression "free(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))) ;) (expression_statement "__ptr = (uint *)0x0;" (assignment_expression "__ptr = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      *(undefined4 *)((int)pvVar4 + 0x3c) = 2;\n      *(undefined4 *)((int)pvVar4 + 0x34) = 0x4000000;\n      *(undefined4 *)((int)pvVar4 + 0x18) = 0;\n      *(undefined4 *)((int)pvVar4 + 0x38) = 0;\n      __ptr[0x126] = (uint)pvVar4;\n      FUN_0007d0ea();\n    }" else (compound_statement "{\n      *(undefined4 *)((int)pvVar4 + 0x3c) = 2;\n      *(undefined4 *)((int)pvVar4 + 0x34) = 0x4000000;\n      *(undefined4 *)((int)pvVar4 + 0x18) = 0;\n      *(undefined4 *)((int)pvVar4 + 0x38) = 0;\n      __ptr[0x126] = (uint)pvVar4;\n      FUN_0007d0ea();\n    }" { (expression_statement "*(undefined4 *)((int)pvVar4 + 0x3c) = 2;" (assignment_expression "*(undefined4 *)((int)pvVar4 + 0x3c) = 2" (pointer_expression "*(undefined4 *)((int)pvVar4 + 0x3c)" * (cast_expression "(undefined4 *)((int)pvVar4 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar4 + 0x3c)" ( (binary_expression "(int)pvVar4 + 0x3c" (cast_expression "(int)pvVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)pvVar4 + 0x34) = 0x4000000;" (assignment_expression "*(undefined4 *)((int)pvVar4 + 0x34) = 0x4000000" (pointer_expression "*(undefined4 *)((int)pvVar4 + 0x34)" * (cast_expression "(undefined4 *)((int)pvVar4 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar4 + 0x34)" ( (binary_expression "(int)pvVar4 + 0x34" (cast_expression "(int)pvVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)pvVar4 + 0x18) = 0;" (assignment_expression "*(undefined4 *)((int)pvVar4 + 0x18) = 0" (pointer_expression "*(undefined4 *)((int)pvVar4 + 0x18)" * (cast_expression "(undefined4 *)((int)pvVar4 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar4 + 0x18)" ( (binary_expression "(int)pvVar4 + 0x18" (cast_expression "(int)pvVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)pvVar4 + 0x38) = 0;" (assignment_expression "*(undefined4 *)((int)pvVar4 + 0x38) = 0" (pointer_expression "*(undefined4 *)((int)pvVar4 + 0x38)" * (cast_expression "(undefined4 *)((int)pvVar4 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar4 + 0x38)" ( (binary_expression "(int)pvVar4 + 0x38" (cast_expression "(int)pvVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "__ptr[0x126] = (uint)pvVar4;" (assignment_expression "__ptr[0x126] = (uint)pvVar4" (subscript_expression "__ptr[0x126]" identifier [ number_literal ]) = (cast_expression "(uint)pvVar4" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "FUN_0007d0ea();" (call_expression "FUN_0007d0ea()" identifier (argument_list "()" ( ))) ;) }))) })) (expression_statement "local_68 = local_34;" (assignment_expression "local_68 = local_34" identifier = identifier) ;) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" identifier = number_literal) ;) (labeled_statement "LAB_0007daa8:\n  if (((int *)pppuVar13)[0xf] == ((int *)pppuVar13)[1]) {\n    ((int *)pppuVar13)[-1] = 0x7dacb;\n    iVar5 = FUN_0001ac64();\n    if (iVar5 < 0) {\n      ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x4f84;\n      ((int *)pppuVar13)[-5] = 0x7dae6;\n      FUN_000191bd();\n      ((int *)pppuVar13)[4] = -1;\n      ((int *)pppuVar13)[5] = -1;\n      if (__ptr != (uint *)0x0) goto LAB_0007dafd;\n      goto LAB_0007db27;\n    }\n    if ((iVar5 == 0) && (iVar8 == 1)) {\n      if (__ptr == (uint *)0x0) goto LAB_0007db27;\n      goto LAB_0007dafd;\n    }\n    ((int *)pppuVar13)[0xf] = iVar5;\n    ((int *)pppuVar13)[0xe] = 0;\n    ((int *)pppuVar13)[1] = 0;\n  }" statement_identifier : (if_statement "if (((int *)pppuVar13)[0xf] == ((int *)pppuVar13)[1]) {\n    ((int *)pppuVar13)[-1] = 0x7dacb;\n    iVar5 = FUN_0001ac64();\n    if (iVar5 < 0) {\n      ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x4f84;\n      ((int *)pppuVar13)[-5] = 0x7dae6;\n      FUN_000191bd();\n      ((int *)pppuVar13)[4] = -1;\n      ((int *)pppuVar13)[5] = -1;\n      if (__ptr != (uint *)0x0) goto LAB_0007dafd;\n      goto LAB_0007db27;\n    }\n    if ((iVar5 == 0) && (iVar8 == 1)) {\n      if (__ptr == (uint *)0x0) goto LAB_0007db27;\n      goto LAB_0007dafd;\n    }\n    ((int *)pppuVar13)[0xf] = iVar5;\n    ((int *)pppuVar13)[0xe] = 0;\n    ((int *)pppuVar13)[1] = 0;\n  }" if (parenthesized_expression "(((int *)pppuVar13)[0xf] == ((int *)pppuVar13)[1])" ( (binary_expression "((int *)pppuVar13)[0xf] == ((int *)pppuVar13)[1]" (subscript_expression "((int *)pppuVar13)[0xf]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) == (subscript_expression "((int *)pppuVar13)[1]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) )) (compound_statement "{\n    ((int *)pppuVar13)[-1] = 0x7dacb;\n    iVar5 = FUN_0001ac64();\n    if (iVar5 < 0) {\n      ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x4f84;\n      ((int *)pppuVar13)[-5] = 0x7dae6;\n      FUN_000191bd();\n      ((int *)pppuVar13)[4] = -1;\n      ((int *)pppuVar13)[5] = -1;\n      if (__ptr != (uint *)0x0) goto LAB_0007dafd;\n      goto LAB_0007db27;\n    }\n    if ((iVar5 == 0) && (iVar8 == 1)) {\n      if (__ptr == (uint *)0x0) goto LAB_0007db27;\n      goto LAB_0007dafd;\n    }\n    ((int *)pppuVar13)[0xf] = iVar5;\n    ((int *)pppuVar13)[0xe] = 0;\n    ((int *)pppuVar13)[1] = 0;\n  }" { (expression_statement "((int *)pppuVar13)[-1] = 0x7dacb;" (assignment_expression "((int *)pppuVar13)[-1] = 0x7dacb" (subscript_expression "((int *)pppuVar13)[-1]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "iVar5 = FUN_0001ac64();" (assignment_expression "iVar5 = FUN_0001ac64()" identifier = (call_expression "FUN_0001ac64()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar5 < 0) {\n      ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x4f84;\n      ((int *)pppuVar13)[-5] = 0x7dae6;\n      FUN_000191bd();\n      ((int *)pppuVar13)[4] = -1;\n      ((int *)pppuVar13)[5] = -1;\n      if (__ptr != (uint *)0x0) goto LAB_0007dafd;\n      goto LAB_0007db27;\n    }" if (parenthesized_expression "(iVar5 < 0)" ( (binary_expression "iVar5 < 0" identifier < number_literal) )) (compound_statement "{\n      ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x4f84;\n      ((int *)pppuVar13)[-5] = 0x7dae6;\n      FUN_000191bd();\n      ((int *)pppuVar13)[4] = -1;\n      ((int *)pppuVar13)[5] = -1;\n      if (__ptr != (uint *)0x0) goto LAB_0007dafd;\n      goto LAB_0007db27;\n    }" { (expression_statement "((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x4f84;" (assignment_expression "((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x4f84" (subscript_expression "((int *)pppuVar13)[-4]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (binary_expression "(int)*pppuVar13 + -0x4f84" (cast_expression "(int)*pppuVar13" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppuVar13" * identifier)) + number_literal)) ;) (expression_statement "((int *)pppuVar13)[-5] = 0x7dae6;" (assignment_expression "((int *)pppuVar13)[-5] = 0x7dae6" (subscript_expression "((int *)pppuVar13)[-5]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "FUN_000191bd();" (call_expression "FUN_000191bd()" identifier (argument_list "()" ( ))) ;) (expression_statement "((int *)pppuVar13)[4] = -1;" (assignment_expression "((int *)pppuVar13)[4] = -1" (subscript_expression "((int *)pppuVar13)[4]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "((int *)pppuVar13)[5] = -1;" (assignment_expression "((int *)pppuVar13)[5] = -1" (subscript_expression "((int *)pppuVar13)[5]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (if_statement "if (__ptr != (uint *)0x0) goto LAB_0007dafd;" if (parenthesized_expression "(__ptr != (uint *)0x0)" ( (binary_expression "__ptr != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0007dafd;" goto statement_identifier ;)) (goto_statement "goto LAB_0007db27;" goto statement_identifier ;) })) (if_statement "if ((iVar5 == 0) && (iVar8 == 1)) {\n      if (__ptr == (uint *)0x0) goto LAB_0007db27;\n      goto LAB_0007dafd;\n    }" if (parenthesized_expression "((iVar5 == 0) && (iVar8 == 1))" ( (binary_expression "(iVar5 == 0) && (iVar8 == 1)" (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar8 == 1)" ( (binary_expression "iVar8 == 1" identifier == number_literal) ))) )) (compound_statement "{\n      if (__ptr == (uint *)0x0) goto LAB_0007db27;\n      goto LAB_0007dafd;\n    }" { (if_statement "if (__ptr == (uint *)0x0) goto LAB_0007db27;" if (parenthesized_expression "(__ptr == (uint *)0x0)" ( (binary_expression "__ptr == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0007db27;" goto statement_identifier ;)) (goto_statement "goto LAB_0007dafd;" goto statement_identifier ;) })) (expression_statement "((int *)pppuVar13)[0xf] = iVar5;" (assignment_expression "((int *)pppuVar13)[0xf] = iVar5" (subscript_expression "((int *)pppuVar13)[0xf]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = identifier) ;) (expression_statement "((int *)pppuVar13)[0xe] = 0;" (assignment_expression "((int *)pppuVar13)[0xe] = 0" (subscript_expression "((int *)pppuVar13)[0xe]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "((int *)pppuVar13)[1] = 0;" (assignment_expression "((int *)pppuVar13)[1] = 0" (subscript_expression "((int *)pppuVar13)[1]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) }))) (if_statement "if (iVar8 == 1) {\n    bVar2 = false;\n    do {\n      if (*(char *)(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1]) != '\0') {\n        if (bVar2) {\n          ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n        }\n        ((int *)pppuVar13)[-1] = 0x7dba9;\n        FUN_0007d0ea();\n        ((int *)pppuVar13)[1] = ((int *)pppuVar13)[0xe];\n        goto LAB_0007dbb1;\n      }\n      ((int *)pppuVar13)[1] = ((int *)pppuVar13)[1] + 1;\n      bVar2 = true;\n    } while ((uint)((int *)pppuVar13)[1] < (uint)((int *)pppuVar13)[0xf]);\n    ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n  }" if (parenthesized_expression "(iVar8 == 1)" ( (binary_expression "iVar8 == 1" identifier == number_literal) )) (compound_statement "{\n    bVar2 = false;\n    do {\n      if (*(char *)(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1]) != '\0') {\n        if (bVar2) {\n          ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n        }\n        ((int *)pppuVar13)[-1] = 0x7dba9;\n        FUN_0007d0ea();\n        ((int *)pppuVar13)[1] = ((int *)pppuVar13)[0xe];\n        goto LAB_0007dbb1;\n      }\n      ((int *)pppuVar13)[1] = ((int *)pppuVar13)[1] + 1;\n      bVar2 = true;\n    } while ((uint)((int *)pppuVar13)[1] < (uint)((int *)pppuVar13)[0xf]);\n    ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n  }" { (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (do_statement "do {\n      if (*(char *)(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1]) != '\0') {\n        if (bVar2) {\n          ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n        }\n        ((int *)pppuVar13)[-1] = 0x7dba9;\n        FUN_0007d0ea();\n        ((int *)pppuVar13)[1] = ((int *)pppuVar13)[0xe];\n        goto LAB_0007dbb1;\n      }\n      ((int *)pppuVar13)[1] = ((int *)pppuVar13)[1] + 1;\n      bVar2 = true;\n    } while ((uint)((int *)pppuVar13)[1] < (uint)((int *)pppuVar13)[0xf]);" do (compound_statement "{\n      if (*(char *)(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1]) != '\0') {\n        if (bVar2) {\n          ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n        }\n        ((int *)pppuVar13)[-1] = 0x7dba9;\n        FUN_0007d0ea();\n        ((int *)pppuVar13)[1] = ((int *)pppuVar13)[0xe];\n        goto LAB_0007dbb1;\n      }\n      ((int *)pppuVar13)[1] = ((int *)pppuVar13)[1] + 1;\n      bVar2 = true;\n    }" { (if_statement "if (*(char *)(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1]) != '\0') {\n        if (bVar2) {\n          ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n        }\n        ((int *)pppuVar13)[-1] = 0x7dba9;\n        FUN_0007d0ea();\n        ((int *)pppuVar13)[1] = ((int *)pppuVar13)[0xe];\n        goto LAB_0007dbb1;\n      }" if (parenthesized_expression "(*(char *)(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1]) != '\0')" ( (binary_expression "*(char *)(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1]) != '\0'" (pointer_expression "*(char *)(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1])" * (cast_expression "(char *)(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1])" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1])" ( (binary_expression "((int *)pppuVar13)[3] + ((int *)pppuVar13)[1]" (subscript_expression "((int *)pppuVar13)[3]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) + (subscript_expression "((int *)pppuVar13)[1]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        if (bVar2) {\n          ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n        }\n        ((int *)pppuVar13)[-1] = 0x7dba9;\n        FUN_0007d0ea();\n        ((int *)pppuVar13)[1] = ((int *)pppuVar13)[0xe];\n        goto LAB_0007dbb1;\n      }" { (if_statement "if (bVar2) {\n          ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n        }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n          ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n        }" { (expression_statement "((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];" (assignment_expression "((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1]" (subscript_expression "((int *)pppuVar13)[0xe]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (subscript_expression "((int *)pppuVar13)[1]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ;) })) (expression_statement "((int *)pppuVar13)[-1] = 0x7dba9;" (assignment_expression "((int *)pppuVar13)[-1] = 0x7dba9" (subscript_expression "((int *)pppuVar13)[-1]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "FUN_0007d0ea();" (call_expression "FUN_0007d0ea()" identifier (argument_list "()" ( ))) ;) (expression_statement "((int *)pppuVar13)[1] = ((int *)pppuVar13)[0xe];" (assignment_expression "((int *)pppuVar13)[1] = ((int *)pppuVar13)[0xe]" (subscript_expression "((int *)pppuVar13)[1]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (subscript_expression "((int *)pppuVar13)[0xe]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ;) (goto_statement "goto LAB_0007dbb1;" goto statement_identifier ;) })) (expression_statement "((int *)pppuVar13)[1] = ((int *)pppuVar13)[1] + 1;" (assignment_expression "((int *)pppuVar13)[1] = ((int *)pppuVar13)[1] + 1" (subscript_expression "((int *)pppuVar13)[1]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (binary_expression "((int *)pppuVar13)[1] + 1" (subscript_expression "((int *)pppuVar13)[1]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) + number_literal)) ;) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) }) while (parenthesized_expression "((uint)((int *)pppuVar13)[1] < (uint)((int *)pppuVar13)[0xf])" ( (binary_expression "(uint)((int *)pppuVar13)[1] < (uint)((int *)pppuVar13)[0xf]" (subscript_expression "(uint)((int *)pppuVar13)[1]" (call_expression "(uint)((int *)pppuVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) [ number_literal ]) < (subscript_expression "(uint)((int *)pppuVar13)[0xf]" (call_expression "(uint)((int *)pppuVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) [ number_literal ])) )) ;) (expression_statement "((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];" (assignment_expression "((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1]" (subscript_expression "((int *)pppuVar13)[0xe]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (subscript_expression "((int *)pppuVar13)[1]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ;) })) (labeled_statement "LAB_0007dbb1:\n  ((int *)pppuVar13)[8] = ((int *)pppuVar13)[0x11];" statement_identifier : (expression_statement "((int *)pppuVar13)[8] = ((int *)pppuVar13)[0x11];" (assignment_expression "((int *)pppuVar13)[8] = ((int *)pppuVar13)[0x11]" (subscript_expression "((int *)pppuVar13)[8]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (subscript_expression "((int *)pppuVar13)[0x11]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ;)) (expression_statement "__ptr[4] = ((int *)pppuVar13)[1];" (assignment_expression "__ptr[4] = ((int *)pppuVar13)[1]" (subscript_expression "__ptr[4]" identifier [ number_literal ]) = (subscript_expression "((int *)pppuVar13)[1]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ;) (expression_statement "uVar7 = *__ptr;" (assignment_expression "uVar7 = *__ptr" identifier = (pointer_expression "*__ptr" * identifier)) ;) (expression_statement "((int *)pppuVar13)[0xb] = (int)(__ptr + 0x15);" (assignment_expression "((int *)pppuVar13)[0xb] = (int)(__ptr + 0x15)" (subscript_expression "((int *)pppuVar13)[0xb]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)(__ptr + 0x15)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(__ptr + 0x15)" ( (binary_expression "__ptr + 0x15" identifier + number_literal) )))) ;) (do_statement "do {\n  } while (9 < uVar7);" do (compound_statement "{\n  }" { }) while (parenthesized_expression "(9 < uVar7)" ( (binary_expression "9 < uVar7" number_literal < identifier) )) ;) (labeled_statement "LAB_0007dbcf:\n  piVar14 = (int *)pppuVar13;" statement_identifier : (expression_statement "piVar14 = (int *)pppuVar13;" (assignment_expression "piVar14 = (int *)pppuVar13" identifier = (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (switch_statement "switch(*(int *)((int)*pppuVar13 + -0x154d0 + uVar7 * 4) + (int)*pppuVar13) {\n  case 0x7dc1f:\n    goto switchD_0007dbdb_caseD_7dc1f;\n  case 0x7dc7d:\n    goto switchD_0007dbdb_caseD_7dc7d;\n  case 0x7dcd4:\n    goto switchD_0007dbdb_caseD_7dcd4;\n  case 0x7dd72:\n    goto switchD_0007dbdb_caseD_7dd72;\n  case 0x7dfc9:\n    ((int *)pppuVar13)[-1] = 0x7dfd4;\n    cVar3 = FUN_0007d93a();\n    if (cVar3 == '\0') goto LAB_0007dd81;\n    *__ptr = 1;\n    if ((__ptr[0x26] != 0x587a37fd) || ((short)__ptr[0x27] != 0x5a)) {\n      iVar5 = ((int *)pppuVar13)[0x11];\n      iVar8 = 5;\n      goto LAB_0007df05;\n    }\n    ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n    ((int *)pppuVar13)[-5] = 0x7e023;\n    uVar7 = FUN_000a62f1();\n    piVar14 = (int *)pppuVar13 + -1;\n    piVar15 = (int *)pppuVar13 + -1;\n    if (~uVar7 != __ptr[0x28]) goto LAB_0007defc;\n    piVar15 = (int *)pppuVar13 + -1;\n    if (*(char *)((int)__ptr + 0x9e) == '\0') {\n      uVar7 = (uint)*(byte *)((int)__ptr + 0x9f);\n      __ptr[7] = uVar7;\n      piVar15 = (int *)pppuVar13 + -1;\n      if (uVar7 < 0x10) {\n        if (uVar7 < 2) goto switchD_0007dbdb_caseD_7e05d;\n        iVar5 = ((int *)pppuVar13)[0x10];\n        iVar8 = 2;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n        goto LAB_0007df05;\n      }\n    }\n    break;\n  case 0x7e05d:\nswitchD_0007dbdb_caseD_7e05d:\n    uVar10 = *(uint *)((int)piVar14 + 0x38);\n    uVar7 = *(uint *)((int)piVar14 + 0x3c);\n    pppuVar13 = (undefined ***)piVar14;\n    if (uVar10 == uVar7) goto LAB_0007dd85;\n    if (*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) != 0) {\n      uVar7 = (uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) * 4 + 4;\n      __ptr[0xe] = uVar7;\n      __ptr[0x25] = uVar7;\n      __ptr[0x24] = 0;\n      *__ptr = 2;\n      goto switchD_0007dbdb_caseD_7e09e;\n    }\n    *(uint *)((int)piVar14 + 0x38) = uVar10 + 1;\n    __ptr[4] = uVar10;\n    *__ptr = 6;\n    uVar7 = 6;\n    goto LAB_0007dbcf;\n  case 0x7e09e:\nswitchD_0007dbdb_caseD_7e09e:\n    piVar14[-1] = 0x7e0a9;\n    cVar3 = FUN_0007d93a();\n    pppuVar13 = (undefined ***)piVar14;\n    if (cVar3 == '\0') goto LAB_0007dd81;\n    __ptr[0x25] = __ptr[0x25] - 4;\n    piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n    piVar14[-5] = 0x7e0df;\n    uVar10 = FUN_000a62f1();\n    uVar7 = __ptr[0x25];\n    pppuVar13 = (undefined ***)(piVar14 + -1);\n    piVar16 = piVar14 + -1;\n    piVar15 = piVar14 + -1;\n    if (~uVar10 != *(uint *)((int)__ptr + uVar7 + 0x98)) goto LAB_0007defc;\n    __ptr[0x24] = 2;\n    bVar19 = *(byte *)((int)__ptr + 0x99);\n    piVar15 = piVar14 + -1;\n    if ((bVar19 & 0x3f) == 0) {\n      if ((bVar19 & 0x40) == 0) {\n        __ptr[10] = 0xffffffff;\n        __ptr[0xb] = 0xffffffff;\n        if (-1 < (char)bVar19) goto LAB_0007e129;\nLAB_0007e572:\n        *(uint *)((int)piVar16 + -0x10) = uVar7;\n        *(undefined4 *)((int)piVar16 + -0x14) = 0x7e585;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)((int)piVar16 + -4);\n        piVar15 = (int *)((int)piVar16 + -4);\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[0xc] = __ptr[2];\n        __ptr[0xd] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      else {\n        piVar14[-5] = uVar7;\n        piVar14[-6] = 0x7e5cc;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)(piVar14 + -2);\n        piVar16 = piVar14 + -2;\n        piVar15 = piVar14 + -2;\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[10] = __ptr[2];\n        __ptr[0xb] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        if (*(char *)((int)__ptr + 0x99) < '\0') goto LAB_0007e572;\nLAB_0007e129:\n        __ptr[0xc] = 0xffffffff;\n        __ptr[0xd] = 0xffffffff;\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      piVar15 = (int *)pppuVar13;\n      if (uVar9 < 2) goto LAB_0007defc;\n      __ptr[0x24] = uVar10 + 1;\n      if (*(char *)((int)__ptr + uVar10 + 0x98) == '!') {\n        __ptr[0x24] = uVar10 + 2;\n        if (*(char *)((int)__ptr + uVar10 + 0x99) == '\x01') {\n          if (uVar10 + 2 == uVar7) goto LAB_0007defc;\n          uVar9 = uVar10 + 3;\n          __ptr[0x24] = uVar9;\n          bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);\n          if (bVar19 < 0x28) {\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }\n        }\n      }\n    }\n    break;\n  case 0x7e21b:\nswitchD_0007dbdb_caseD_7e21b:\n    __ptr[4] = ((int *)pppuVar13)[0xe];\n    __ptr[5] = ((int *)pppuVar13)[0x11];\n    ((int *)pppuVar13)[-1] = 0x7e238;\n    iVar8 = FUN_0007d17c();\n    ((int *)pppuVar13)[7] = iVar8;\n    uVar9 = (((int *)pppuVar13)[0xe] - __ptr[4]) + __ptr[0xf];\n    uVar18 = __ptr[0x10] + (uint)CARRY4(((int *)pppuVar13)[0xe] - __ptr[4],__ptr[0xf]);\n    __ptr[0xf] = uVar9;\n    __ptr[0x10] = uVar18;\n    iVar5 = ((int *)pppuVar13)[0x11];\n    uVar7 = __ptr[5];\n    ((int *)pppuVar13)[9] = uVar7;\n    uVar7 = iVar5 - uVar7;\n    ((int *)pppuVar13)[10] = uVar7;\n    uVar10 = uVar7 + __ptr[0x11];\n    uVar7 = __ptr[0x12] + (uint)CARRY4(uVar7,__ptr[0x11]);\n    __ptr[0x11] = uVar10;\n    __ptr[0x12] = uVar7;\n    if ((uVar18 <= __ptr[0xb] && (uint)(__ptr[10] < uVar9) <= __ptr[0xb] - uVar18) &&\n       (uVar7 <= __ptr[0xd] && (uint)(__ptr[0xc] < uVar10) <= __ptr[0xd] - uVar7)) {\n      if (__ptr[7] == 1) {\n        ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n        ((int *)pppuVar13)[-5] = 0x7e2b9;\n        uVar7 = FUN_000a62f1();\n        __ptr[6] = ~uVar7;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n      }\n      if (((int *)pppuVar13)[7] == 1) {\n        piVar15 = (int *)pppuVar13;\n        if (((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||\n           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])) {\n          uVar7 = __ptr[0x11];\n          if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }\n        }\n        goto LAB_0007defc;\n      }\n      iVar8 = ((int *)pppuVar13)[7];\n      goto LAB_0007dfbc;\n    }\n    iVar8 = 7;\n    goto LAB_0007df05;\n  case 0x7e360:\nswitchD_0007dbdb_caseD_7e360:\n    uVar10 = __ptr[0xf];\n    uVar9 = __ptr[0x10];\n    if ((uVar10 & 3) != 0) {\n      uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n      uVar7 = *(uint *)((int)pppuVar13 + 0x3c);\n      if (uVar18 == uVar7) goto LAB_0007dd85;\n      iVar8 = *(int *)((int)pppuVar13 + 0x34);\n      *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n      piVar15 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      uVar9 = uVar9 + (0xfffffffe < uVar10);\n      while( true ) {\n        uVar10 = uVar10 + 1;\n        __ptr[0xf] = uVar10;\n        __ptr[0x10] = uVar9;\n        if ((uVar10 & 3) == 0) break;\n        uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n        uVar9 = uVar9 + (0xfffffffe < uVar10);\n        if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      }\n    }\n    *__ptr = 5;\n    piVar14 = (int *)pppuVar13;\nswitchD_0007dbdb_caseD_7e3b0:\n    pppuVar13 = (undefined ***)piVar14;\n    if (__ptr[7] == 1) {\n      uVar10 = piVar14[0xf];\n      iVar8 = piVar14[0xd];\n      uVar7 = piVar14[0xe];\n      do {\n        if (uVar10 == uVar7) goto LAB_0007dd85;\n        uVar9 = __ptr[1];\n        uVar18 = __ptr[6];\n        uVar7 = uVar7 + 1;\n        piVar14[0xe] = uVar7;\n        if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))\n        goto LAB_0007dcff;\n        uVar9 = uVar9 + 8;\n        __ptr[1] = uVar9;\n      } while (uVar9 < 0x20);\n      __ptr[6] = 0;\n      __ptr[1] = 0;\n    }\n    else {\n      uVar10 = __ptr[1];\n      uVar9 = (uint)*(byte *)(*piVar14 + -0x154a8 + __ptr[7]);\n      if (uVar10 < uVar9) {\n        uVar18 = piVar14[0xe];\n        uVar7 = piVar14[0xf];\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        uVar11 = uVar18;\n        while( true ) {\n          uVar11 = uVar11 + 1;\n          if (uVar11 == (uVar18 - uVar10) + uVar9) break;\n          if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }\n        }\n        piVar14[0xe] = uVar11;\n      }\n      __ptr[1] = 0;\n    }\n    *__ptr = 1;\n    uVar7 = 1;\n    goto LAB_0007dbcf;\n  case 0x7e3b0:\n    goto switchD_0007dbdb_caseD_7e3b0;\n  }" switch (parenthesized_expression "(*(int *)((int)*pppuVar13 + -0x154d0 + uVar7 * 4) + (int)*pppuVar13)" ( (binary_expression "*(int *)((int)*pppuVar13 + -0x154d0 + uVar7 * 4) + (int)*pppuVar13" (pointer_expression "*(int *)((int)*pppuVar13 + -0x154d0 + uVar7 * 4)" * (cast_expression "(int *)((int)*pppuVar13 + -0x154d0 + uVar7 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*pppuVar13 + -0x154d0 + uVar7 * 4)" ( (binary_expression "(int)*pppuVar13 + -0x154d0 + uVar7 * 4" (binary_expression "(int)*pppuVar13 + -0x154d0" (cast_expression "(int)*pppuVar13" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppuVar13" * identifier)) + number_literal) + (binary_expression "uVar7 * 4" identifier * number_literal)) )))) + (cast_expression "(int)*pppuVar13" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppuVar13" * identifier))) )) (compound_statement "{\n  case 0x7dc1f:\n    goto switchD_0007dbdb_caseD_7dc1f;\n  case 0x7dc7d:\n    goto switchD_0007dbdb_caseD_7dc7d;\n  case 0x7dcd4:\n    goto switchD_0007dbdb_caseD_7dcd4;\n  case 0x7dd72:\n    goto switchD_0007dbdb_caseD_7dd72;\n  case 0x7dfc9:\n    ((int *)pppuVar13)[-1] = 0x7dfd4;\n    cVar3 = FUN_0007d93a();\n    if (cVar3 == '\0') goto LAB_0007dd81;\n    *__ptr = 1;\n    if ((__ptr[0x26] != 0x587a37fd) || ((short)__ptr[0x27] != 0x5a)) {\n      iVar5 = ((int *)pppuVar13)[0x11];\n      iVar8 = 5;\n      goto LAB_0007df05;\n    }\n    ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n    ((int *)pppuVar13)[-5] = 0x7e023;\n    uVar7 = FUN_000a62f1();\n    piVar14 = (int *)pppuVar13 + -1;\n    piVar15 = (int *)pppuVar13 + -1;\n    if (~uVar7 != __ptr[0x28]) goto LAB_0007defc;\n    piVar15 = (int *)pppuVar13 + -1;\n    if (*(char *)((int)__ptr + 0x9e) == '\0') {\n      uVar7 = (uint)*(byte *)((int)__ptr + 0x9f);\n      __ptr[7] = uVar7;\n      piVar15 = (int *)pppuVar13 + -1;\n      if (uVar7 < 0x10) {\n        if (uVar7 < 2) goto switchD_0007dbdb_caseD_7e05d;\n        iVar5 = ((int *)pppuVar13)[0x10];\n        iVar8 = 2;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n        goto LAB_0007df05;\n      }\n    }\n    break;\n  case 0x7e05d:\nswitchD_0007dbdb_caseD_7e05d:\n    uVar10 = *(uint *)((int)piVar14 + 0x38);\n    uVar7 = *(uint *)((int)piVar14 + 0x3c);\n    pppuVar13 = (undefined ***)piVar14;\n    if (uVar10 == uVar7) goto LAB_0007dd85;\n    if (*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) != 0) {\n      uVar7 = (uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) * 4 + 4;\n      __ptr[0xe] = uVar7;\n      __ptr[0x25] = uVar7;\n      __ptr[0x24] = 0;\n      *__ptr = 2;\n      goto switchD_0007dbdb_caseD_7e09e;\n    }\n    *(uint *)((int)piVar14 + 0x38) = uVar10 + 1;\n    __ptr[4] = uVar10;\n    *__ptr = 6;\n    uVar7 = 6;\n    goto LAB_0007dbcf;\n  case 0x7e09e:\nswitchD_0007dbdb_caseD_7e09e:\n    piVar14[-1] = 0x7e0a9;\n    cVar3 = FUN_0007d93a();\n    pppuVar13 = (undefined ***)piVar14;\n    if (cVar3 == '\0') goto LAB_0007dd81;\n    __ptr[0x25] = __ptr[0x25] - 4;\n    piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n    piVar14[-5] = 0x7e0df;\n    uVar10 = FUN_000a62f1();\n    uVar7 = __ptr[0x25];\n    pppuVar13 = (undefined ***)(piVar14 + -1);\n    piVar16 = piVar14 + -1;\n    piVar15 = piVar14 + -1;\n    if (~uVar10 != *(uint *)((int)__ptr + uVar7 + 0x98)) goto LAB_0007defc;\n    __ptr[0x24] = 2;\n    bVar19 = *(byte *)((int)__ptr + 0x99);\n    piVar15 = piVar14 + -1;\n    if ((bVar19 & 0x3f) == 0) {\n      if ((bVar19 & 0x40) == 0) {\n        __ptr[10] = 0xffffffff;\n        __ptr[0xb] = 0xffffffff;\n        if (-1 < (char)bVar19) goto LAB_0007e129;\nLAB_0007e572:\n        *(uint *)((int)piVar16 + -0x10) = uVar7;\n        *(undefined4 *)((int)piVar16 + -0x14) = 0x7e585;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)((int)piVar16 + -4);\n        piVar15 = (int *)((int)piVar16 + -4);\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[0xc] = __ptr[2];\n        __ptr[0xd] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      else {\n        piVar14[-5] = uVar7;\n        piVar14[-6] = 0x7e5cc;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)(piVar14 + -2);\n        piVar16 = piVar14 + -2;\n        piVar15 = piVar14 + -2;\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[10] = __ptr[2];\n        __ptr[0xb] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        if (*(char *)((int)__ptr + 0x99) < '\0') goto LAB_0007e572;\nLAB_0007e129:\n        __ptr[0xc] = 0xffffffff;\n        __ptr[0xd] = 0xffffffff;\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      piVar15 = (int *)pppuVar13;\n      if (uVar9 < 2) goto LAB_0007defc;\n      __ptr[0x24] = uVar10 + 1;\n      if (*(char *)((int)__ptr + uVar10 + 0x98) == '!') {\n        __ptr[0x24] = uVar10 + 2;\n        if (*(char *)((int)__ptr + uVar10 + 0x99) == '\x01') {\n          if (uVar10 + 2 == uVar7) goto LAB_0007defc;\n          uVar9 = uVar10 + 3;\n          __ptr[0x24] = uVar9;\n          bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);\n          if (bVar19 < 0x28) {\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }\n        }\n      }\n    }\n    break;\n  case 0x7e21b:\nswitchD_0007dbdb_caseD_7e21b:\n    __ptr[4] = ((int *)pppuVar13)[0xe];\n    __ptr[5] = ((int *)pppuVar13)[0x11];\n    ((int *)pppuVar13)[-1] = 0x7e238;\n    iVar8 = FUN_0007d17c();\n    ((int *)pppuVar13)[7] = iVar8;\n    uVar9 = (((int *)pppuVar13)[0xe] - __ptr[4]) + __ptr[0xf];\n    uVar18 = __ptr[0x10] + (uint)CARRY4(((int *)pppuVar13)[0xe] - __ptr[4],__ptr[0xf]);\n    __ptr[0xf] = uVar9;\n    __ptr[0x10] = uVar18;\n    iVar5 = ((int *)pppuVar13)[0x11];\n    uVar7 = __ptr[5];\n    ((int *)pppuVar13)[9] = uVar7;\n    uVar7 = iVar5 - uVar7;\n    ((int *)pppuVar13)[10] = uVar7;\n    uVar10 = uVar7 + __ptr[0x11];\n    uVar7 = __ptr[0x12] + (uint)CARRY4(uVar7,__ptr[0x11]);\n    __ptr[0x11] = uVar10;\n    __ptr[0x12] = uVar7;\n    if ((uVar18 <= __ptr[0xb] && (uint)(__ptr[10] < uVar9) <= __ptr[0xb] - uVar18) &&\n       (uVar7 <= __ptr[0xd] && (uint)(__ptr[0xc] < uVar10) <= __ptr[0xd] - uVar7)) {\n      if (__ptr[7] == 1) {\n        ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n        ((int *)pppuVar13)[-5] = 0x7e2b9;\n        uVar7 = FUN_000a62f1();\n        __ptr[6] = ~uVar7;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n      }\n      if (((int *)pppuVar13)[7] == 1) {\n        piVar15 = (int *)pppuVar13;\n        if (((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||\n           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])) {\n          uVar7 = __ptr[0x11];\n          if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }\n        }\n        goto LAB_0007defc;\n      }\n      iVar8 = ((int *)pppuVar13)[7];\n      goto LAB_0007dfbc;\n    }\n    iVar8 = 7;\n    goto LAB_0007df05;\n  case 0x7e360:\nswitchD_0007dbdb_caseD_7e360:\n    uVar10 = __ptr[0xf];\n    uVar9 = __ptr[0x10];\n    if ((uVar10 & 3) != 0) {\n      uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n      uVar7 = *(uint *)((int)pppuVar13 + 0x3c);\n      if (uVar18 == uVar7) goto LAB_0007dd85;\n      iVar8 = *(int *)((int)pppuVar13 + 0x34);\n      *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n      piVar15 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      uVar9 = uVar9 + (0xfffffffe < uVar10);\n      while( true ) {\n        uVar10 = uVar10 + 1;\n        __ptr[0xf] = uVar10;\n        __ptr[0x10] = uVar9;\n        if ((uVar10 & 3) == 0) break;\n        uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n        uVar9 = uVar9 + (0xfffffffe < uVar10);\n        if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      }\n    }\n    *__ptr = 5;\n    piVar14 = (int *)pppuVar13;\nswitchD_0007dbdb_caseD_7e3b0:\n    pppuVar13 = (undefined ***)piVar14;\n    if (__ptr[7] == 1) {\n      uVar10 = piVar14[0xf];\n      iVar8 = piVar14[0xd];\n      uVar7 = piVar14[0xe];\n      do {\n        if (uVar10 == uVar7) goto LAB_0007dd85;\n        uVar9 = __ptr[1];\n        uVar18 = __ptr[6];\n        uVar7 = uVar7 + 1;\n        piVar14[0xe] = uVar7;\n        if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))\n        goto LAB_0007dcff;\n        uVar9 = uVar9 + 8;\n        __ptr[1] = uVar9;\n      } while (uVar9 < 0x20);\n      __ptr[6] = 0;\n      __ptr[1] = 0;\n    }\n    else {\n      uVar10 = __ptr[1];\n      uVar9 = (uint)*(byte *)(*piVar14 + -0x154a8 + __ptr[7]);\n      if (uVar10 < uVar9) {\n        uVar18 = piVar14[0xe];\n        uVar7 = piVar14[0xf];\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        uVar11 = uVar18;\n        while( true ) {\n          uVar11 = uVar11 + 1;\n          if (uVar11 == (uVar18 - uVar10) + uVar9) break;\n          if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }\n        }\n        piVar14[0xe] = uVar11;\n      }\n      __ptr[1] = 0;\n    }\n    *__ptr = 1;\n    uVar7 = 1;\n    goto LAB_0007dbcf;\n  case 0x7e3b0:\n    goto switchD_0007dbdb_caseD_7e3b0;\n  }" { (case_statement "case 0x7dc1f:\n    goto switchD_0007dbdb_caseD_7dc1f;" case number_literal : (goto_statement "goto switchD_0007dbdb_caseD_7dc1f;" goto statement_identifier ;)) (case_statement "case 0x7dc7d:\n    goto switchD_0007dbdb_caseD_7dc7d;" case number_literal : (goto_statement "goto switchD_0007dbdb_caseD_7dc7d;" goto statement_identifier ;)) (case_statement "case 0x7dcd4:\n    goto switchD_0007dbdb_caseD_7dcd4;" case number_literal : (goto_statement "goto switchD_0007dbdb_caseD_7dcd4;" goto statement_identifier ;)) (case_statement "case 0x7dd72:\n    goto switchD_0007dbdb_caseD_7dd72;" case number_literal : (goto_statement "goto switchD_0007dbdb_caseD_7dd72;" goto statement_identifier ;)) (case_statement "case 0x7dfc9:\n    ((int *)pppuVar13)[-1] = 0x7dfd4;\n    cVar3 = FUN_0007d93a();\n    if (cVar3 == '\0') goto LAB_0007dd81;\n    *__ptr = 1;\n    if ((__ptr[0x26] != 0x587a37fd) || ((short)__ptr[0x27] != 0x5a)) {\n      iVar5 = ((int *)pppuVar13)[0x11];\n      iVar8 = 5;\n      goto LAB_0007df05;\n    }\n    ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n    ((int *)pppuVar13)[-5] = 0x7e023;\n    uVar7 = FUN_000a62f1();\n    piVar14 = (int *)pppuVar13 + -1;\n    piVar15 = (int *)pppuVar13 + -1;\n    if (~uVar7 != __ptr[0x28]) goto LAB_0007defc;\n    piVar15 = (int *)pppuVar13 + -1;\n    if (*(char *)((int)__ptr + 0x9e) == '\0') {\n      uVar7 = (uint)*(byte *)((int)__ptr + 0x9f);\n      __ptr[7] = uVar7;\n      piVar15 = (int *)pppuVar13 + -1;\n      if (uVar7 < 0x10) {\n        if (uVar7 < 2) goto switchD_0007dbdb_caseD_7e05d;\n        iVar5 = ((int *)pppuVar13)[0x10];\n        iVar8 = 2;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n        goto LAB_0007df05;\n      }\n    }\n    break;" case number_literal : (expression_statement "((int *)pppuVar13)[-1] = 0x7dfd4;" (assignment_expression "((int *)pppuVar13)[-1] = 0x7dfd4" (subscript_expression "((int *)pppuVar13)[-1]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "cVar3 = FUN_0007d93a();" (assignment_expression "cVar3 = FUN_0007d93a()" identifier = (call_expression "FUN_0007d93a()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar3 == '\0') goto LAB_0007dd81;" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0007dd81;" goto statement_identifier ;)) (expression_statement "*__ptr = 1;" (assignment_expression "*__ptr = 1" (pointer_expression "*__ptr" * identifier) = number_literal) ;) (if_statement "if ((__ptr[0x26] != 0x587a37fd) || ((short)__ptr[0x27] != 0x5a)) {\n      iVar5 = ((int *)pppuVar13)[0x11];\n      iVar8 = 5;\n      goto LAB_0007df05;\n    }" if (parenthesized_expression "((__ptr[0x26] != 0x587a37fd) || ((short)__ptr[0x27] != 0x5a))" ( (binary_expression "(__ptr[0x26] != 0x587a37fd) || ((short)__ptr[0x27] != 0x5a)" (parenthesized_expression "(__ptr[0x26] != 0x587a37fd)" ( (binary_expression "__ptr[0x26] != 0x587a37fd" (subscript_expression "__ptr[0x26]" identifier [ number_literal ]) != number_literal) )) || (parenthesized_expression "((short)__ptr[0x27] != 0x5a)" ( (binary_expression "(short)__ptr[0x27] != 0x5a" (cast_expression "(short)__ptr[0x27]" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (subscript_expression "__ptr[0x27]" identifier [ number_literal ])) != number_literal) ))) )) (compound_statement "{\n      iVar5 = ((int *)pppuVar13)[0x11];\n      iVar8 = 5;\n      goto LAB_0007df05;\n    }" { (expression_statement "iVar5 = ((int *)pppuVar13)[0x11];" (assignment_expression "iVar5 = ((int *)pppuVar13)[0x11]" identifier = (subscript_expression "((int *)pppuVar13)[0x11]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ;) (expression_statement "iVar8 = 5;" (assignment_expression "iVar8 = 5" identifier = number_literal) ;) (goto_statement "goto LAB_0007df05;" goto statement_identifier ;) })) (expression_statement "((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);" (assignment_expression "((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8)" (subscript_expression "((int *)pppuVar13)[-4]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (pointer_expression "*(undefined4 *)((int)*pppuVar13 + 0xcf8)" * (cast_expression "(undefined4 *)((int)*pppuVar13 + 0xcf8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*pppuVar13 + 0xcf8)" ( (binary_expression "(int)*pppuVar13 + 0xcf8" (cast_expression "(int)*pppuVar13" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppuVar13" * identifier)) + number_literal) ))))) ;) (expression_statement "((int *)pppuVar13)[-5] = 0x7e023;" (assignment_expression "((int *)pppuVar13)[-5] = 0x7e023" (subscript_expression "((int *)pppuVar13)[-5]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "uVar7 = FUN_000a62f1();" (assignment_expression "uVar7 = FUN_000a62f1()" identifier = (call_expression "FUN_000a62f1()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar14 = (int *)pppuVar13 + -1;" (assignment_expression "piVar14 = (int *)pppuVar13 + -1" identifier = (binary_expression "(int *)pppuVar13 + -1" (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal)) ;) (expression_statement "piVar15 = (int *)pppuVar13 + -1;" (assignment_expression "piVar15 = (int *)pppuVar13 + -1" identifier = (binary_expression "(int *)pppuVar13 + -1" (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal)) ;) (if_statement "if (~uVar7 != __ptr[0x28]) goto LAB_0007defc;" if (parenthesized_expression "(~uVar7 != __ptr[0x28])" ( (binary_expression "~uVar7 != __ptr[0x28]" (unary_expression "~uVar7" ~ identifier) != (subscript_expression "__ptr[0x28]" identifier [ number_literal ])) )) (goto_statement "goto LAB_0007defc;" goto statement_identifier ;)) (expression_statement "piVar15 = (int *)pppuVar13 + -1;" (assignment_expression "piVar15 = (int *)pppuVar13 + -1" identifier = (binary_expression "(int *)pppuVar13 + -1" (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal)) ;) (if_statement "if (*(char *)((int)__ptr + 0x9e) == '\0') {\n      uVar7 = (uint)*(byte *)((int)__ptr + 0x9f);\n      __ptr[7] = uVar7;\n      piVar15 = (int *)pppuVar13 + -1;\n      if (uVar7 < 0x10) {\n        if (uVar7 < 2) goto switchD_0007dbdb_caseD_7e05d;\n        iVar5 = ((int *)pppuVar13)[0x10];\n        iVar8 = 2;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n        goto LAB_0007df05;\n      }\n    }" if (parenthesized_expression "(*(char *)((int)__ptr + 0x9e) == '\0')" ( (binary_expression "*(char *)((int)__ptr + 0x9e) == '\0'" (pointer_expression "*(char *)((int)__ptr + 0x9e)" * (cast_expression "(char *)((int)__ptr + 0x9e)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr + 0x9e)" ( (binary_expression "(int)__ptr + 0x9e" (cast_expression "(int)__ptr" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      uVar7 = (uint)*(byte *)((int)__ptr + 0x9f);\n      __ptr[7] = uVar7;\n      piVar15 = (int *)pppuVar13 + -1;\n      if (uVar7 < 0x10) {\n        if (uVar7 < 2) goto switchD_0007dbdb_caseD_7e05d;\n        iVar5 = ((int *)pppuVar13)[0x10];\n        iVar8 = 2;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n        goto LAB_0007df05;\n      }\n    }" { (expression_statement "uVar7 = (uint)*(byte *)((int)__ptr + 0x9f);" (assignment_expression "uVar7 = (uint)*(byte *)((int)__ptr + 0x9f)" identifier = (binary_expression "(uint)*(byte *)((int)__ptr + 0x9f)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)__ptr + 0x9f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr + 0x9f)" ( (binary_expression "(int)__ptr + 0x9f" (cast_expression "(int)__ptr" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "__ptr[7] = uVar7;" (assignment_expression "__ptr[7] = uVar7" (subscript_expression "__ptr[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar15 = (int *)pppuVar13 + -1;" (assignment_expression "piVar15 = (int *)pppuVar13 + -1" identifier = (binary_expression "(int *)pppuVar13 + -1" (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal)) ;) (if_statement "if (uVar7 < 0x10) {\n        if (uVar7 < 2) goto switchD_0007dbdb_caseD_7e05d;\n        iVar5 = ((int *)pppuVar13)[0x10];\n        iVar8 = 2;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n        goto LAB_0007df05;\n      }" if (parenthesized_expression "(uVar7 < 0x10)" ( (binary_expression "uVar7 < 0x10" identifier < number_literal) )) (compound_statement "{\n        if (uVar7 < 2) goto switchD_0007dbdb_caseD_7e05d;\n        iVar5 = ((int *)pppuVar13)[0x10];\n        iVar8 = 2;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n        goto LAB_0007df05;\n      }" { (if_statement "if (uVar7 < 2) goto switchD_0007dbdb_caseD_7e05d;" if (parenthesized_expression "(uVar7 < 2)" ( (binary_expression "uVar7 < 2" identifier < number_literal) )) (goto_statement "goto switchD_0007dbdb_caseD_7e05d;" goto statement_identifier ;)) (expression_statement "iVar5 = ((int *)pppuVar13)[0x10];" (assignment_expression "iVar5 = ((int *)pppuVar13)[0x10]" identifier = (subscript_expression "((int *)pppuVar13)[0x10]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ;) (expression_statement "iVar8 = 2;" (assignment_expression "iVar8 = 2" identifier = number_literal) ;) (expression_statement "pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);" (assignment_expression "pppuVar13 = (undefined ***)((int *)pppuVar13 + -1)" identifier = (cast_expression "(undefined ***)((int *)pppuVar13 + -1)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int *)pppuVar13 + -1)" ( (binary_expression "(int *)pppuVar13 + -1" (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (goto_statement "goto LAB_0007df05;" goto statement_identifier ;) })) })) (break_statement "break;" break ;)) (case_statement "case 0x7e05d:\nswitchD_0007dbdb_caseD_7e05d:\n    uVar10 = *(uint *)((int)piVar14 + 0x38);\n    uVar7 = *(uint *)((int)piVar14 + 0x3c);\n    pppuVar13 = (undefined ***)piVar14;\n    if (uVar10 == uVar7) goto LAB_0007dd85;\n    if (*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) != 0) {\n      uVar7 = (uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) * 4 + 4;\n      __ptr[0xe] = uVar7;\n      __ptr[0x25] = uVar7;\n      __ptr[0x24] = 0;\n      *__ptr = 2;\n      goto switchD_0007dbdb_caseD_7e09e;\n    }\n    *(uint *)((int)piVar14 + 0x38) = uVar10 + 1;\n    __ptr[4] = uVar10;\n    *__ptr = 6;\n    uVar7 = 6;\n    goto LAB_0007dbcf;" case number_literal : (labeled_statement "switchD_0007dbdb_caseD_7e05d:\n    uVar10 = *(uint *)((int)piVar14 + 0x38);" statement_identifier : (expression_statement "uVar10 = *(uint *)((int)piVar14 + 0x38);" (assignment_expression "uVar10 = *(uint *)((int)piVar14 + 0x38)" identifier = (pointer_expression "*(uint *)((int)piVar14 + 0x38)" * (cast_expression "(uint *)((int)piVar14 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 0x38)" ( (binary_expression "(int)piVar14 + 0x38" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (expression_statement "uVar7 = *(uint *)((int)piVar14 + 0x3c);" (assignment_expression "uVar7 = *(uint *)((int)piVar14 + 0x3c)" identifier = (pointer_expression "*(uint *)((int)piVar14 + 0x3c)" * (cast_expression "(uint *)((int)piVar14 + 0x3c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 0x3c)" ( (binary_expression "(int)piVar14 + 0x3c" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "pppuVar13 = (undefined ***)piVar14;" (assignment_expression "pppuVar13 = (undefined ***)piVar14" identifier = (cast_expression "(undefined ***)piVar14" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (if_statement "if (uVar10 == uVar7) goto LAB_0007dd85;" if (parenthesized_expression "(uVar10 == uVar7)" ( (binary_expression "uVar10 == uVar7" identifier == identifier) )) (goto_statement "goto LAB_0007dd85;" goto statement_identifier ;)) (if_statement "if (*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) != 0) {\n      uVar7 = (uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) * 4 + 4;\n      __ptr[0xe] = uVar7;\n      __ptr[0x25] = uVar7;\n      __ptr[0x24] = 0;\n      *__ptr = 2;\n      goto switchD_0007dbdb_caseD_7e09e;\n    }" if (parenthesized_expression "(*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) != 0)" ( (binary_expression "*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) != 0" (pointer_expression "*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10)" * (cast_expression "(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)piVar14 + 0x34) + uVar10)" ( (binary_expression "*(int *)((int)piVar14 + 0x34) + uVar10" (pointer_expression "*(int *)((int)piVar14 + 0x34)" * (cast_expression "(int *)((int)piVar14 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 0x34)" ( (binary_expression "(int)piVar14 + 0x34" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + identifier) )))) != number_literal) )) (compound_statement "{\n      uVar7 = (uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) * 4 + 4;\n      __ptr[0xe] = uVar7;\n      __ptr[0x25] = uVar7;\n      __ptr[0x24] = 0;\n      *__ptr = 2;\n      goto switchD_0007dbdb_caseD_7e09e;\n    }" { (expression_statement "uVar7 = (uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) * 4 + 4;" (assignment_expression "uVar7 = (uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) * 4 + 4" identifier = (binary_expression "(uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) * 4 + 4" (binary_expression "(uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) * 4" (binary_expression "(uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)piVar14 + 0x34) + uVar10)" ( (binary_expression "*(int *)((int)piVar14 + 0x34) + uVar10" (pointer_expression "*(int *)((int)piVar14 + 0x34)" * (cast_expression "(int *)((int)piVar14 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 0x34)" ( (binary_expression "(int)piVar14 + 0x34" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + identifier) )))) * number_literal) + number_literal)) ;) (expression_statement "__ptr[0xe] = uVar7;" (assignment_expression "__ptr[0xe] = uVar7" (subscript_expression "__ptr[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__ptr[0x25] = uVar7;" (assignment_expression "__ptr[0x25] = uVar7" (subscript_expression "__ptr[0x25]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__ptr[0x24] = 0;" (assignment_expression "__ptr[0x24] = 0" (subscript_expression "__ptr[0x24]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*__ptr = 2;" (assignment_expression "*__ptr = 2" (pointer_expression "*__ptr" * identifier) = number_literal) ;) (goto_statement "goto switchD_0007dbdb_caseD_7e09e;" goto statement_identifier ;) })) (expression_statement "*(uint *)((int)piVar14 + 0x38) = uVar10 + 1;" (assignment_expression "*(uint *)((int)piVar14 + 0x38) = uVar10 + 1" (pointer_expression "*(uint *)((int)piVar14 + 0x38)" * (cast_expression "(uint *)((int)piVar14 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 0x38)" ( (binary_expression "(int)piVar14 + 0x38" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (expression_statement "__ptr[4] = uVar10;" (assignment_expression "__ptr[4] = uVar10" (subscript_expression "__ptr[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*__ptr = 6;" (assignment_expression "*__ptr = 6" (pointer_expression "*__ptr" * identifier) = number_literal) ;) (expression_statement "uVar7 = 6;" (assignment_expression "uVar7 = 6" identifier = number_literal) ;) (goto_statement "goto LAB_0007dbcf;" goto statement_identifier ;)) (case_statement "case 0x7e09e:\nswitchD_0007dbdb_caseD_7e09e:\n    piVar14[-1] = 0x7e0a9;\n    cVar3 = FUN_0007d93a();\n    pppuVar13 = (undefined ***)piVar14;\n    if (cVar3 == '\0') goto LAB_0007dd81;\n    __ptr[0x25] = __ptr[0x25] - 4;\n    piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n    piVar14[-5] = 0x7e0df;\n    uVar10 = FUN_000a62f1();\n    uVar7 = __ptr[0x25];\n    pppuVar13 = (undefined ***)(piVar14 + -1);\n    piVar16 = piVar14 + -1;\n    piVar15 = piVar14 + -1;\n    if (~uVar10 != *(uint *)((int)__ptr + uVar7 + 0x98)) goto LAB_0007defc;\n    __ptr[0x24] = 2;\n    bVar19 = *(byte *)((int)__ptr + 0x99);\n    piVar15 = piVar14 + -1;\n    if ((bVar19 & 0x3f) == 0) {\n      if ((bVar19 & 0x40) == 0) {\n        __ptr[10] = 0xffffffff;\n        __ptr[0xb] = 0xffffffff;\n        if (-1 < (char)bVar19) goto LAB_0007e129;\nLAB_0007e572:\n        *(uint *)((int)piVar16 + -0x10) = uVar7;\n        *(undefined4 *)((int)piVar16 + -0x14) = 0x7e585;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)((int)piVar16 + -4);\n        piVar15 = (int *)((int)piVar16 + -4);\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[0xc] = __ptr[2];\n        __ptr[0xd] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      else {\n        piVar14[-5] = uVar7;\n        piVar14[-6] = 0x7e5cc;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)(piVar14 + -2);\n        piVar16 = piVar14 + -2;\n        piVar15 = piVar14 + -2;\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[10] = __ptr[2];\n        __ptr[0xb] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        if (*(char *)((int)__ptr + 0x99) < '\0') goto LAB_0007e572;\nLAB_0007e129:\n        __ptr[0xc] = 0xffffffff;\n        __ptr[0xd] = 0xffffffff;\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      piVar15 = (int *)pppuVar13;\n      if (uVar9 < 2) goto LAB_0007defc;\n      __ptr[0x24] = uVar10 + 1;\n      if (*(char *)((int)__ptr + uVar10 + 0x98) == '!') {\n        __ptr[0x24] = uVar10 + 2;\n        if (*(char *)((int)__ptr + uVar10 + 0x99) == '\x01') {\n          if (uVar10 + 2 == uVar7) goto LAB_0007defc;\n          uVar9 = uVar10 + 3;\n          __ptr[0x24] = uVar9;\n          bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);\n          if (bVar19 < 0x28) {\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }\n        }\n      }\n    }\n    break;" case number_literal : (labeled_statement "switchD_0007dbdb_caseD_7e09e:\n    piVar14[-1] = 0x7e0a9;" statement_identifier : (expression_statement "piVar14[-1] = 0x7e0a9;" (assignment_expression "piVar14[-1] = 0x7e0a9" (subscript_expression "piVar14[-1]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "cVar3 = FUN_0007d93a();" (assignment_expression "cVar3 = FUN_0007d93a()" identifier = (call_expression "FUN_0007d93a()" identifier (argument_list "()" ( )))) ;) (expression_statement "pppuVar13 = (undefined ***)piVar14;" (assignment_expression "pppuVar13 = (undefined ***)piVar14" identifier = (cast_expression "(undefined ***)piVar14" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (if_statement "if (cVar3 == '\0') goto LAB_0007dd81;" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0007dd81;" goto statement_identifier ;)) (expression_statement "__ptr[0x25] = __ptr[0x25] - 4;" (assignment_expression "__ptr[0x25] = __ptr[0x25] - 4" (subscript_expression "__ptr[0x25]" identifier [ number_literal ]) = (binary_expression "__ptr[0x25] - 4" (subscript_expression "__ptr[0x25]" identifier [ number_literal ]) - number_literal)) ;) (expression_statement "piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);" (assignment_expression "piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8)" (subscript_expression "piVar14[-4]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(*piVar14 + 0xcf8)" * (cast_expression "(undefined4 *)(*piVar14 + 0xcf8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar14 + 0xcf8)" ( (binary_expression "*piVar14 + 0xcf8" (pointer_expression "*piVar14" * identifier) + number_literal) ))))) ;) (expression_statement "piVar14[-5] = 0x7e0df;" (assignment_expression "piVar14[-5] = 0x7e0df" (subscript_expression "piVar14[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar10 = FUN_000a62f1();" (assignment_expression "uVar10 = FUN_000a62f1()" identifier = (call_expression "FUN_000a62f1()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar7 = __ptr[0x25];" (assignment_expression "uVar7 = __ptr[0x25]" identifier = (subscript_expression "__ptr[0x25]" identifier [ number_literal ])) ;) (expression_statement "pppuVar13 = (undefined ***)(piVar14 + -1);" (assignment_expression "pppuVar13 = (undefined ***)(piVar14 + -1)" identifier = (cast_expression "(undefined ***)(piVar14 + -1)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(piVar14 + -1)" ( (binary_expression "piVar14 + -1" identifier + number_literal) )))) ;) (expression_statement "piVar16 = piVar14 + -1;" (assignment_expression "piVar16 = piVar14 + -1" identifier = (binary_expression "piVar14 + -1" identifier + number_literal)) ;) (expression_statement "piVar15 = piVar14 + -1;" (assignment_expression "piVar15 = piVar14 + -1" identifier = (binary_expression "piVar14 + -1" identifier + number_literal)) ;) (if_statement "if (~uVar10 != *(uint *)((int)__ptr + uVar7 + 0x98)) goto LAB_0007defc;" if (parenthesized_expression "(~uVar10 != *(uint *)((int)__ptr + uVar7 + 0x98))" ( (binary_expression "~uVar10 != *(uint *)((int)__ptr + uVar7 + 0x98)" (unary_expression "~uVar10" ~ identifier) != (pointer_expression "*(uint *)((int)__ptr + uVar7 + 0x98)" * (cast_expression "(uint *)((int)__ptr + uVar7 + 0x98)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr + uVar7 + 0x98)" ( (binary_expression "(int)__ptr + uVar7 + 0x98" (binary_expression "(int)__ptr + uVar7" (cast_expression "(int)__ptr" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))))) )) (goto_statement "goto LAB_0007defc;" goto statement_identifier ;)) (expression_statement "__ptr[0x24] = 2;" (assignment_expression "__ptr[0x24] = 2" (subscript_expression "__ptr[0x24]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "bVar19 = *(byte *)((int)__ptr + 0x99);" (assignment_expression "bVar19 = *(byte *)((int)__ptr + 0x99)" identifier = (pointer_expression "*(byte *)((int)__ptr + 0x99)" * (cast_expression "(byte *)((int)__ptr + 0x99)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr + 0x99)" ( (binary_expression "(int)__ptr + 0x99" (cast_expression "(int)__ptr" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "piVar15 = piVar14 + -1;" (assignment_expression "piVar15 = piVar14 + -1" identifier = (binary_expression "piVar14 + -1" identifier + number_literal)) ;) (if_statement "if ((bVar19 & 0x3f) == 0) {\n      if ((bVar19 & 0x40) == 0) {\n        __ptr[10] = 0xffffffff;\n        __ptr[0xb] = 0xffffffff;\n        if (-1 < (char)bVar19) goto LAB_0007e129;\nLAB_0007e572:\n        *(uint *)((int)piVar16 + -0x10) = uVar7;\n        *(undefined4 *)((int)piVar16 + -0x14) = 0x7e585;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)((int)piVar16 + -4);\n        piVar15 = (int *)((int)piVar16 + -4);\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[0xc] = __ptr[2];\n        __ptr[0xd] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      else {\n        piVar14[-5] = uVar7;\n        piVar14[-6] = 0x7e5cc;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)(piVar14 + -2);\n        piVar16 = piVar14 + -2;\n        piVar15 = piVar14 + -2;\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[10] = __ptr[2];\n        __ptr[0xb] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        if (*(char *)((int)__ptr + 0x99) < '\0') goto LAB_0007e572;\nLAB_0007e129:\n        __ptr[0xc] = 0xffffffff;\n        __ptr[0xd] = 0xffffffff;\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      piVar15 = (int *)pppuVar13;\n      if (uVar9 < 2) goto LAB_0007defc;\n      __ptr[0x24] = uVar10 + 1;\n      if (*(char *)((int)__ptr + uVar10 + 0x98) == '!') {\n        __ptr[0x24] = uVar10 + 2;\n        if (*(char *)((int)__ptr + uVar10 + 0x99) == '\x01') {\n          if (uVar10 + 2 == uVar7) goto LAB_0007defc;\n          uVar9 = uVar10 + 3;\n          __ptr[0x24] = uVar9;\n          bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);\n          if (bVar19 < 0x28) {\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }\n        }\n      }\n    }" if (parenthesized_expression "((bVar19 & 0x3f) == 0)" ( (binary_expression "(bVar19 & 0x3f) == 0" (parenthesized_expression "(bVar19 & 0x3f)" ( (binary_expression "bVar19 & 0x3f" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((bVar19 & 0x40) == 0) {\n        __ptr[10] = 0xffffffff;\n        __ptr[0xb] = 0xffffffff;\n        if (-1 < (char)bVar19) goto LAB_0007e129;\nLAB_0007e572:\n        *(uint *)((int)piVar16 + -0x10) = uVar7;\n        *(undefined4 *)((int)piVar16 + -0x14) = 0x7e585;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)((int)piVar16 + -4);\n        piVar15 = (int *)((int)piVar16 + -4);\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[0xc] = __ptr[2];\n        __ptr[0xd] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      else {\n        piVar14[-5] = uVar7;\n        piVar14[-6] = 0x7e5cc;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)(piVar14 + -2);\n        piVar16 = piVar14 + -2;\n        piVar15 = piVar14 + -2;\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[10] = __ptr[2];\n        __ptr[0xb] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        if (*(char *)((int)__ptr + 0x99) < '\0') goto LAB_0007e572;\nLAB_0007e129:\n        __ptr[0xc] = 0xffffffff;\n        __ptr[0xd] = 0xffffffff;\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      piVar15 = (int *)pppuVar13;\n      if (uVar9 < 2) goto LAB_0007defc;\n      __ptr[0x24] = uVar10 + 1;\n      if (*(char *)((int)__ptr + uVar10 + 0x98) == '!') {\n        __ptr[0x24] = uVar10 + 2;\n        if (*(char *)((int)__ptr + uVar10 + 0x99) == '\x01') {\n          if (uVar10 + 2 == uVar7) goto LAB_0007defc;\n          uVar9 = uVar10 + 3;\n          __ptr[0x24] = uVar9;\n          bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);\n          if (bVar19 < 0x28) {\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }\n        }\n      }\n    }" { (if_statement "if ((bVar19 & 0x40) == 0) {\n        __ptr[10] = 0xffffffff;\n        __ptr[0xb] = 0xffffffff;\n        if (-1 < (char)bVar19) goto LAB_0007e129;\nLAB_0007e572:\n        *(uint *)((int)piVar16 + -0x10) = uVar7;\n        *(undefined4 *)((int)piVar16 + -0x14) = 0x7e585;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)((int)piVar16 + -4);\n        piVar15 = (int *)((int)piVar16 + -4);\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[0xc] = __ptr[2];\n        __ptr[0xd] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      else {\n        piVar14[-5] = uVar7;\n        piVar14[-6] = 0x7e5cc;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)(piVar14 + -2);\n        piVar16 = piVar14 + -2;\n        piVar15 = piVar14 + -2;\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[10] = __ptr[2];\n        __ptr[0xb] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        if (*(char *)((int)__ptr + 0x99) < '\0') goto LAB_0007e572;\nLAB_0007e129:\n        __ptr[0xc] = 0xffffffff;\n        __ptr[0xd] = 0xffffffff;\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }" if (parenthesized_expression "((bVar19 & 0x40) == 0)" ( (binary_expression "(bVar19 & 0x40) == 0" (parenthesized_expression "(bVar19 & 0x40)" ( (binary_expression "bVar19 & 0x40" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        __ptr[10] = 0xffffffff;\n        __ptr[0xb] = 0xffffffff;\n        if (-1 < (char)bVar19) goto LAB_0007e129;\nLAB_0007e572:\n        *(uint *)((int)piVar16 + -0x10) = uVar7;\n        *(undefined4 *)((int)piVar16 + -0x14) = 0x7e585;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)((int)piVar16 + -4);\n        piVar15 = (int *)((int)piVar16 + -4);\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[0xc] = __ptr[2];\n        __ptr[0xd] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }" { (expression_statement "__ptr[10] = 0xffffffff;" (assignment_expression "__ptr[10] = 0xffffffff" (subscript_expression "__ptr[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "__ptr[0xb] = 0xffffffff;" (assignment_expression "__ptr[0xb] = 0xffffffff" (subscript_expression "__ptr[0xb]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (-1 < (char)bVar19) goto LAB_0007e129;" if (parenthesized_expression "(-1 < (char)bVar19)" ( (binary_expression "-1 < (char)bVar19" number_literal < (cast_expression "(char)bVar19" ( (type_descriptor "char" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0007e129;" goto statement_identifier ;)) (labeled_statement "LAB_0007e572:\n        *(uint *)((int)piVar16 + -0x10) = uVar7;" statement_identifier : (expression_statement "*(uint *)((int)piVar16 + -0x10) = uVar7;" (assignment_expression "*(uint *)((int)piVar16 + -0x10) = uVar7" (pointer_expression "*(uint *)((int)piVar16 + -0x10)" * (cast_expression "(uint *)((int)piVar16 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar16 + -0x10)" ( (binary_expression "(int)piVar16 + -0x10" (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)((int)piVar16 + -0x14) = 0x7e585;" (assignment_expression "*(undefined4 *)((int)piVar16 + -0x14) = 0x7e585" (pointer_expression "*(undefined4 *)((int)piVar16 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar16 + -0x14)" ( (binary_expression "(int)piVar16 + -0x14" (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = FUN_0007d044();" (assignment_expression "iVar8 = FUN_0007d044()" identifier = (call_expression "FUN_0007d044()" identifier (argument_list "()" ( )))) ;) (expression_statement "pppuVar13 = (undefined ***)((int)piVar16 + -4);" (assignment_expression "pppuVar13 = (undefined ***)((int)piVar16 + -4)" identifier = (cast_expression "(undefined ***)((int)piVar16 + -4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)piVar16 + -4)" ( (binary_expression "(int)piVar16 + -4" (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar15 = (int *)((int)piVar16 + -4);" (assignment_expression "piVar15 = (int *)((int)piVar16 + -4)" identifier = (cast_expression "(int *)((int)piVar16 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar16 + -4)" ( (binary_expression "(int)piVar16 + -4" (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (iVar8 != 1) goto LAB_0007defc;" if (parenthesized_expression "(iVar8 != 1)" ( (binary_expression "iVar8 != 1" identifier != number_literal) )) (goto_statement "goto LAB_0007defc;" goto statement_identifier ;)) (expression_statement "__ptr[0xc] = __ptr[2];" (assignment_expression "__ptr[0xc] = __ptr[2]" (subscript_expression "__ptr[0xc]" identifier [ number_literal ]) = (subscript_expression "__ptr[2]" identifier [ number_literal ])) ;) (expression_statement "__ptr[0xd] = __ptr[3];" (assignment_expression "__ptr[0xd] = __ptr[3]" (subscript_expression "__ptr[0xd]" identifier [ number_literal ]) = (subscript_expression "__ptr[3]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = __ptr[0x25];" (assignment_expression "uVar7 = __ptr[0x25]" identifier = (subscript_expression "__ptr[0x25]" identifier [ number_literal ])) ;) (expression_statement "uVar10 = __ptr[0x24];" (assignment_expression "uVar10 = __ptr[0x24]" identifier = (subscript_expression "__ptr[0x24]" identifier [ number_literal ])) ;) (expression_statement "uVar9 = uVar7 - uVar10;" (assignment_expression "uVar9 = uVar7 - uVar10" identifier = (binary_expression "uVar7 - uVar10" identifier - identifier)) ;) }) (else_clause "else {\n        piVar14[-5] = uVar7;\n        piVar14[-6] = 0x7e5cc;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)(piVar14 + -2);\n        piVar16 = piVar14 + -2;\n        piVar15 = piVar14 + -2;\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[10] = __ptr[2];\n        __ptr[0xb] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        if (*(char *)((int)__ptr + 0x99) < '\0') goto LAB_0007e572;\nLAB_0007e129:\n        __ptr[0xc] = 0xffffffff;\n        __ptr[0xd] = 0xffffffff;\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }" else (compound_statement "{\n        piVar14[-5] = uVar7;\n        piVar14[-6] = 0x7e5cc;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)(piVar14 + -2);\n        piVar16 = piVar14 + -2;\n        piVar15 = piVar14 + -2;\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[10] = __ptr[2];\n        __ptr[0xb] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        if (*(char *)((int)__ptr + 0x99) < '\0') goto LAB_0007e572;\nLAB_0007e129:\n        __ptr[0xc] = 0xffffffff;\n        __ptr[0xd] = 0xffffffff;\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }" { (expression_statement "piVar14[-5] = uVar7;" (assignment_expression "piVar14[-5] = uVar7" (subscript_expression "piVar14[-5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar14[-6] = 0x7e5cc;" (assignment_expression "piVar14[-6] = 0x7e5cc" (subscript_expression "piVar14[-6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar8 = FUN_0007d044();" (assignment_expression "iVar8 = FUN_0007d044()" identifier = (call_expression "FUN_0007d044()" identifier (argument_list "()" ( )))) ;) (expression_statement "pppuVar13 = (undefined ***)(piVar14 + -2);" (assignment_expression "pppuVar13 = (undefined ***)(piVar14 + -2)" identifier = (cast_expression "(undefined ***)(piVar14 + -2)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(piVar14 + -2)" ( (binary_expression "piVar14 + -2" identifier + number_literal) )))) ;) (expression_statement "piVar16 = piVar14 + -2;" (assignment_expression "piVar16 = piVar14 + -2" identifier = (binary_expression "piVar14 + -2" identifier + number_literal)) ;) (expression_statement "piVar15 = piVar14 + -2;" (assignment_expression "piVar15 = piVar14 + -2" identifier = (binary_expression "piVar14 + -2" identifier + number_literal)) ;) (if_statement "if (iVar8 != 1) goto LAB_0007defc;" if (parenthesized_expression "(iVar8 != 1)" ( (binary_expression "iVar8 != 1" identifier != number_literal) )) (goto_statement "goto LAB_0007defc;" goto statement_identifier ;)) (expression_statement "__ptr[10] = __ptr[2];" (assignment_expression "__ptr[10] = __ptr[2]" (subscript_expression "__ptr[10]" identifier [ number_literal ]) = (subscript_expression "__ptr[2]" identifier [ number_literal ])) ;) (expression_statement "__ptr[0xb] = __ptr[3];" (assignment_expression "__ptr[0xb] = __ptr[3]" (subscript_expression "__ptr[0xb]" identifier [ number_literal ]) = (subscript_expression "__ptr[3]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = __ptr[0x25];" (assignment_expression "uVar7 = __ptr[0x25]" identifier = (subscript_expression "__ptr[0x25]" identifier [ number_literal ])) ;) (if_statement "if (*(char *)((int)__ptr + 0x99) < '\0') goto LAB_0007e572;" if (parenthesized_expression "(*(char *)((int)__ptr + 0x99) < '\0')" ( (binary_expression "*(char *)((int)__ptr + 0x99) < '\0'" (pointer_expression "*(char *)((int)__ptr + 0x99)" * (cast_expression "(char *)((int)__ptr + 0x99)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr + 0x99)" ( (binary_expression "(int)__ptr + 0x99" (cast_expression "(int)__ptr" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0007e572;" goto statement_identifier ;)) (labeled_statement "LAB_0007e129:\n        __ptr[0xc] = 0xffffffff;" statement_identifier : (expression_statement "__ptr[0xc] = 0xffffffff;" (assignment_expression "__ptr[0xc] = 0xffffffff" (subscript_expression "__ptr[0xc]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "__ptr[0xd] = 0xffffffff;" (assignment_expression "__ptr[0xd] = 0xffffffff" (subscript_expression "__ptr[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar10 = __ptr[0x24];" (assignment_expression "uVar10 = __ptr[0x24]" identifier = (subscript_expression "__ptr[0x24]" identifier [ number_literal ])) ;) (expression_statement "uVar9 = uVar7 - uVar10;" (assignment_expression "uVar9 = uVar7 - uVar10" identifier = (binary_expression "uVar7 - uVar10" identifier - identifier)) ;) }))) (expression_statement "piVar15 = (int *)pppuVar13;" (assignment_expression "piVar15 = (int *)pppuVar13" identifier = (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (uVar9 < 2) goto LAB_0007defc;" if (parenthesized_expression "(uVar9 < 2)" ( (binary_expression "uVar9 < 2" identifier < number_literal) )) (goto_statement "goto LAB_0007defc;" goto statement_identifier ;)) (expression_statement "__ptr[0x24] = uVar10 + 1;" (assignment_expression "__ptr[0x24] = uVar10 + 1" (subscript_expression "__ptr[0x24]" identifier [ number_literal ]) = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (if_statement "if (*(char *)((int)__ptr + uVar10 + 0x98) == '!') {\n        __ptr[0x24] = uVar10 + 2;\n        if (*(char *)((int)__ptr + uVar10 + 0x99) == '\x01') {\n          if (uVar10 + 2 == uVar7) goto LAB_0007defc;\n          uVar9 = uVar10 + 3;\n          __ptr[0x24] = uVar9;\n          bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);\n          if (bVar19 < 0x28) {\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }\n        }\n      }" if (parenthesized_expression "(*(char *)((int)__ptr + uVar10 + 0x98) == '!')" ( (binary_expression "*(char *)((int)__ptr + uVar10 + 0x98) == '!'" (pointer_expression "*(char *)((int)__ptr + uVar10 + 0x98)" * (cast_expression "(char *)((int)__ptr + uVar10 + 0x98)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr + uVar10 + 0x98)" ( (binary_expression "(int)__ptr + uVar10 + 0x98" (binary_expression "(int)__ptr + uVar10" (cast_expression "(int)__ptr" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) == (char_literal "'!'" ' character ')) )) (compound_statement "{\n        __ptr[0x24] = uVar10 + 2;\n        if (*(char *)((int)__ptr + uVar10 + 0x99) == '\x01') {\n          if (uVar10 + 2 == uVar7) goto LAB_0007defc;\n          uVar9 = uVar10 + 3;\n          __ptr[0x24] = uVar9;\n          bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);\n          if (bVar19 < 0x28) {\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }\n        }\n      }" { (expression_statement "__ptr[0x24] = uVar10 + 2;" (assignment_expression "__ptr[0x24] = uVar10 + 2" (subscript_expression "__ptr[0x24]" identifier [ number_literal ]) = (binary_expression "uVar10 + 2" identifier + number_literal)) ;) (if_statement "if (*(char *)((int)__ptr + uVar10 + 0x99) == '\x01') {\n          if (uVar10 + 2 == uVar7) goto LAB_0007defc;\n          uVar9 = uVar10 + 3;\n          __ptr[0x24] = uVar9;\n          bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);\n          if (bVar19 < 0x28) {\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }\n        }" if (parenthesized_expression "(*(char *)((int)__ptr + uVar10 + 0x99) == '\x01')" ( (binary_expression "*(char *)((int)__ptr + uVar10 + 0x99) == '\x01'" (pointer_expression "*(char *)((int)__ptr + uVar10 + 0x99)" * (cast_expression "(char *)((int)__ptr + uVar10 + 0x99)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr + uVar10 + 0x99)" ( (binary_expression "(int)__ptr + uVar10 + 0x99" (binary_expression "(int)__ptr + uVar10" (cast_expression "(int)__ptr" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n          if (uVar10 + 2 == uVar7) goto LAB_0007defc;\n          uVar9 = uVar10 + 3;\n          __ptr[0x24] = uVar9;\n          bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);\n          if (bVar19 < 0x28) {\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }\n        }" { (if_statement "if (uVar10 + 2 == uVar7) goto LAB_0007defc;" if (parenthesized_expression "(uVar10 + 2 == uVar7)" ( (binary_expression "uVar10 + 2 == uVar7" (binary_expression "uVar10 + 2" identifier + number_literal) == identifier) )) (goto_statement "goto LAB_0007defc;" goto statement_identifier ;)) (expression_statement "uVar9 = uVar10 + 3;" (assignment_expression "uVar9 = uVar10 + 3" identifier = (binary_expression "uVar10 + 3" identifier + number_literal)) ;) (expression_statement "__ptr[0x24] = uVar9;" (assignment_expression "__ptr[0x24] = uVar9" (subscript_expression "__ptr[0x24]" identifier [ number_literal ]) = identifier) ;) (expression_statement "bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);" (assignment_expression "bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a)" identifier = (pointer_expression "*(byte *)((int)__ptr + uVar10 + 0x9a)" * (cast_expression "(byte *)((int)__ptr + uVar10 + 0x9a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr + uVar10 + 0x9a)" ( (binary_expression "(int)__ptr + uVar10 + 0x9a" (binary_expression "(int)__ptr + uVar10" (cast_expression "(int)__ptr" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))))) ;) (if_statement "if (bVar19 < 0x28) {\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }" if (parenthesized_expression "(bVar19 < 0x28)" ( (binary_expression "bVar19 < 0x28" identifier < number_literal) )) (compound_statement "{\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }" { (expression_statement "uVar10 = __ptr[0x126];" (assignment_expression "uVar10 = __ptr[0x126]" identifier = (subscript_expression "__ptr[0x126]" identifier [ number_literal ])) ;) (expression_statement "uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);" (assignment_expression "uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f)" identifier = (binary_expression "(bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f)" (binary_expression "(bVar19 & 1) + 2" (parenthesized_expression "(bVar19 & 1)" ( (binary_expression "bVar19 & 1" identifier & number_literal) )) + number_literal) << (parenthesized_expression "((bVar19 >> 1) + 0xb & 0x1f)" ( (binary_expression "(bVar19 >> 1) + 0xb & 0x1f" (binary_expression "(bVar19 >> 1) + 0xb" (parenthesized_expression "(bVar19 >> 1)" ( (binary_expression "bVar19 >> 1" identifier >> number_literal) )) + number_literal) & number_literal) )))) ;) (expression_statement "*(uint *)(uVar10 + 0x30) = uVar18;" (assignment_expression "*(uint *)(uVar10 + 0x30) = uVar18" (pointer_expression "*(uint *)(uVar10 + 0x30)" * (cast_expression "(uint *)(uVar10 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 + 0x30)" ( (binary_expression "uVar10 + 0x30" identifier + number_literal) )))) = identifier) ;) (if_statement "if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }" if (parenthesized_expression "(*(uint *)(uVar10 + 0x34) < uVar18)" ( (binary_expression "*(uint *)(uVar10 + 0x34) < uVar18" (pointer_expression "*(uint *)(uVar10 + 0x34)" * (cast_expression "(uint *)(uVar10 + 0x34)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 + 0x34)" ( (binary_expression "uVar10 + 0x34" identifier + number_literal) )))) < identifier) )) (compound_statement "{\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }" { (expression_statement "iVar5 = *(int *)((int)pppuVar13 + 0x44);" (assignment_expression "iVar5 = *(int *)((int)pppuVar13 + 0x44)" identifier = (pointer_expression "*(int *)((int)pppuVar13 + 0x44)" * (cast_expression "(int *)((int)pppuVar13 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x44)" ( (binary_expression "(int)pppuVar13 + 0x44" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar8 = 4;" (assignment_expression "iVar8 = 4" identifier = number_literal) ;) (goto_statement "goto LAB_0007df05;" goto statement_identifier ;) })) (expression_statement "*(uint *)(uVar10 + 0x2c) = uVar18;" (assignment_expression "*(uint *)(uVar10 + 0x2c) = uVar18" (pointer_expression "*(uint *)(uVar10 + 0x2c)" * (cast_expression "(uint *)(uVar10 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 + 0x2c)" ( (binary_expression "uVar10 + 0x2c" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }" if (parenthesized_expression "((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18))" ( (binary_expression "(*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)" (parenthesized_expression "(*(int *)(uVar10 + 0x3c) == 2)" ( (binary_expression "*(int *)(uVar10 + 0x3c) == 2" (pointer_expression "*(int *)(uVar10 + 0x3c)" * (cast_expression "(int *)(uVar10 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 + 0x3c)" ( (binary_expression "uVar10 + 0x3c" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(*(uint *)(uVar10 + 0x38) < uVar18)" ( (binary_expression "*(uint *)(uVar10 + 0x38) < uVar18" (pointer_expression "*(uint *)(uVar10 + 0x38)" * (cast_expression "(uint *)(uVar10 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 + 0x38)" ( (binary_expression "uVar10 + 0x38" identifier + number_literal) )))) < identifier) ))) )) (compound_statement "{\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }" { (expression_statement "*(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18)" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -0x10)" * (cast_expression "(undefined4 *)((int)pppuVar13 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -0x10)" ( (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(uVar10 + 0x18)" * (cast_expression "(undefined4 *)(uVar10 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 + 0x18)" ( (binary_expression "uVar10 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -0x14)" * (cast_expression "(undefined4 *)((int)pppuVar13 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -0x14)" ( (binary_expression "(int)pppuVar13 + -0x14" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)pppuVar13 + -0x10));" (call_expression "free(*(void **)((int)pppuVar13 + -0x10))" identifier (argument_list "(*(void **)((int)pppuVar13 + -0x10))" ( (pointer_expression "*(void **)((int)pppuVar13 + -0x10)" * (cast_expression "(void **)((int)pppuVar13 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppuVar13 + -0x10)" ( (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30)" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -0x10)" * (cast_expression "(undefined4 *)((int)pppuVar13 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -0x10)" ( (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(uVar10 + 0x30)" * (cast_expression "(undefined4 *)(uVar10 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 + 0x30)" ( (binary_expression "uVar10 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -0x14)" * (cast_expression "(undefined4 *)((int)pppuVar13 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -0x14)" ( (binary_expression "(int)pppuVar13 + -0x14" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));" (assignment_expression "pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10))" identifier = (call_expression "malloc(*(size_t *)((int)pppuVar13 + -0x10))" identifier (argument_list "(*(size_t *)((int)pppuVar13 + -0x10))" ( (pointer_expression "*(size_t *)((int)pppuVar13 + -0x10)" * (cast_expression "(size_t *)((int)pppuVar13 + -0x10)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -0x10)" ( (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(void **)(uVar10 + 0x18) = pvVar4;" (assignment_expression "*(void **)(uVar10 + 0x18) = pvVar4" (pointer_expression "*(void **)(uVar10 + 0x18)" * (cast_expression "(void **)(uVar10 + 0x18)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(uVar10 + 0x18)" ( (binary_expression "uVar10 + 0x18" identifier + number_literal) )))) = identifier) ;) (if_statement "if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }" if (parenthesized_expression "(pvVar4 == (void *)0x0)" ( (binary_expression "pvVar4 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }" { (expression_statement "*(undefined4 *)(uVar10 + 0x38) = 0;" (assignment_expression "*(undefined4 *)(uVar10 + 0x38) = 0" (pointer_expression "*(undefined4 *)(uVar10 + 0x38)" * (cast_expression "(undefined4 *)(uVar10 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 + 0x38)" ( (binary_expression "uVar10 + 0x38" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(__ptr + 9) = 0;" (assignment_expression "*(undefined1 *)(__ptr + 9) = 0" (pointer_expression "*(undefined1 *)(__ptr + 9)" * (cast_expression "(undefined1 *)(__ptr + 9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(__ptr + 9)" ( (binary_expression "__ptr + 9" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;" if (parenthesized_expression "(*(int *)((int)pppuVar13 + 0x44) == 0)" ( (binary_expression "*(int *)((int)pppuVar13 + 0x44) == 0" (pointer_expression "*(int *)((int)pppuVar13 + 0x44)" * (cast_expression "(int *)((int)pppuVar13 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x44)" ( (binary_expression "(int)pppuVar13 + 0x44" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0007dd1d;" goto statement_identifier ;)) (expression_statement "iVar8 = 3;" (assignment_expression "iVar8 = 3" identifier = number_literal) ;) (goto_statement "goto LAB_0007de61;" goto statement_identifier ;) })) (expression_statement "uVar7 = __ptr[0x25];" (assignment_expression "uVar7 = __ptr[0x25]" identifier = (subscript_expression "__ptr[0x25]" identifier [ number_literal ])) ;) (expression_statement "uVar9 = __ptr[0x24];" (assignment_expression "uVar9 = __ptr[0x24]" identifier = (subscript_expression "__ptr[0x24]" identifier [ number_literal ])) ;) })) (expression_statement "*(undefined4 *)(uVar10 + 0x68) = 0;" (assignment_expression "*(undefined4 *)(uVar10 + 0x68) = 0" (pointer_expression "*(undefined4 *)(uVar10 + 0x68)" * (cast_expression "(undefined4 *)(uVar10 + 0x68)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 + 0x68)" ( (binary_expression "uVar10 + 0x68" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(uVar10 + 0x40) = 0;" (assignment_expression "*(undefined4 *)(uVar10 + 0x40) = 0" (pointer_expression "*(undefined4 *)(uVar10 + 0x40)" * (cast_expression "(undefined4 *)(uVar10 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 + 0x40)" ( (binary_expression "uVar10 + 0x40" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(uVar10 + 0x50) = 1;" (assignment_expression "*(undefined1 *)(uVar10 + 0x50) = 1" (pointer_expression "*(undefined1 *)(uVar10 + 0x50)" * (cast_expression "(undefined1 *)(uVar10 + 0x50)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 + 0x50)" ( (binary_expression "uVar10 + 0x50" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(uVar10 + 0x6ee4) = 0;" (assignment_expression "*(undefined4 *)(uVar10 + 0x6ee4) = 0" (pointer_expression "*(undefined4 *)(uVar10 + 0x6ee4)" * (cast_expression "(undefined4 *)(uVar10 + 0x6ee4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 + 0x6ee4)" ( (binary_expression "uVar10 + 0x6ee4" identifier + number_literal) )))) = number_literal) ;) (while_statement "while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }" while (parenthesized_expression "(uVar9 < uVar7)" ( (binary_expression "uVar9 < uVar7" identifier < identifier) )) (compound_statement "{\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }" { (expression_statement "__ptr[0x24] = uVar9 + 1;" (assignment_expression "__ptr[0x24] = uVar9 + 1" (subscript_expression "__ptr[0x24]" identifier [ number_literal ]) = (binary_expression "uVar9 + 1" identifier + number_literal)) ;) (expression_statement "iVar8 = uVar9 + 0x98;" (assignment_expression "iVar8 = uVar9 + 0x98" identifier = (binary_expression "uVar9 + 0x98" identifier + number_literal)) ;) (expression_statement "uVar9 = uVar9 + 1;" (assignment_expression "uVar9 = uVar9 + 1" identifier = (binary_expression "uVar9 + 1" identifier + number_literal)) ;) (if_statement "if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;" if (parenthesized_expression "(*(char *)((int)__ptr + iVar8) != '\0')" ( (binary_expression "*(char *)((int)__ptr + iVar8) != '\0'" (pointer_expression "*(char *)((int)__ptr + iVar8)" * (cast_expression "(char *)((int)__ptr + iVar8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr + iVar8)" ( (binary_expression "(int)__ptr + iVar8" (cast_expression "(int)__ptr" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0007e4e9;" goto statement_identifier ;)) })) (expression_statement "__ptr[0x24] = 0;" (assignment_expression "__ptr[0x24] = 0" (subscript_expression "__ptr[0x24]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "__ptr[0xf] = 0;" (assignment_expression "__ptr[0xf] = 0" (subscript_expression "__ptr[0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "__ptr[0x10] = 0;" (assignment_expression "__ptr[0x10] = 0" (subscript_expression "__ptr[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "__ptr[0x11] = 0;" (assignment_expression "__ptr[0x11] = 0" (subscript_expression "__ptr[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "__ptr[0x12] = 0;" (assignment_expression "__ptr[0x12] = 0" (subscript_expression "__ptr[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*__ptr = 3;" (assignment_expression "*__ptr = 3" (pointer_expression "*__ptr" * identifier) = number_literal) ;) (goto_statement "goto switchD_0007dbdb_caseD_7e21b;" goto statement_identifier ;) })) })) })) })) (break_statement "break;" break ;)) (case_statement "case 0x7e21b:\nswitchD_0007dbdb_caseD_7e21b:\n    __ptr[4] = ((int *)pppuVar13)[0xe];\n    __ptr[5] = ((int *)pppuVar13)[0x11];\n    ((int *)pppuVar13)[-1] = 0x7e238;\n    iVar8 = FUN_0007d17c();\n    ((int *)pppuVar13)[7] = iVar8;\n    uVar9 = (((int *)pppuVar13)[0xe] - __ptr[4]) + __ptr[0xf];\n    uVar18 = __ptr[0x10] + (uint)CARRY4(((int *)pppuVar13)[0xe] - __ptr[4],__ptr[0xf]);\n    __ptr[0xf] = uVar9;\n    __ptr[0x10] = uVar18;\n    iVar5 = ((int *)pppuVar13)[0x11];\n    uVar7 = __ptr[5];\n    ((int *)pppuVar13)[9] = uVar7;\n    uVar7 = iVar5 - uVar7;\n    ((int *)pppuVar13)[10] = uVar7;\n    uVar10 = uVar7 + __ptr[0x11];\n    uVar7 = __ptr[0x12] + (uint)CARRY4(uVar7,__ptr[0x11]);\n    __ptr[0x11] = uVar10;\n    __ptr[0x12] = uVar7;\n    if ((uVar18 <= __ptr[0xb] && (uint)(__ptr[10] < uVar9) <= __ptr[0xb] - uVar18) &&\n       (uVar7 <= __ptr[0xd] && (uint)(__ptr[0xc] < uVar10) <= __ptr[0xd] - uVar7)) {\n      if (__ptr[7] == 1) {\n        ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n        ((int *)pppuVar13)[-5] = 0x7e2b9;\n        uVar7 = FUN_000a62f1();\n        __ptr[6] = ~uVar7;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n      }\n      if (((int *)pppuVar13)[7] == 1) {\n        piVar15 = (int *)pppuVar13;\n        if (((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||\n           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])) {\n          uVar7 = __ptr[0x11];\n          if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }\n        }\n        goto LAB_0007defc;\n      }\n      iVar8 = ((int *)pppuVar13)[7];\n      goto LAB_0007dfbc;\n    }\n    iVar8 = 7;\n    goto LAB_0007df05;" case number_literal : (labeled_statement "switchD_0007dbdb_caseD_7e21b:\n    __ptr[4] = ((int *)pppuVar13)[0xe];" statement_identifier : (expression_statement "__ptr[4] = ((int *)pppuVar13)[0xe];" (assignment_expression "__ptr[4] = ((int *)pppuVar13)[0xe]" (subscript_expression "__ptr[4]" identifier [ number_literal ]) = (subscript_expression "((int *)pppuVar13)[0xe]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ;)) (expression_statement "__ptr[5] = ((int *)pppuVar13)[0x11];" (assignment_expression "__ptr[5] = ((int *)pppuVar13)[0x11]" (subscript_expression "__ptr[5]" identifier [ number_literal ]) = (subscript_expression "((int *)pppuVar13)[0x11]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ;) (expression_statement "((int *)pppuVar13)[-1] = 0x7e238;" (assignment_expression "((int *)pppuVar13)[-1] = 0x7e238" (subscript_expression "((int *)pppuVar13)[-1]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "iVar8 = FUN_0007d17c();" (assignment_expression "iVar8 = FUN_0007d17c()" identifier = (call_expression "FUN_0007d17c()" identifier (argument_list "()" ( )))) ;) (expression_statement "((int *)pppuVar13)[7] = iVar8;" (assignment_expression "((int *)pppuVar13)[7] = iVar8" (subscript_expression "((int *)pppuVar13)[7]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = identifier) ;) (expression_statement "uVar9 = (((int *)pppuVar13)[0xe] - __ptr[4]) + __ptr[0xf];" (assignment_expression "uVar9 = (((int *)pppuVar13)[0xe] - __ptr[4]) + __ptr[0xf]" identifier = (binary_expression "(((int *)pppuVar13)[0xe] - __ptr[4]) + __ptr[0xf]" (parenthesized_expression "(((int *)pppuVar13)[0xe] - __ptr[4])" ( (binary_expression "((int *)pppuVar13)[0xe] - __ptr[4]" (subscript_expression "((int *)pppuVar13)[0xe]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) - (subscript_expression "__ptr[4]" identifier [ number_literal ])) )) + (subscript_expression "__ptr[0xf]" identifier [ number_literal ]))) ;) (expression_statement "uVar18 = __ptr[0x10] + (uint)CARRY4(((int *)pppuVar13)[0xe] - __ptr[4],__ptr[0xf]);" (assignment_expression "uVar18 = __ptr[0x10] + (uint)CARRY4(((int *)pppuVar13)[0xe] - __ptr[4],__ptr[0xf])" identifier = (binary_expression "__ptr[0x10] + (uint)CARRY4(((int *)pppuVar13)[0xe] - __ptr[4],__ptr[0xf])" (subscript_expression "__ptr[0x10]" identifier [ number_literal ]) + (cast_expression "(uint)CARRY4(((int *)pppuVar13)[0xe] - __ptr[4],__ptr[0xf])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(((int *)pppuVar13)[0xe] - __ptr[4],__ptr[0xf])" identifier (argument_list "(((int *)pppuVar13)[0xe] - __ptr[4],__ptr[0xf])" ( (binary_expression "((int *)pppuVar13)[0xe] - __ptr[4]" (subscript_expression "((int *)pppuVar13)[0xe]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) - (subscript_expression "__ptr[4]" identifier [ number_literal ])) , (subscript_expression "__ptr[0xf]" identifier [ number_literal ]) )))))) ;) (expression_statement "__ptr[0xf] = uVar9;" (assignment_expression "__ptr[0xf] = uVar9" (subscript_expression "__ptr[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__ptr[0x10] = uVar18;" (assignment_expression "__ptr[0x10] = uVar18" (subscript_expression "__ptr[0x10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar5 = ((int *)pppuVar13)[0x11];" (assignment_expression "iVar5 = ((int *)pppuVar13)[0x11]" identifier = (subscript_expression "((int *)pppuVar13)[0x11]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ;) (expression_statement "uVar7 = __ptr[5];" (assignment_expression "uVar7 = __ptr[5]" identifier = (subscript_expression "__ptr[5]" identifier [ number_literal ])) ;) (expression_statement "((int *)pppuVar13)[9] = uVar7;" (assignment_expression "((int *)pppuVar13)[9] = uVar7" (subscript_expression "((int *)pppuVar13)[9]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = identifier) ;) (expression_statement "uVar7 = iVar5 - uVar7;" (assignment_expression "uVar7 = iVar5 - uVar7" identifier = (binary_expression "iVar5 - uVar7" identifier - identifier)) ;) (expression_statement "((int *)pppuVar13)[10] = uVar7;" (assignment_expression "((int *)pppuVar13)[10] = uVar7" (subscript_expression "((int *)pppuVar13)[10]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = identifier) ;) (expression_statement "uVar10 = uVar7 + __ptr[0x11];" (assignment_expression "uVar10 = uVar7 + __ptr[0x11]" identifier = (binary_expression "uVar7 + __ptr[0x11]" identifier + (subscript_expression "__ptr[0x11]" identifier [ number_literal ]))) ;) (expression_statement "uVar7 = __ptr[0x12] + (uint)CARRY4(uVar7,__ptr[0x11]);" (assignment_expression "uVar7 = __ptr[0x12] + (uint)CARRY4(uVar7,__ptr[0x11])" identifier = (binary_expression "__ptr[0x12] + (uint)CARRY4(uVar7,__ptr[0x11])" (subscript_expression "__ptr[0x12]" identifier [ number_literal ]) + (cast_expression "(uint)CARRY4(uVar7,__ptr[0x11])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar7,__ptr[0x11])" identifier (argument_list "(uVar7,__ptr[0x11])" ( identifier , (subscript_expression "__ptr[0x11]" identifier [ number_literal ]) )))))) ;) (expression_statement "__ptr[0x11] = uVar10;" (assignment_expression "__ptr[0x11] = uVar10" (subscript_expression "__ptr[0x11]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__ptr[0x12] = uVar7;" (assignment_expression "__ptr[0x12] = uVar7" (subscript_expression "__ptr[0x12]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((uVar18 <= __ptr[0xb] && (uint)(__ptr[10] < uVar9) <= __ptr[0xb] - uVar18) &&\n       (uVar7 <= __ptr[0xd] && (uint)(__ptr[0xc] < uVar10) <= __ptr[0xd] - uVar7)) {\n      if (__ptr[7] == 1) {\n        ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n        ((int *)pppuVar13)[-5] = 0x7e2b9;\n        uVar7 = FUN_000a62f1();\n        __ptr[6] = ~uVar7;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n      }\n      if (((int *)pppuVar13)[7] == 1) {\n        piVar15 = (int *)pppuVar13;\n        if (((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||\n           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])) {\n          uVar7 = __ptr[0x11];\n          if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }\n        }\n        goto LAB_0007defc;\n      }\n      iVar8 = ((int *)pppuVar13)[7];\n      goto LAB_0007dfbc;\n    }" if (parenthesized_expression "((uVar18 <= __ptr[0xb] && (uint)(__ptr[10] < uVar9) <= __ptr[0xb] - uVar18) &&\n       (uVar7 <= __ptr[0xd] && (uint)(__ptr[0xc] < uVar10) <= __ptr[0xd] - uVar7))" ( (binary_expression "(uVar18 <= __ptr[0xb] && (uint)(__ptr[10] < uVar9) <= __ptr[0xb] - uVar18) &&\n       (uVar7 <= __ptr[0xd] && (uint)(__ptr[0xc] < uVar10) <= __ptr[0xd] - uVar7)" (parenthesized_expression "(uVar18 <= __ptr[0xb] && (uint)(__ptr[10] < uVar9) <= __ptr[0xb] - uVar18)" ( (binary_expression "uVar18 <= __ptr[0xb] && (uint)(__ptr[10] < uVar9) <= __ptr[0xb] - uVar18" (binary_expression "uVar18 <= __ptr[0xb]" identifier <= (subscript_expression "__ptr[0xb]" identifier [ number_literal ])) && (binary_expression "(uint)(__ptr[10] < uVar9) <= __ptr[0xb] - uVar18" (call_expression "(uint)(__ptr[10] < uVar9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(__ptr[10] < uVar9)" ( (binary_expression "__ptr[10] < uVar9" (subscript_expression "__ptr[10]" identifier [ number_literal ]) < identifier) ))) <= (binary_expression "__ptr[0xb] - uVar18" (subscript_expression "__ptr[0xb]" identifier [ number_literal ]) - identifier))) )) && (parenthesized_expression "(uVar7 <= __ptr[0xd] && (uint)(__ptr[0xc] < uVar10) <= __ptr[0xd] - uVar7)" ( (binary_expression "uVar7 <= __ptr[0xd] && (uint)(__ptr[0xc] < uVar10) <= __ptr[0xd] - uVar7" (binary_expression "uVar7 <= __ptr[0xd]" identifier <= (subscript_expression "__ptr[0xd]" identifier [ number_literal ])) && (binary_expression "(uint)(__ptr[0xc] < uVar10) <= __ptr[0xd] - uVar7" (call_expression "(uint)(__ptr[0xc] < uVar10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(__ptr[0xc] < uVar10)" ( (binary_expression "__ptr[0xc] < uVar10" (subscript_expression "__ptr[0xc]" identifier [ number_literal ]) < identifier) ))) <= (binary_expression "__ptr[0xd] - uVar7" (subscript_expression "__ptr[0xd]" identifier [ number_literal ]) - identifier))) ))) )) (compound_statement "{\n      if (__ptr[7] == 1) {\n        ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n        ((int *)pppuVar13)[-5] = 0x7e2b9;\n        uVar7 = FUN_000a62f1();\n        __ptr[6] = ~uVar7;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n      }\n      if (((int *)pppuVar13)[7] == 1) {\n        piVar15 = (int *)pppuVar13;\n        if (((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||\n           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])) {\n          uVar7 = __ptr[0x11];\n          if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }\n        }\n        goto LAB_0007defc;\n      }\n      iVar8 = ((int *)pppuVar13)[7];\n      goto LAB_0007dfbc;\n    }" { (if_statement "if (__ptr[7] == 1) {\n        ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n        ((int *)pppuVar13)[-5] = 0x7e2b9;\n        uVar7 = FUN_000a62f1();\n        __ptr[6] = ~uVar7;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n      }" if (parenthesized_expression "(__ptr[7] == 1)" ( (binary_expression "__ptr[7] == 1" (subscript_expression "__ptr[7]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n        ((int *)pppuVar13)[-5] = 0x7e2b9;\n        uVar7 = FUN_000a62f1();\n        __ptr[6] = ~uVar7;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n      }" { (expression_statement "((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);" (assignment_expression "((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8)" (subscript_expression "((int *)pppuVar13)[-4]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (pointer_expression "*(undefined4 *)((int)*pppuVar13 + 0xcf8)" * (cast_expression "(undefined4 *)((int)*pppuVar13 + 0xcf8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*pppuVar13 + 0xcf8)" ( (binary_expression "(int)*pppuVar13 + 0xcf8" (cast_expression "(int)*pppuVar13" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppuVar13" * identifier)) + number_literal) ))))) ;) (expression_statement "((int *)pppuVar13)[-5] = 0x7e2b9;" (assignment_expression "((int *)pppuVar13)[-5] = 0x7e2b9" (subscript_expression "((int *)pppuVar13)[-5]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "uVar7 = FUN_000a62f1();" (assignment_expression "uVar7 = FUN_000a62f1()" identifier = (call_expression "FUN_000a62f1()" identifier (argument_list "()" ( )))) ;) (expression_statement "__ptr[6] = ~uVar7;" (assignment_expression "__ptr[6] = ~uVar7" (subscript_expression "__ptr[6]" identifier [ number_literal ]) = (unary_expression "~uVar7" ~ identifier)) ;) (expression_statement "pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);" (assignment_expression "pppuVar13 = (undefined ***)((int *)pppuVar13 + -1)" identifier = (cast_expression "(undefined ***)((int *)pppuVar13 + -1)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int *)pppuVar13 + -1)" ( (binary_expression "(int *)pppuVar13 + -1" (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) })) (if_statement "if (((int *)pppuVar13)[7] == 1) {\n        piVar15 = (int *)pppuVar13;\n        if (((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||\n           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])) {\n          uVar7 = __ptr[0x11];\n          if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }\n        }\n        goto LAB_0007defc;\n      }" if (parenthesized_expression "(((int *)pppuVar13)[7] == 1)" ( (binary_expression "((int *)pppuVar13)[7] == 1" (subscript_expression "((int *)pppuVar13)[7]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) == number_literal) )) (compound_statement "{\n        piVar15 = (int *)pppuVar13;\n        if (((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||\n           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])) {\n          uVar7 = __ptr[0x11];\n          if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }\n        }\n        goto LAB_0007defc;\n      }" { (expression_statement "piVar15 = (int *)pppuVar13;" (assignment_expression "piVar15 = (int *)pppuVar13" identifier = (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||\n           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])) {\n          uVar7 = __ptr[0x11];\n          if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }\n        }" if (parenthesized_expression "(((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||\n           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf]))" ( (binary_expression "((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||\n           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])" (parenthesized_expression "((__ptr[0xb] & __ptr[10]) == 0xffffffff)" ( (binary_expression "(__ptr[0xb] & __ptr[10]) == 0xffffffff" (parenthesized_expression "(__ptr[0xb] & __ptr[10])" ( (binary_expression "__ptr[0xb] & __ptr[10]" (subscript_expression "__ptr[0xb]" identifier [ number_literal ]) & (subscript_expression "__ptr[10]" identifier [ number_literal ])) )) == number_literal) )) || (parenthesized_expression "(__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])" ( (binary_expression "__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf]" (binary_expression "__ptr[0xb] == __ptr[0x10]" (subscript_expression "__ptr[0xb]" identifier [ number_literal ]) == (subscript_expression "__ptr[0x10]" identifier [ number_literal ])) && (binary_expression "__ptr[10] == __ptr[0xf]" (subscript_expression "__ptr[10]" identifier [ number_literal ]) == (subscript_expression "__ptr[0xf]" identifier [ number_literal ]))) ))) )) (compound_statement "{\n          uVar7 = __ptr[0x11];\n          if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }\n        }" { (expression_statement "uVar7 = __ptr[0x11];" (assignment_expression "uVar7 = __ptr[0x11]" identifier = (subscript_expression "__ptr[0x11]" identifier [ number_literal ])) ;) (if_statement "if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }" if (parenthesized_expression "(((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7))" ( (binary_expression "((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)" (parenthesized_expression "((__ptr[0xd] & __ptr[0xc]) == 0xffffffff)" ( (binary_expression "(__ptr[0xd] & __ptr[0xc]) == 0xffffffff" (parenthesized_expression "(__ptr[0xd] & __ptr[0xc])" ( (binary_expression "__ptr[0xd] & __ptr[0xc]" (subscript_expression "__ptr[0xd]" identifier [ number_literal ]) & (subscript_expression "__ptr[0xc]" identifier [ number_literal ])) )) == number_literal) )) || (parenthesized_expression "(__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)" ( (binary_expression "__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7" (binary_expression "__ptr[0xd] == __ptr[0x12]" (subscript_expression "__ptr[0xd]" identifier [ number_literal ]) == (subscript_expression "__ptr[0x12]" identifier [ number_literal ])) && (binary_expression "__ptr[0xc] == uVar7" (subscript_expression "__ptr[0xc]" identifier [ number_literal ]) == identifier)) ))) )) (compound_statement "{\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }" { (expression_statement "uVar10 = __ptr[0x15];" (assignment_expression "uVar10 = __ptr[0x15]" identifier = (subscript_expression "__ptr[0x15]" identifier [ number_literal ])) ;) (expression_statement "uVar18 = __ptr[0xf] + __ptr[0x15];" (assignment_expression "uVar18 = __ptr[0xf] + __ptr[0x15]" identifier = (binary_expression "__ptr[0xf] + __ptr[0x15]" (subscript_expression "__ptr[0xf]" identifier [ number_literal ]) + (subscript_expression "__ptr[0x15]" identifier [ number_literal ]))) ;) (expression_statement "uVar9 = __ptr[0xe] + uVar18;" (assignment_expression "uVar9 = __ptr[0xe] + uVar18" identifier = (binary_expression "__ptr[0xe] + uVar18" (subscript_expression "__ptr[0xe]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);" (assignment_expression "bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7])" identifier = (pointer_expression "*(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7])" * (cast_expression "(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7])" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*pppuVar13 + -0x154a8 + __ptr[7])" ( (binary_expression "(int)*pppuVar13 + -0x154a8 + __ptr[7]" (binary_expression "(int)*pppuVar13 + -0x154a8" (cast_expression "(int)*pppuVar13" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppuVar13" * identifier)) + number_literal) + (subscript_expression "__ptr[7]" identifier [ number_literal ])) ))))) ;) (expression_statement "__ptr[0x15] = uVar9 + bVar19;" (assignment_expression "__ptr[0x15] = uVar9 + bVar19" (subscript_expression "__ptr[0x15]" identifier [ number_literal ]) = (binary_expression "uVar9 + bVar19" identifier + identifier)) ;) (expression_statement "__ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);" (assignment_expression "__ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19)" (subscript_expression "__ptr[0x16]" identifier [ number_literal ]) = (binary_expression "__ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19)" (binary_expression "__ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18)" (binary_expression "__ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10)" (binary_expression "__ptr[0x10] + __ptr[0x16]" (subscript_expression "__ptr[0x10]" identifier [ number_literal ]) + (subscript_expression "__ptr[0x16]" identifier [ number_literal ])) + (cast_expression "(uint)CARRY4(__ptr[0xf],uVar10)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(__ptr[0xf],uVar10)" identifier (argument_list "(__ptr[0xf],uVar10)" ( (subscript_expression "__ptr[0xf]" identifier [ number_literal ]) , identifier ))))) + (cast_expression "(uint)CARRY4(__ptr[0xe],uVar18)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(__ptr[0xe],uVar18)" identifier (argument_list "(__ptr[0xe],uVar18)" ( (subscript_expression "__ptr[0xe]" identifier [ number_literal ]) , identifier ))))) + (cast_expression "(uint)CARRY4(uVar9,(uint)bVar19)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar9,(uint)bVar19)" identifier (argument_list "(uVar9,(uint)bVar19)" ( identifier , (cast_expression "(uint)bVar19" ( (type_descriptor "uint" type_identifier) ) identifier) )))))) ;) (expression_statement "puVar1 = __ptr + 0x17;" (assignment_expression "puVar1 = __ptr + 0x17" identifier = (binary_expression "__ptr + 0x17" identifier + number_literal)) ;) (expression_statement "uVar10 = *puVar1;" (assignment_expression "uVar10 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "*puVar1 = *puVar1 + uVar7;" (assignment_expression "*puVar1 = *puVar1 + uVar7" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 + uVar7" (pointer_expression "*puVar1" * identifier) + identifier)) ;) (expression_statement "__ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);" (assignment_expression "__ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7)" (subscript_expression "__ptr[0x18]" identifier [ number_literal ]) = (binary_expression "__ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7)" (binary_expression "__ptr[0x18] + __ptr[0x12]" (subscript_expression "__ptr[0x18]" identifier [ number_literal ]) + (subscript_expression "__ptr[0x12]" identifier [ number_literal ])) + (cast_expression "(uint)CARRY4(uVar10,uVar7)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar10,uVar7)" identifier (argument_list "(uVar10,uVar7)" ( identifier , identifier )))))) ;) (expression_statement "((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);" (assignment_expression "((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8)" (subscript_expression "((int *)pppuVar13)[-4]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (pointer_expression "*(undefined4 *)((int)*pppuVar13 + 0xcf8)" * (cast_expression "(undefined4 *)((int)*pppuVar13 + 0xcf8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*pppuVar13 + 0xcf8)" ( (binary_expression "(int)*pppuVar13 + 0xcf8" (cast_expression "(int)*pppuVar13" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppuVar13" * identifier)) + number_literal) ))))) ;) (expression_statement "((int *)pppuVar13)[-5] = 0x7e349;" (assignment_expression "((int *)pppuVar13)[-5] = 0x7e349" (subscript_expression "((int *)pppuVar13)[-5]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "uVar7 = FUN_000a62f1();" (assignment_expression "uVar7 = FUN_000a62f1()" identifier = (call_expression "FUN_000a62f1()" identifier (argument_list "()" ( )))) ;) (expression_statement "__ptr[0x19] = ~uVar7;" (assignment_expression "__ptr[0x19] = ~uVar7" (subscript_expression "__ptr[0x19]" identifier [ number_literal ]) = (unary_expression "~uVar7" ~ identifier)) ;) (expression_statement "puVar1 = __ptr + 0x13;" (assignment_expression "puVar1 = __ptr + 0x13" identifier = (binary_expression "__ptr + 0x13" identifier + number_literal)) ;) (expression_statement "uVar7 = *puVar1;" (assignment_expression "uVar7 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "*puVar1 = *puVar1 + 1;" (assignment_expression "*puVar1 = *puVar1 + 1" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 + 1" (pointer_expression "*puVar1" * identifier) + number_literal)) ;) (expression_statement "__ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);" (assignment_expression "__ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7)" (subscript_expression "__ptr[0x14]" identifier [ number_literal ]) = (binary_expression "__ptr[0x14] + (uint)(0xfffffffe < uVar7)" (subscript_expression "__ptr[0x14]" identifier [ number_literal ]) + (call_expression "(uint)(0xfffffffe < uVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfffffffe < uVar7)" ( (binary_expression "0xfffffffe < uVar7" number_literal < identifier) ))))) ;) (expression_statement "*__ptr = 4;" (assignment_expression "*__ptr = 4" (pointer_expression "*__ptr" * identifier) = number_literal) ;) (expression_statement "pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);" (assignment_expression "pppuVar13 = (undefined ***)((int *)pppuVar13 + -1)" identifier = (cast_expression "(undefined ***)((int *)pppuVar13 + -1)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int *)pppuVar13 + -1)" ( (binary_expression "(int *)pppuVar13 + -1" (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (goto_statement "goto switchD_0007dbdb_caseD_7e360;" goto statement_identifier ;) })) })) (goto_statement "goto LAB_0007defc;" goto statement_identifier ;) })) (expression_statement "iVar8 = ((int *)pppuVar13)[7];" (assignment_expression "iVar8 = ((int *)pppuVar13)[7]" identifier = (subscript_expression "((int *)pppuVar13)[7]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ;) (goto_statement "goto LAB_0007dfbc;" goto statement_identifier ;) })) (expression_statement "iVar8 = 7;" (assignment_expression "iVar8 = 7" identifier = number_literal) ;) (goto_statement "goto LAB_0007df05;" goto statement_identifier ;)) (case_statement "case 0x7e360:\nswitchD_0007dbdb_caseD_7e360:\n    uVar10 = __ptr[0xf];\n    uVar9 = __ptr[0x10];\n    if ((uVar10 & 3) != 0) {\n      uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n      uVar7 = *(uint *)((int)pppuVar13 + 0x3c);\n      if (uVar18 == uVar7) goto LAB_0007dd85;\n      iVar8 = *(int *)((int)pppuVar13 + 0x34);\n      *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n      piVar15 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      uVar9 = uVar9 + (0xfffffffe < uVar10);\n      while( true ) {\n        uVar10 = uVar10 + 1;\n        __ptr[0xf] = uVar10;\n        __ptr[0x10] = uVar9;\n        if ((uVar10 & 3) == 0) break;\n        uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n        uVar9 = uVar9 + (0xfffffffe < uVar10);\n        if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      }\n    }\n    *__ptr = 5;\n    piVar14 = (int *)pppuVar13;\nswitchD_0007dbdb_caseD_7e3b0:\n    pppuVar13 = (undefined ***)piVar14;\n    if (__ptr[7] == 1) {\n      uVar10 = piVar14[0xf];\n      iVar8 = piVar14[0xd];\n      uVar7 = piVar14[0xe];\n      do {\n        if (uVar10 == uVar7) goto LAB_0007dd85;\n        uVar9 = __ptr[1];\n        uVar18 = __ptr[6];\n        uVar7 = uVar7 + 1;\n        piVar14[0xe] = uVar7;\n        if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))\n        goto LAB_0007dcff;\n        uVar9 = uVar9 + 8;\n        __ptr[1] = uVar9;\n      } while (uVar9 < 0x20);\n      __ptr[6] = 0;\n      __ptr[1] = 0;\n    }\n    else {\n      uVar10 = __ptr[1];\n      uVar9 = (uint)*(byte *)(*piVar14 + -0x154a8 + __ptr[7]);\n      if (uVar10 < uVar9) {\n        uVar18 = piVar14[0xe];\n        uVar7 = piVar14[0xf];\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        uVar11 = uVar18;\n        while( true ) {\n          uVar11 = uVar11 + 1;\n          if (uVar11 == (uVar18 - uVar10) + uVar9) break;\n          if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }\n        }\n        piVar14[0xe] = uVar11;\n      }\n      __ptr[1] = 0;\n    }\n    *__ptr = 1;\n    uVar7 = 1;\n    goto LAB_0007dbcf;" case number_literal : (labeled_statement "switchD_0007dbdb_caseD_7e360:\n    uVar10 = __ptr[0xf];" statement_identifier : (expression_statement "uVar10 = __ptr[0xf];" (assignment_expression "uVar10 = __ptr[0xf]" identifier = (subscript_expression "__ptr[0xf]" identifier [ number_literal ])) ;)) (expression_statement "uVar9 = __ptr[0x10];" (assignment_expression "uVar9 = __ptr[0x10]" identifier = (subscript_expression "__ptr[0x10]" identifier [ number_literal ])) ;) (if_statement "if ((uVar10 & 3) != 0) {\n      uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n      uVar7 = *(uint *)((int)pppuVar13 + 0x3c);\n      if (uVar18 == uVar7) goto LAB_0007dd85;\n      iVar8 = *(int *)((int)pppuVar13 + 0x34);\n      *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n      piVar15 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      uVar9 = uVar9 + (0xfffffffe < uVar10);\n      while( true ) {\n        uVar10 = uVar10 + 1;\n        __ptr[0xf] = uVar10;\n        __ptr[0x10] = uVar9;\n        if ((uVar10 & 3) == 0) break;\n        uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n        uVar9 = uVar9 + (0xfffffffe < uVar10);\n        if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      }\n    }" if (parenthesized_expression "((uVar10 & 3) != 0)" ( (binary_expression "(uVar10 & 3) != 0" (parenthesized_expression "(uVar10 & 3)" ( (binary_expression "uVar10 & 3" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n      uVar7 = *(uint *)((int)pppuVar13 + 0x3c);\n      if (uVar18 == uVar7) goto LAB_0007dd85;\n      iVar8 = *(int *)((int)pppuVar13 + 0x34);\n      *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n      piVar15 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      uVar9 = uVar9 + (0xfffffffe < uVar10);\n      while( true ) {\n        uVar10 = uVar10 + 1;\n        __ptr[0xf] = uVar10;\n        __ptr[0x10] = uVar9;\n        if ((uVar10 & 3) == 0) break;\n        uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n        uVar9 = uVar9 + (0xfffffffe < uVar10);\n        if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      }\n    }" { (expression_statement "uVar18 = *(uint *)((int)pppuVar13 + 0x38);" (assignment_expression "uVar18 = *(uint *)((int)pppuVar13 + 0x38)" identifier = (pointer_expression "*(uint *)((int)pppuVar13 + 0x38)" * (cast_expression "(uint *)((int)pppuVar13 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x38)" ( (binary_expression "(int)pppuVar13 + 0x38" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar7 = *(uint *)((int)pppuVar13 + 0x3c);" (assignment_expression "uVar7 = *(uint *)((int)pppuVar13 + 0x3c)" identifier = (pointer_expression "*(uint *)((int)pppuVar13 + 0x3c)" * (cast_expression "(uint *)((int)pppuVar13 + 0x3c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x3c)" ( (binary_expression "(int)pppuVar13 + 0x3c" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (uVar18 == uVar7) goto LAB_0007dd85;" if (parenthesized_expression "(uVar18 == uVar7)" ( (binary_expression "uVar18 == uVar7" identifier == identifier) )) (goto_statement "goto LAB_0007dd85;" goto statement_identifier ;)) (expression_statement "iVar8 = *(int *)((int)pppuVar13 + 0x34);" (assignment_expression "iVar8 = *(int *)((int)pppuVar13 + 0x34)" identifier = (pointer_expression "*(int *)((int)pppuVar13 + 0x34)" * (cast_expression "(int *)((int)pppuVar13 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x34)" ( (binary_expression "(int)pppuVar13 + 0x34" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;" (assignment_expression "*(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1" (pointer_expression "*(uint *)((int)pppuVar13 + 0x38)" * (cast_expression "(uint *)((int)pppuVar13 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x38)" ( (binary_expression "(int)pppuVar13 + 0x38" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "uVar18 + 1" identifier + number_literal)) ;) (expression_statement "piVar15 = (int *)pppuVar13;" (assignment_expression "piVar15 = (int *)pppuVar13" identifier = (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;" if (parenthesized_expression "(*(char *)(iVar8 + uVar18) != '\0')" ( (binary_expression "*(char *)(iVar8 + uVar18) != '\0'" (pointer_expression "*(char *)(iVar8 + uVar18)" * (cast_expression "(char *)(iVar8 + uVar18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + uVar18)" ( (binary_expression "iVar8 + uVar18" identifier + identifier) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0007defc;" goto statement_identifier ;)) (expression_statement "uVar9 = uVar9 + (0xfffffffe < uVar10);" (assignment_expression "uVar9 = uVar9 + (0xfffffffe < uVar10)" identifier = (binary_expression "uVar9 + (0xfffffffe < uVar10)" identifier + (parenthesized_expression "(0xfffffffe < uVar10)" ( (binary_expression "0xfffffffe < uVar10" number_literal < identifier) )))) ;) (while_statement "while( true ) {\n        uVar10 = uVar10 + 1;\n        __ptr[0xf] = uVar10;\n        __ptr[0x10] = uVar9;\n        if ((uVar10 & 3) == 0) break;\n        uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n        uVar9 = uVar9 + (0xfffffffe < uVar10);\n        if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        uVar10 = uVar10 + 1;\n        __ptr[0xf] = uVar10;\n        __ptr[0x10] = uVar9;\n        if ((uVar10 & 3) == 0) break;\n        uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n        uVar9 = uVar9 + (0xfffffffe < uVar10);\n        if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      }" { (expression_statement "uVar10 = uVar10 + 1;" (assignment_expression "uVar10 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (expression_statement "__ptr[0xf] = uVar10;" (assignment_expression "__ptr[0xf] = uVar10" (subscript_expression "__ptr[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__ptr[0x10] = uVar9;" (assignment_expression "__ptr[0x10] = uVar9" (subscript_expression "__ptr[0x10]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((uVar10 & 3) == 0) break;" if (parenthesized_expression "((uVar10 & 3) == 0)" ( (binary_expression "(uVar10 & 3) == 0" (parenthesized_expression "(uVar10 & 3)" ( (binary_expression "uVar10 & 3" identifier & number_literal) )) == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar18 = *(uint *)((int)pppuVar13 + 0x38);" (assignment_expression "uVar18 = *(uint *)((int)pppuVar13 + 0x38)" identifier = (pointer_expression "*(uint *)((int)pppuVar13 + 0x38)" * (cast_expression "(uint *)((int)pppuVar13 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x38)" ( (binary_expression "(int)pppuVar13 + 0x38" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (uVar18 == uVar7) goto LAB_0007dd85;" if (parenthesized_expression "(uVar18 == uVar7)" ( (binary_expression "uVar18 == uVar7" identifier == identifier) )) (goto_statement "goto LAB_0007dd85;" goto statement_identifier ;)) (expression_statement "*(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;" (assignment_expression "*(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1" (pointer_expression "*(uint *)((int)pppuVar13 + 0x38)" * (cast_expression "(uint *)((int)pppuVar13 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x38)" ( (binary_expression "(int)pppuVar13 + 0x38" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "uVar18 + 1" identifier + number_literal)) ;) (expression_statement "uVar9 = uVar9 + (0xfffffffe < uVar10);" (assignment_expression "uVar9 = uVar9 + (0xfffffffe < uVar10)" identifier = (binary_expression "uVar9 + (0xfffffffe < uVar10)" identifier + (parenthesized_expression "(0xfffffffe < uVar10)" ( (binary_expression "0xfffffffe < uVar10" number_literal < identifier) )))) ;) (if_statement "if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;" if (parenthesized_expression "(*(char *)(iVar8 + uVar18) != '\0')" ( (binary_expression "*(char *)(iVar8 + uVar18) != '\0'" (pointer_expression "*(char *)(iVar8 + uVar18)" * (cast_expression "(char *)(iVar8 + uVar18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + uVar18)" ( (binary_expression "iVar8 + uVar18" identifier + identifier) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0007defc;" goto statement_identifier ;)) })) })) (expression_statement "*__ptr = 5;" (assignment_expression "*__ptr = 5" (pointer_expression "*__ptr" * identifier) = number_literal) ;) (expression_statement "piVar14 = (int *)pppuVar13;" (assignment_expression "piVar14 = (int *)pppuVar13" identifier = (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (labeled_statement "switchD_0007dbdb_caseD_7e3b0:\n    pppuVar13 = (undefined ***)piVar14;" statement_identifier : (expression_statement "pppuVar13 = (undefined ***)piVar14;" (assignment_expression "pppuVar13 = (undefined ***)piVar14" identifier = (cast_expression "(undefined ***)piVar14" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;)) (if_statement "if (__ptr[7] == 1) {\n      uVar10 = piVar14[0xf];\n      iVar8 = piVar14[0xd];\n      uVar7 = piVar14[0xe];\n      do {\n        if (uVar10 == uVar7) goto LAB_0007dd85;\n        uVar9 = __ptr[1];\n        uVar18 = __ptr[6];\n        uVar7 = uVar7 + 1;\n        piVar14[0xe] = uVar7;\n        if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))\n        goto LAB_0007dcff;\n        uVar9 = uVar9 + 8;\n        __ptr[1] = uVar9;\n      } while (uVar9 < 0x20);\n      __ptr[6] = 0;\n      __ptr[1] = 0;\n    }\n    else {\n      uVar10 = __ptr[1];\n      uVar9 = (uint)*(byte *)(*piVar14 + -0x154a8 + __ptr[7]);\n      if (uVar10 < uVar9) {\n        uVar18 = piVar14[0xe];\n        uVar7 = piVar14[0xf];\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        uVar11 = uVar18;\n        while( true ) {\n          uVar11 = uVar11 + 1;\n          if (uVar11 == (uVar18 - uVar10) + uVar9) break;\n          if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }\n        }\n        piVar14[0xe] = uVar11;\n      }\n      __ptr[1] = 0;\n    }" if (parenthesized_expression "(__ptr[7] == 1)" ( (binary_expression "__ptr[7] == 1" (subscript_expression "__ptr[7]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      uVar10 = piVar14[0xf];\n      iVar8 = piVar14[0xd];\n      uVar7 = piVar14[0xe];\n      do {\n        if (uVar10 == uVar7) goto LAB_0007dd85;\n        uVar9 = __ptr[1];\n        uVar18 = __ptr[6];\n        uVar7 = uVar7 + 1;\n        piVar14[0xe] = uVar7;\n        if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))\n        goto LAB_0007dcff;\n        uVar9 = uVar9 + 8;\n        __ptr[1] = uVar9;\n      } while (uVar9 < 0x20);\n      __ptr[6] = 0;\n      __ptr[1] = 0;\n    }" { (expression_statement "uVar10 = piVar14[0xf];" (assignment_expression "uVar10 = piVar14[0xf]" identifier = (subscript_expression "piVar14[0xf]" identifier [ number_literal ])) ;) (expression_statement "iVar8 = piVar14[0xd];" (assignment_expression "iVar8 = piVar14[0xd]" identifier = (subscript_expression "piVar14[0xd]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = piVar14[0xe];" (assignment_expression "uVar7 = piVar14[0xe]" identifier = (subscript_expression "piVar14[0xe]" identifier [ number_literal ])) ;) (do_statement "do {\n        if (uVar10 == uVar7) goto LAB_0007dd85;\n        uVar9 = __ptr[1];\n        uVar18 = __ptr[6];\n        uVar7 = uVar7 + 1;\n        piVar14[0xe] = uVar7;\n        if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))\n        goto LAB_0007dcff;\n        uVar9 = uVar9 + 8;\n        __ptr[1] = uVar9;\n      } while (uVar9 < 0x20);" do (compound_statement "{\n        if (uVar10 == uVar7) goto LAB_0007dd85;\n        uVar9 = __ptr[1];\n        uVar18 = __ptr[6];\n        uVar7 = uVar7 + 1;\n        piVar14[0xe] = uVar7;\n        if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))\n        goto LAB_0007dcff;\n        uVar9 = uVar9 + 8;\n        __ptr[1] = uVar9;\n      }" { (if_statement "if (uVar10 == uVar7) goto LAB_0007dd85;" if (parenthesized_expression "(uVar10 == uVar7)" ( (binary_expression "uVar10 == uVar7" identifier == identifier) )) (goto_statement "goto LAB_0007dd85;" goto statement_identifier ;)) (expression_statement "uVar9 = __ptr[1];" (assignment_expression "uVar9 = __ptr[1]" identifier = (subscript_expression "__ptr[1]" identifier [ number_literal ])) ;) (expression_statement "uVar18 = __ptr[6];" (assignment_expression "uVar18 = __ptr[6]" identifier = (subscript_expression "__ptr[6]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = uVar7 + 1;" (assignment_expression "uVar7 = uVar7 + 1" identifier = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (expression_statement "piVar14[0xe] = uVar7;" (assignment_expression "piVar14[0xe] = uVar7" (subscript_expression "piVar14[0xe]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))\n        goto LAB_0007dcff;" if (parenthesized_expression "(*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))" ( (binary_expression "*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f))" (pointer_expression "*(char *)(iVar8 + -1 + uVar7)" * (cast_expression "(char *)(iVar8 + -1 + uVar7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + -1 + uVar7)" ( (binary_expression "iVar8 + -1 + uVar7" (binary_expression "iVar8 + -1" identifier + number_literal) + identifier) )))) != (cast_expression "(char)(uVar18 >> ((byte)uVar9 & 0x1f))" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar18 >> ((byte)uVar9 & 0x1f))" ( (binary_expression "uVar18 >> ((byte)uVar9 & 0x1f)" identifier >> (parenthesized_expression "((byte)uVar9 & 0x1f)" ( (binary_expression "(byte)uVar9 & 0x1f" (cast_expression "(byte)uVar9" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) )))) )) (goto_statement "goto LAB_0007dcff;" goto statement_identifier ;)) (expression_statement "uVar9 = uVar9 + 8;" (assignment_expression "uVar9 = uVar9 + 8" identifier = (binary_expression "uVar9 + 8" identifier + number_literal)) ;) (expression_statement "__ptr[1] = uVar9;" (assignment_expression "__ptr[1] = uVar9" (subscript_expression "__ptr[1]" identifier [ number_literal ]) = identifier) ;) }) while (parenthesized_expression "(uVar9 < 0x20)" ( (binary_expression "uVar9 < 0x20" identifier < number_literal) )) ;) (expression_statement "__ptr[6] = 0;" (assignment_expression "__ptr[6] = 0" (subscript_expression "__ptr[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "__ptr[1] = 0;" (assignment_expression "__ptr[1] = 0" (subscript_expression "__ptr[1]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n      uVar10 = __ptr[1];\n      uVar9 = (uint)*(byte *)(*piVar14 + -0x154a8 + __ptr[7]);\n      if (uVar10 < uVar9) {\n        uVar18 = piVar14[0xe];\n        uVar7 = piVar14[0xf];\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        uVar11 = uVar18;\n        while( true ) {\n          uVar11 = uVar11 + 1;\n          if (uVar11 == (uVar18 - uVar10) + uVar9) break;\n          if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }\n        }\n        piVar14[0xe] = uVar11;\n      }\n      __ptr[1] = 0;\n    }" else (compound_statement "{\n      uVar10 = __ptr[1];\n      uVar9 = (uint)*(byte *)(*piVar14 + -0x154a8 + __ptr[7]);\n      if (uVar10 < uVar9) {\n        uVar18 = piVar14[0xe];\n        uVar7 = piVar14[0xf];\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        uVar11 = uVar18;\n        while( true ) {\n          uVar11 = uVar11 + 1;\n          if (uVar11 == (uVar18 - uVar10) + uVar9) break;\n          if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }\n        }\n        piVar14[0xe] = uVar11;\n      }\n      __ptr[1] = 0;\n    }" { (expression_statement "uVar10 = __ptr[1];" (assignment_expression "uVar10 = __ptr[1]" identifier = (subscript_expression "__ptr[1]" identifier [ number_literal ])) ;) (expression_statement "uVar9 = (uint)*(byte *)(*piVar14 + -0x154a8 + __ptr[7]);" (assignment_expression "uVar9 = (uint)*(byte *)(*piVar14 + -0x154a8 + __ptr[7])" identifier = (binary_expression "(uint)*(byte *)(*piVar14 + -0x154a8 + __ptr[7])" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(*piVar14 + -0x154a8 + __ptr[7])" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar14 + -0x154a8 + __ptr[7])" ( (binary_expression "*piVar14 + -0x154a8 + __ptr[7]" (binary_expression "*piVar14 + -0x154a8" (pointer_expression "*piVar14" * identifier) + number_literal) + (subscript_expression "__ptr[7]" identifier [ number_literal ])) ))))) ;) (if_statement "if (uVar10 < uVar9) {\n        uVar18 = piVar14[0xe];\n        uVar7 = piVar14[0xf];\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        uVar11 = uVar18;\n        while( true ) {\n          uVar11 = uVar11 + 1;\n          if (uVar11 == (uVar18 - uVar10) + uVar9) break;\n          if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }\n        }\n        piVar14[0xe] = uVar11;\n      }" if (parenthesized_expression "(uVar10 < uVar9)" ( (binary_expression "uVar10 < uVar9" identifier < identifier) )) (compound_statement "{\n        uVar18 = piVar14[0xe];\n        uVar7 = piVar14[0xf];\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        uVar11 = uVar18;\n        while( true ) {\n          uVar11 = uVar11 + 1;\n          if (uVar11 == (uVar18 - uVar10) + uVar9) break;\n          if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }\n        }\n        piVar14[0xe] = uVar11;\n      }" { (expression_statement "uVar18 = piVar14[0xe];" (assignment_expression "uVar18 = piVar14[0xe]" identifier = (subscript_expression "piVar14[0xe]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = piVar14[0xf];" (assignment_expression "uVar7 = piVar14[0xf]" identifier = (subscript_expression "piVar14[0xf]" identifier [ number_literal ])) ;) (if_statement "if (uVar18 == uVar7) goto LAB_0007dd85;" if (parenthesized_expression "(uVar18 == uVar7)" ( (binary_expression "uVar18 == uVar7" identifier == identifier) )) (goto_statement "goto LAB_0007dd85;" goto statement_identifier ;)) (expression_statement "uVar11 = uVar18;" (assignment_expression "uVar11 = uVar18" identifier = identifier) ;) (while_statement "while( true ) {\n          uVar11 = uVar11 + 1;\n          if (uVar11 == (uVar18 - uVar10) + uVar9) break;\n          if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          uVar11 = uVar11 + 1;\n          if (uVar11 == (uVar18 - uVar10) + uVar9) break;\n          if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }\n        }" { (expression_statement "uVar11 = uVar11 + 1;" (assignment_expression "uVar11 = uVar11 + 1" identifier = (binary_expression "uVar11 + 1" identifier + number_literal)) ;) (if_statement "if (uVar11 == (uVar18 - uVar10) + uVar9) break;" if (parenthesized_expression "(uVar11 == (uVar18 - uVar10) + uVar9)" ( (binary_expression "uVar11 == (uVar18 - uVar10) + uVar9" identifier == (binary_expression "(uVar18 - uVar10) + uVar9" (parenthesized_expression "(uVar18 - uVar10)" ( (binary_expression "uVar18 - uVar10" identifier - identifier) )) + identifier)) )) (break_statement "break;" break ;)) (if_statement "if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }" if (parenthesized_expression "(uVar11 == uVar7)" ( (binary_expression "uVar11 == uVar7" identifier == identifier) )) (compound_statement "{\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }" { (expression_statement "piVar14[0xe] = uVar7;" (assignment_expression "piVar14[0xe] = uVar7" (subscript_expression "piVar14[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__ptr[1] = (uVar11 - uVar18) + uVar10;" (assignment_expression "__ptr[1] = (uVar11 - uVar18) + uVar10" (subscript_expression "__ptr[1]" identifier [ number_literal ]) = (binary_expression "(uVar11 - uVar18) + uVar10" (parenthesized_expression "(uVar11 - uVar18)" ( (binary_expression "uVar11 - uVar18" identifier - identifier) )) + identifier)) ;) (goto_statement "goto LAB_0007dd85;" goto statement_identifier ;) })) })) (expression_statement "piVar14[0xe] = uVar11;" (assignment_expression "piVar14[0xe] = uVar11" (subscript_expression "piVar14[0xe]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "__ptr[1] = 0;" (assignment_expression "__ptr[1] = 0" (subscript_expression "__ptr[1]" identifier [ number_literal ]) = number_literal) ;) }))) (expression_statement "*__ptr = 1;" (assignment_expression "*__ptr = 1" (pointer_expression "*__ptr" * identifier) = number_literal) ;) (expression_statement "uVar7 = 1;" (assignment_expression "uVar7 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0007dbcf;" goto statement_identifier ;)) (case_statement "case 0x7e3b0:\n    goto switchD_0007dbdb_caseD_7e3b0;" case number_literal : (goto_statement "goto switchD_0007dbdb_caseD_7e3b0;" goto statement_identifier ;)) })) (labeled_statement "LAB_0007e4e9:\n  iVar5 = *(int *)((int)piVar15 + 0x44);" statement_identifier : (expression_statement "iVar5 = *(int *)((int)piVar15 + 0x44);" (assignment_expression "iVar5 = *(int *)((int)piVar15 + 0x44)" identifier = (pointer_expression "*(int *)((int)piVar15 + 0x44)" * (cast_expression "(int *)((int)piVar15 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x44)" ( (binary_expression "(int)piVar15 + 0x44" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (expression_statement "iVar8 = 6;" (assignment_expression "iVar8 = 6" identifier = number_literal) ;) (expression_statement "pppuVar13 = (undefined ***)piVar15;" (assignment_expression "pppuVar13 = (undefined ***)piVar15" identifier = (cast_expression "(undefined ***)piVar15" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (goto_statement "goto LAB_0007df05;" goto statement_identifier ;) (labeled_statement "switchD_0007dbdb_caseD_7dc1f:\n  piVar15 = (int *)pppuVar13;" statement_identifier : (expression_statement "piVar15 = (int *)pppuVar13;" (assignment_expression "piVar15 = (int *)pppuVar13" identifier = (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (do_statement "do {\n    *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x3c);\n    *(undefined4 *)((int)piVar15 + -0x14) = 0x7dc3a;\n    iVar8 = FUN_0007d044();\n    piVar14 = (int *)((int)piVar15 + -4);\n    pppuVar13 = (undefined ***)((int)piVar15 + -4);\n    if (iVar8 != 1) {\n      *(undefined4 *)((int)piVar15 + -8) = 0x7dfbc;\n      FUN_0007d137();\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\nLAB_0007dfbc:\n      if (iVar8 == 0) goto LAB_0007dd81;\n      goto LAB_0007dd04;\n    }\n    uVar7 = __ptr[0x1a];\n    if (uVar7 == 1) {\n      puVar1 = __ptr + 0x1f;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x20] = __ptr[0x20] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      __ptr[0x1a] = 2;\nLAB_0007dc68:\n      uVar7 = __ptr[0x1d];\n      uVar10 = __ptr[0x1e];\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\n    }\n    else {\n      if (uVar7 == 0) {\n        uVar7 = __ptr[2];\n        uVar10 = __ptr[3];\n        __ptr[0x1d] = uVar7;\n        __ptr[0x1e] = uVar10;\n        if (__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7) {\n          __ptr[0x1a] = 1;\n          goto LAB_0007dc6e;\n        }\n        goto LAB_0007dcff;\n      }\n      if (uVar7 != 2) goto LAB_0007dc68;\n      puVar1 = __ptr + 0x21;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x22] = __ptr[0x22] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)(*(int *)((int)piVar15 + -4) + 0xcf8);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7df5c;\n      uVar7 = FUN_000a62f1();\n      __ptr[0x23] = ~uVar7;\n      uVar7 = __ptr[0x1d] - 1;\n      uVar10 = (__ptr[0x1e] - 1) + (uint)(__ptr[0x1d] != 0);\n      __ptr[0x1d] = uVar7;\n      __ptr[0x1e] = uVar10;\n      __ptr[0x1a] = 1;\n      pppuVar13 = (undefined ***)((int)piVar15 + -8);\n    }\nLAB_0007dc6e:\n    piVar15 = (int *)pppuVar13;\n  } while (uVar10 != 0 || uVar7 != 0);" do (compound_statement "{\n    *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x3c);\n    *(undefined4 *)((int)piVar15 + -0x14) = 0x7dc3a;\n    iVar8 = FUN_0007d044();\n    piVar14 = (int *)((int)piVar15 + -4);\n    pppuVar13 = (undefined ***)((int)piVar15 + -4);\n    if (iVar8 != 1) {\n      *(undefined4 *)((int)piVar15 + -8) = 0x7dfbc;\n      FUN_0007d137();\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\nLAB_0007dfbc:\n      if (iVar8 == 0) goto LAB_0007dd81;\n      goto LAB_0007dd04;\n    }\n    uVar7 = __ptr[0x1a];\n    if (uVar7 == 1) {\n      puVar1 = __ptr + 0x1f;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x20] = __ptr[0x20] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      __ptr[0x1a] = 2;\nLAB_0007dc68:\n      uVar7 = __ptr[0x1d];\n      uVar10 = __ptr[0x1e];\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\n    }\n    else {\n      if (uVar7 == 0) {\n        uVar7 = __ptr[2];\n        uVar10 = __ptr[3];\n        __ptr[0x1d] = uVar7;\n        __ptr[0x1e] = uVar10;\n        if (__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7) {\n          __ptr[0x1a] = 1;\n          goto LAB_0007dc6e;\n        }\n        goto LAB_0007dcff;\n      }\n      if (uVar7 != 2) goto LAB_0007dc68;\n      puVar1 = __ptr + 0x21;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x22] = __ptr[0x22] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)(*(int *)((int)piVar15 + -4) + 0xcf8);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7df5c;\n      uVar7 = FUN_000a62f1();\n      __ptr[0x23] = ~uVar7;\n      uVar7 = __ptr[0x1d] - 1;\n      uVar10 = (__ptr[0x1e] - 1) + (uint)(__ptr[0x1d] != 0);\n      __ptr[0x1d] = uVar7;\n      __ptr[0x1e] = uVar10;\n      __ptr[0x1a] = 1;\n      pppuVar13 = (undefined ***)((int)piVar15 + -8);\n    }\nLAB_0007dc6e:\n    piVar15 = (int *)pppuVar13;\n  }" { (expression_statement "*(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x3c);" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x3c)" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x10)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x10)" ( (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)piVar15 + 0x3c)" * (cast_expression "(undefined4 *)((int)piVar15 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x3c)" ( (binary_expression "(int)piVar15 + 0x3c" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = 0x7dc3a;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = 0x7dc3a" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x14)" ( (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = FUN_0007d044();" (assignment_expression "iVar8 = FUN_0007d044()" identifier = (call_expression "FUN_0007d044()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar14 = (int *)((int)piVar15 + -4);" (assignment_expression "piVar14 = (int *)((int)piVar15 + -4)" identifier = (cast_expression "(int *)((int)piVar15 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -4)" ( (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pppuVar13 = (undefined ***)((int)piVar15 + -4);" (assignment_expression "pppuVar13 = (undefined ***)((int)piVar15 + -4)" identifier = (cast_expression "(undefined ***)((int)piVar15 + -4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)piVar15 + -4)" ( (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (iVar8 != 1) {\n      *(undefined4 *)((int)piVar15 + -8) = 0x7dfbc;\n      FUN_0007d137();\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\nLAB_0007dfbc:\n      if (iVar8 == 0) goto LAB_0007dd81;\n      goto LAB_0007dd04;\n    }" if (parenthesized_expression "(iVar8 != 1)" ( (binary_expression "iVar8 != 1" identifier != number_literal) )) (compound_statement "{\n      *(undefined4 *)((int)piVar15 + -8) = 0x7dfbc;\n      FUN_0007d137();\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\nLAB_0007dfbc:\n      if (iVar8 == 0) goto LAB_0007dd81;\n      goto LAB_0007dd04;\n    }" { (expression_statement "*(undefined4 *)((int)piVar15 + -8) = 0x7dfbc;" (assignment_expression "*(undefined4 *)((int)piVar15 + -8) = 0x7dfbc" (pointer_expression "*(undefined4 *)((int)piVar15 + -8)" * (cast_expression "(undefined4 *)((int)piVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -8)" ( (binary_expression "(int)piVar15 + -8" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0007d137();" (call_expression "FUN_0007d137()" identifier (argument_list "()" ( ))) ;) (expression_statement "pppuVar13 = (undefined ***)((int)piVar15 + -4);" (assignment_expression "pppuVar13 = (undefined ***)((int)piVar15 + -4)" identifier = (cast_expression "(undefined ***)((int)piVar15 + -4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)piVar15 + -4)" ( (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (labeled_statement "LAB_0007dfbc:\n      if (iVar8 == 0) goto LAB_0007dd81;" statement_identifier : (if_statement "if (iVar8 == 0) goto LAB_0007dd81;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0007dd81;" goto statement_identifier ;))) (goto_statement "goto LAB_0007dd04;" goto statement_identifier ;) })) (expression_statement "uVar7 = __ptr[0x1a];" (assignment_expression "uVar7 = __ptr[0x1a]" identifier = (subscript_expression "__ptr[0x1a]" identifier [ number_literal ])) ;) (if_statement "if (uVar7 == 1) {\n      puVar1 = __ptr + 0x1f;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x20] = __ptr[0x20] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      __ptr[0x1a] = 2;\nLAB_0007dc68:\n      uVar7 = __ptr[0x1d];\n      uVar10 = __ptr[0x1e];\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\n    }\n    else {\n      if (uVar7 == 0) {\n        uVar7 = __ptr[2];\n        uVar10 = __ptr[3];\n        __ptr[0x1d] = uVar7;\n        __ptr[0x1e] = uVar10;\n        if (__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7) {\n          __ptr[0x1a] = 1;\n          goto LAB_0007dc6e;\n        }\n        goto LAB_0007dcff;\n      }\n      if (uVar7 != 2) goto LAB_0007dc68;\n      puVar1 = __ptr + 0x21;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x22] = __ptr[0x22] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)(*(int *)((int)piVar15 + -4) + 0xcf8);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7df5c;\n      uVar7 = FUN_000a62f1();\n      __ptr[0x23] = ~uVar7;\n      uVar7 = __ptr[0x1d] - 1;\n      uVar10 = (__ptr[0x1e] - 1) + (uint)(__ptr[0x1d] != 0);\n      __ptr[0x1d] = uVar7;\n      __ptr[0x1e] = uVar10;\n      __ptr[0x1a] = 1;\n      pppuVar13 = (undefined ***)((int)piVar15 + -8);\n    }" if (parenthesized_expression "(uVar7 == 1)" ( (binary_expression "uVar7 == 1" identifier == number_literal) )) (compound_statement "{\n      puVar1 = __ptr + 0x1f;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x20] = __ptr[0x20] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      __ptr[0x1a] = 2;\nLAB_0007dc68:\n      uVar7 = __ptr[0x1d];\n      uVar10 = __ptr[0x1e];\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\n    }" { (expression_statement "puVar1 = __ptr + 0x1f;" (assignment_expression "puVar1 = __ptr + 0x1f" identifier = (binary_expression "__ptr + 0x1f" identifier + number_literal)) ;) (expression_statement "uVar7 = *puVar1;" (assignment_expression "uVar7 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "*puVar1 = *puVar1 + __ptr[2];" (assignment_expression "*puVar1 = *puVar1 + __ptr[2]" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 + __ptr[2]" (pointer_expression "*puVar1" * identifier) + (subscript_expression "__ptr[2]" identifier [ number_literal ]))) ;) (expression_statement "__ptr[0x20] = __ptr[0x20] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);" (assignment_expression "__ptr[0x20] = __ptr[0x20] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2])" (subscript_expression "__ptr[0x20]" identifier [ number_literal ]) = (binary_expression "__ptr[0x20] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2])" (binary_expression "__ptr[0x20] + __ptr[3]" (subscript_expression "__ptr[0x20]" identifier [ number_literal ]) + (subscript_expression "__ptr[3]" identifier [ number_literal ])) + (cast_expression "(uint)CARRY4(uVar7,__ptr[2])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar7,__ptr[2])" identifier (argument_list "(uVar7,__ptr[2])" ( identifier , (subscript_expression "__ptr[2]" identifier [ number_literal ]) )))))) ;) (expression_statement "__ptr[0x1a] = 2;" (assignment_expression "__ptr[0x1a] = 2" (subscript_expression "__ptr[0x1a]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_0007dc68:\n      uVar7 = __ptr[0x1d];" statement_identifier : (expression_statement "uVar7 = __ptr[0x1d];" (assignment_expression "uVar7 = __ptr[0x1d]" identifier = (subscript_expression "__ptr[0x1d]" identifier [ number_literal ])) ;)) (expression_statement "uVar10 = __ptr[0x1e];" (assignment_expression "uVar10 = __ptr[0x1e]" identifier = (subscript_expression "__ptr[0x1e]" identifier [ number_literal ])) ;) (expression_statement "pppuVar13 = (undefined ***)((int)piVar15 + -4);" (assignment_expression "pppuVar13 = (undefined ***)((int)piVar15 + -4)" identifier = (cast_expression "(undefined ***)((int)piVar15 + -4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)piVar15 + -4)" ( (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) (else_clause "else {\n      if (uVar7 == 0) {\n        uVar7 = __ptr[2];\n        uVar10 = __ptr[3];\n        __ptr[0x1d] = uVar7;\n        __ptr[0x1e] = uVar10;\n        if (__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7) {\n          __ptr[0x1a] = 1;\n          goto LAB_0007dc6e;\n        }\n        goto LAB_0007dcff;\n      }\n      if (uVar7 != 2) goto LAB_0007dc68;\n      puVar1 = __ptr + 0x21;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x22] = __ptr[0x22] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)(*(int *)((int)piVar15 + -4) + 0xcf8);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7df5c;\n      uVar7 = FUN_000a62f1();\n      __ptr[0x23] = ~uVar7;\n      uVar7 = __ptr[0x1d] - 1;\n      uVar10 = (__ptr[0x1e] - 1) + (uint)(__ptr[0x1d] != 0);\n      __ptr[0x1d] = uVar7;\n      __ptr[0x1e] = uVar10;\n      __ptr[0x1a] = 1;\n      pppuVar13 = (undefined ***)((int)piVar15 + -8);\n    }" else (compound_statement "{\n      if (uVar7 == 0) {\n        uVar7 = __ptr[2];\n        uVar10 = __ptr[3];\n        __ptr[0x1d] = uVar7;\n        __ptr[0x1e] = uVar10;\n        if (__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7) {\n          __ptr[0x1a] = 1;\n          goto LAB_0007dc6e;\n        }\n        goto LAB_0007dcff;\n      }\n      if (uVar7 != 2) goto LAB_0007dc68;\n      puVar1 = __ptr + 0x21;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x22] = __ptr[0x22] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)(*(int *)((int)piVar15 + -4) + 0xcf8);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7df5c;\n      uVar7 = FUN_000a62f1();\n      __ptr[0x23] = ~uVar7;\n      uVar7 = __ptr[0x1d] - 1;\n      uVar10 = (__ptr[0x1e] - 1) + (uint)(__ptr[0x1d] != 0);\n      __ptr[0x1d] = uVar7;\n      __ptr[0x1e] = uVar10;\n      __ptr[0x1a] = 1;\n      pppuVar13 = (undefined ***)((int)piVar15 + -8);\n    }" { (if_statement "if (uVar7 == 0) {\n        uVar7 = __ptr[2];\n        uVar10 = __ptr[3];\n        __ptr[0x1d] = uVar7;\n        __ptr[0x1e] = uVar10;\n        if (__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7) {\n          __ptr[0x1a] = 1;\n          goto LAB_0007dc6e;\n        }\n        goto LAB_0007dcff;\n      }" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar7 = __ptr[2];\n        uVar10 = __ptr[3];\n        __ptr[0x1d] = uVar7;\n        __ptr[0x1e] = uVar10;\n        if (__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7) {\n          __ptr[0x1a] = 1;\n          goto LAB_0007dc6e;\n        }\n        goto LAB_0007dcff;\n      }" { (expression_statement "uVar7 = __ptr[2];" (assignment_expression "uVar7 = __ptr[2]" identifier = (subscript_expression "__ptr[2]" identifier [ number_literal ])) ;) (expression_statement "uVar10 = __ptr[3];" (assignment_expression "uVar10 = __ptr[3]" identifier = (subscript_expression "__ptr[3]" identifier [ number_literal ])) ;) (expression_statement "__ptr[0x1d] = uVar7;" (assignment_expression "__ptr[0x1d] = uVar7" (subscript_expression "__ptr[0x1d]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__ptr[0x1e] = uVar10;" (assignment_expression "__ptr[0x1e] = uVar10" (subscript_expression "__ptr[0x1e]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7) {\n          __ptr[0x1a] = 1;\n          goto LAB_0007dc6e;\n        }" if (parenthesized_expression "(__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7)" ( (binary_expression "__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7" (binary_expression "__ptr[0x14] == uVar10" (subscript_expression "__ptr[0x14]" identifier [ number_literal ]) == identifier) && (binary_expression "__ptr[0x13] == uVar7" (subscript_expression "__ptr[0x13]" identifier [ number_literal ]) == identifier)) )) (compound_statement "{\n          __ptr[0x1a] = 1;\n          goto LAB_0007dc6e;\n        }" { (expression_statement "__ptr[0x1a] = 1;" (assignment_expression "__ptr[0x1a] = 1" (subscript_expression "__ptr[0x1a]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0007dc6e;" goto statement_identifier ;) })) (goto_statement "goto LAB_0007dcff;" goto statement_identifier ;) })) (if_statement "if (uVar7 != 2) goto LAB_0007dc68;" if (parenthesized_expression "(uVar7 != 2)" ( (binary_expression "uVar7 != 2" identifier != number_literal) )) (goto_statement "goto LAB_0007dc68;" goto statement_identifier ;)) (expression_statement "puVar1 = __ptr + 0x21;" (assignment_expression "puVar1 = __ptr + 0x21" identifier = (binary_expression "__ptr + 0x21" identifier + number_literal)) ;) (expression_statement "uVar7 = *puVar1;" (assignment_expression "uVar7 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "*puVar1 = *puVar1 + __ptr[2];" (assignment_expression "*puVar1 = *puVar1 + __ptr[2]" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 + __ptr[2]" (pointer_expression "*puVar1" * identifier) + (subscript_expression "__ptr[2]" identifier [ number_literal ]))) ;) (expression_statement "__ptr[0x22] = __ptr[0x22] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);" (assignment_expression "__ptr[0x22] = __ptr[0x22] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2])" (subscript_expression "__ptr[0x22]" identifier [ number_literal ]) = (binary_expression "__ptr[0x22] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2])" (binary_expression "__ptr[0x22] + __ptr[3]" (subscript_expression "__ptr[0x22]" identifier [ number_literal ]) + (subscript_expression "__ptr[3]" identifier [ number_literal ])) + (cast_expression "(uint)CARRY4(uVar7,__ptr[2])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar7,__ptr[2])" identifier (argument_list "(uVar7,__ptr[2])" ( identifier , (subscript_expression "__ptr[2]" identifier [ number_literal ]) )))))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)(*(int *)((int)piVar15 + -4) + 0xcf8);" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)(*(int *)((int)piVar15 + -4) + 0xcf8)" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x14)" ( (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(*(int *)((int)piVar15 + -4) + 0xcf8)" * (cast_expression "(undefined4 *)(*(int *)((int)piVar15 + -4) + 0xcf8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)piVar15 + -4) + 0xcf8)" ( (binary_expression "*(int *)((int)piVar15 + -4) + 0xcf8" (pointer_expression "*(int *)((int)piVar15 + -4)" * (cast_expression "(int *)((int)piVar15 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -4)" ( (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)piVar15 + -0x18) = 0x7df5c;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x18) = 0x7df5c" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x18)" * (cast_expression "(undefined4 *)((int)piVar15 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + -0x18)" ( (binary_expression "(int)piVar15 + -0x18" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar7 = FUN_000a62f1();" (assignment_expression "uVar7 = FUN_000a62f1()" identifier = (call_expression "FUN_000a62f1()" identifier (argument_list "()" ( )))) ;) (expression_statement "__ptr[0x23] = ~uVar7;" (assignment_expression "__ptr[0x23] = ~uVar7" (subscript_expression "__ptr[0x23]" identifier [ number_literal ]) = (unary_expression "~uVar7" ~ identifier)) ;) (expression_statement "uVar7 = __ptr[0x1d] - 1;" (assignment_expression "uVar7 = __ptr[0x1d] - 1" identifier = (binary_expression "__ptr[0x1d] - 1" (subscript_expression "__ptr[0x1d]" identifier [ number_literal ]) - number_literal)) ;) (expression_statement "uVar10 = (__ptr[0x1e] - 1) + (uint)(__ptr[0x1d] != 0);" (assignment_expression "uVar10 = (__ptr[0x1e] - 1) + (uint)(__ptr[0x1d] != 0)" identifier = (binary_expression "(__ptr[0x1e] - 1) + (uint)(__ptr[0x1d] != 0)" (parenthesized_expression "(__ptr[0x1e] - 1)" ( (binary_expression "__ptr[0x1e] - 1" (subscript_expression "__ptr[0x1e]" identifier [ number_literal ]) - number_literal) )) + (call_expression "(uint)(__ptr[0x1d] != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(__ptr[0x1d] != 0)" ( (binary_expression "__ptr[0x1d] != 0" (subscript_expression "__ptr[0x1d]" identifier [ number_literal ]) != number_literal) ))))) ;) (expression_statement "__ptr[0x1d] = uVar7;" (assignment_expression "__ptr[0x1d] = uVar7" (subscript_expression "__ptr[0x1d]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__ptr[0x1e] = uVar10;" (assignment_expression "__ptr[0x1e] = uVar10" (subscript_expression "__ptr[0x1e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__ptr[0x1a] = 1;" (assignment_expression "__ptr[0x1a] = 1" (subscript_expression "__ptr[0x1a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pppuVar13 = (undefined ***)((int)piVar15 + -8);" (assignment_expression "pppuVar13 = (undefined ***)((int)piVar15 + -8)" identifier = (cast_expression "(undefined ***)((int)piVar15 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)piVar15 + -8)" ( (binary_expression "(int)piVar15 + -8" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }))) (labeled_statement "LAB_0007dc6e:\n    piVar15 = (int *)pppuVar13;" statement_identifier : (expression_statement "piVar15 = (int *)pppuVar13;" (assignment_expression "piVar15 = (int *)pppuVar13" identifier = (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;)) }) while (parenthesized_expression "(uVar10 != 0 || uVar7 != 0)" ( (binary_expression "uVar10 != 0 || uVar7 != 0" (binary_expression "uVar10 != 0" identifier != number_literal) || (binary_expression "uVar7 != 0" identifier != number_literal)) )) ;) (expression_statement "*__ptr = 7;" (assignment_expression "*__ptr = 7" (pointer_expression "*__ptr" * identifier) = number_literal) ;) (labeled_statement "switchD_0007dbdb_caseD_7dc7d:\n  uVar7 = __ptr[0x1b];" statement_identifier : (expression_statement "uVar7 = __ptr[0x1b];" (assignment_expression "uVar7 = __ptr[0x1b]" identifier = (subscript_expression "__ptr[0x1b]" identifier [ number_literal ])) ;)) (expression_statement "iVar8 = *(int *)((int)pppuVar13 + 0x38) + 1;" (assignment_expression "iVar8 = *(int *)((int)pppuVar13 + 0x38) + 1" identifier = (binary_expression "*(int *)((int)pppuVar13 + 0x38) + 1" (pointer_expression "*(int *)((int)pppuVar13 + 0x38)" * (cast_expression "(int *)((int)pppuVar13 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x38)" ( (binary_expression "(int)pppuVar13 + 0x38" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (expression_statement "uVar10 = __ptr[4];" (assignment_expression "uVar10 = __ptr[4]" identifier = (subscript_expression "__ptr[4]" identifier [ number_literal ])) ;) (labeled_statement "LAB_0007dc95:\n  if ((~uVar10 + iVar8 + uVar7 & 3) == 0) {\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dcae;\n    uVar6 = FUN_0007d137();\n    *(undefined4 *)((int)pppuVar13 + -4) = uVar6;\n    *(undefined4 *)((int)pppuVar13 + -8) = 0x14;\n    *(uint **)((int)pppuVar13 + -0xc) = __ptr + 0x1f;\n    *(uint **)((int)pppuVar13 + -0x10) = __ptr + 0x15;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7dcc2;\n    iVar8 = memcmp(*(void **)((int)pppuVar13 + -0x10),*(void **)((int)pppuVar13 + -0xc),\n                   *(size_t *)((int)pppuVar13 + -8));\n    piVar15 = (int *)pppuVar13;\n    if (iVar8 != 0) goto LAB_0007ddc4;\n    *__ptr = 8;\nswitchD_0007dbdb_caseD_7dcd4:\n    uVar10 = *(uint *)((int)pppuVar13 + 0x3c);\n    iVar8 = *(int *)((int)pppuVar13 + 0x34);\n    uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n    while (uVar10 != uVar7) {\n      uVar9 = __ptr[1];\n      uVar18 = __ptr[6];\n      uVar7 = uVar7 + 1;\n      *(uint *)((int)pppuVar13 + 0x38) = uVar7;\n      piVar14 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f))) {\nLAB_0007dcff:\n        iVar8 = 7;\n        pppuVar13 = (undefined ***)piVar14;\nLAB_0007dd04:\n        *(undefined1 *)(__ptr + 9) = 0;\n        iVar5 = *(int *)((int)pppuVar13 + 0x44);\n        goto joined_r0x0007dd0e;\n      }\n      uVar9 = uVar9 + 8;\n      __ptr[1] = uVar9;\n      if (0x1f < uVar9) {\n        __ptr[6] = 0;\n        __ptr[1] = 0;\n        __ptr[0x25] = 0xc;\n        *__ptr = 9;\nswitchD_0007dbdb_caseD_7dd72:\n        piVar14[-1] = 0x7dd7d;\n        cVar3 = FUN_0007d93a();\n        pppuVar13 = (undefined ***)piVar14;\n        if (cVar3 == '\0') {\nLAB_0007dd81:\n          uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n          break;\n        }\n        piVar15 = piVar14;\n        if (*(short *)((int)__ptr + 0xa2) == 0x5a59) {\n          piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n          piVar14[-5] = 0x7de00;\n          uVar7 = FUN_000a62f1();\n          piVar12 = piVar14 + -1;\n          pppuVar13 = (undefined ***)(piVar14 + -1);\n          piVar15 = piVar14 + -1;\n          if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;\n          iVar8 = piVar14[0x10];\n          if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }\n          *(undefined1 *)(__ptr + 9) = 0;\n          if (iVar8 != 0) {\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }\n          goto LAB_0007de8b;\n        }\nLAB_0007ddc4:\n        pppuVar13 = (undefined ***)piVar15;\n        *(undefined1 *)(__ptr + 9) = 0;\n        if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n        iVar8 = 7;\n        goto LAB_0007de61;\n      }\n    }\n  }\n  else {\n    if (*(int *)((int)pppuVar13 + 0x3c) + 1 != iVar8) goto LAB_0007deec;\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dee3;\n    FUN_0007d137();\n    uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n  }" statement_identifier : (if_statement "if ((~uVar10 + iVar8 + uVar7 & 3) == 0) {\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dcae;\n    uVar6 = FUN_0007d137();\n    *(undefined4 *)((int)pppuVar13 + -4) = uVar6;\n    *(undefined4 *)((int)pppuVar13 + -8) = 0x14;\n    *(uint **)((int)pppuVar13 + -0xc) = __ptr + 0x1f;\n    *(uint **)((int)pppuVar13 + -0x10) = __ptr + 0x15;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7dcc2;\n    iVar8 = memcmp(*(void **)((int)pppuVar13 + -0x10),*(void **)((int)pppuVar13 + -0xc),\n                   *(size_t *)((int)pppuVar13 + -8));\n    piVar15 = (int *)pppuVar13;\n    if (iVar8 != 0) goto LAB_0007ddc4;\n    *__ptr = 8;\nswitchD_0007dbdb_caseD_7dcd4:\n    uVar10 = *(uint *)((int)pppuVar13 + 0x3c);\n    iVar8 = *(int *)((int)pppuVar13 + 0x34);\n    uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n    while (uVar10 != uVar7) {\n      uVar9 = __ptr[1];\n      uVar18 = __ptr[6];\n      uVar7 = uVar7 + 1;\n      *(uint *)((int)pppuVar13 + 0x38) = uVar7;\n      piVar14 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f))) {\nLAB_0007dcff:\n        iVar8 = 7;\n        pppuVar13 = (undefined ***)piVar14;\nLAB_0007dd04:\n        *(undefined1 *)(__ptr + 9) = 0;\n        iVar5 = *(int *)((int)pppuVar13 + 0x44);\n        goto joined_r0x0007dd0e;\n      }\n      uVar9 = uVar9 + 8;\n      __ptr[1] = uVar9;\n      if (0x1f < uVar9) {\n        __ptr[6] = 0;\n        __ptr[1] = 0;\n        __ptr[0x25] = 0xc;\n        *__ptr = 9;\nswitchD_0007dbdb_caseD_7dd72:\n        piVar14[-1] = 0x7dd7d;\n        cVar3 = FUN_0007d93a();\n        pppuVar13 = (undefined ***)piVar14;\n        if (cVar3 == '\0') {\nLAB_0007dd81:\n          uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n          break;\n        }\n        piVar15 = piVar14;\n        if (*(short *)((int)__ptr + 0xa2) == 0x5a59) {\n          piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n          piVar14[-5] = 0x7de00;\n          uVar7 = FUN_000a62f1();\n          piVar12 = piVar14 + -1;\n          pppuVar13 = (undefined ***)(piVar14 + -1);\n          piVar15 = piVar14 + -1;\n          if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;\n          iVar8 = piVar14[0x10];\n          if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }\n          *(undefined1 *)(__ptr + 9) = 0;\n          if (iVar8 != 0) {\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }\n          goto LAB_0007de8b;\n        }\nLAB_0007ddc4:\n        pppuVar13 = (undefined ***)piVar15;\n        *(undefined1 *)(__ptr + 9) = 0;\n        if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n        iVar8 = 7;\n        goto LAB_0007de61;\n      }\n    }\n  }\n  else {\n    if (*(int *)((int)pppuVar13 + 0x3c) + 1 != iVar8) goto LAB_0007deec;\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dee3;\n    FUN_0007d137();\n    uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n  }" if (parenthesized_expression "((~uVar10 + iVar8 + uVar7 & 3) == 0)" ( (binary_expression "(~uVar10 + iVar8 + uVar7 & 3) == 0" (parenthesized_expression "(~uVar10 + iVar8 + uVar7 & 3)" ( (binary_expression "~uVar10 + iVar8 + uVar7 & 3" (binary_expression "~uVar10 + iVar8 + uVar7" (binary_expression "~uVar10 + iVar8" (unary_expression "~uVar10" ~ identifier) + identifier) + identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dcae;\n    uVar6 = FUN_0007d137();\n    *(undefined4 *)((int)pppuVar13 + -4) = uVar6;\n    *(undefined4 *)((int)pppuVar13 + -8) = 0x14;\n    *(uint **)((int)pppuVar13 + -0xc) = __ptr + 0x1f;\n    *(uint **)((int)pppuVar13 + -0x10) = __ptr + 0x15;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7dcc2;\n    iVar8 = memcmp(*(void **)((int)pppuVar13 + -0x10),*(void **)((int)pppuVar13 + -0xc),\n                   *(size_t *)((int)pppuVar13 + -8));\n    piVar15 = (int *)pppuVar13;\n    if (iVar8 != 0) goto LAB_0007ddc4;\n    *__ptr = 8;\nswitchD_0007dbdb_caseD_7dcd4:\n    uVar10 = *(uint *)((int)pppuVar13 + 0x3c);\n    iVar8 = *(int *)((int)pppuVar13 + 0x34);\n    uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n    while (uVar10 != uVar7) {\n      uVar9 = __ptr[1];\n      uVar18 = __ptr[6];\n      uVar7 = uVar7 + 1;\n      *(uint *)((int)pppuVar13 + 0x38) = uVar7;\n      piVar14 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f))) {\nLAB_0007dcff:\n        iVar8 = 7;\n        pppuVar13 = (undefined ***)piVar14;\nLAB_0007dd04:\n        *(undefined1 *)(__ptr + 9) = 0;\n        iVar5 = *(int *)((int)pppuVar13 + 0x44);\n        goto joined_r0x0007dd0e;\n      }\n      uVar9 = uVar9 + 8;\n      __ptr[1] = uVar9;\n      if (0x1f < uVar9) {\n        __ptr[6] = 0;\n        __ptr[1] = 0;\n        __ptr[0x25] = 0xc;\n        *__ptr = 9;\nswitchD_0007dbdb_caseD_7dd72:\n        piVar14[-1] = 0x7dd7d;\n        cVar3 = FUN_0007d93a();\n        pppuVar13 = (undefined ***)piVar14;\n        if (cVar3 == '\0') {\nLAB_0007dd81:\n          uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n          break;\n        }\n        piVar15 = piVar14;\n        if (*(short *)((int)__ptr + 0xa2) == 0x5a59) {\n          piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n          piVar14[-5] = 0x7de00;\n          uVar7 = FUN_000a62f1();\n          piVar12 = piVar14 + -1;\n          pppuVar13 = (undefined ***)(piVar14 + -1);\n          piVar15 = piVar14 + -1;\n          if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;\n          iVar8 = piVar14[0x10];\n          if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }\n          *(undefined1 *)(__ptr + 9) = 0;\n          if (iVar8 != 0) {\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }\n          goto LAB_0007de8b;\n        }\nLAB_0007ddc4:\n        pppuVar13 = (undefined ***)piVar15;\n        *(undefined1 *)(__ptr + 9) = 0;\n        if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n        iVar8 = 7;\n        goto LAB_0007de61;\n      }\n    }\n  }" { (expression_statement "*(undefined4 *)((int)pppuVar13 + -4) = 0x7dcae;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -4) = 0x7dcae" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -4)" * (cast_expression "(undefined4 *)((int)pppuVar13 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -4)" ( (binary_expression "(int)pppuVar13 + -4" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar6 = FUN_0007d137();" (assignment_expression "uVar6 = FUN_0007d137()" identifier = (call_expression "FUN_0007d137()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)((int)pppuVar13 + -4) = uVar6;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -4) = uVar6" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -4)" * (cast_expression "(undefined4 *)((int)pppuVar13 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -4)" ( (binary_expression "(int)pppuVar13 + -4" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)pppuVar13 + -8) = 0x14;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -8) = 0x14" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -8)" * (cast_expression "(undefined4 *)((int)pppuVar13 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -8)" ( (binary_expression "(int)pppuVar13 + -8" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(uint **)((int)pppuVar13 + -0xc) = __ptr + 0x1f;" (assignment_expression "*(uint **)((int)pppuVar13 + -0xc) = __ptr + 0x1f" (pointer_expression "*(uint **)((int)pppuVar13 + -0xc)" * (cast_expression "(uint **)((int)pppuVar13 + -0xc)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppuVar13 + -0xc)" ( (binary_expression "(int)pppuVar13 + -0xc" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "__ptr + 0x1f" identifier + number_literal)) ;) (expression_statement "*(uint **)((int)pppuVar13 + -0x10) = __ptr + 0x15;" (assignment_expression "*(uint **)((int)pppuVar13 + -0x10) = __ptr + 0x15" (pointer_expression "*(uint **)((int)pppuVar13 + -0x10)" * (cast_expression "(uint **)((int)pppuVar13 + -0x10)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppuVar13 + -0x10)" ( (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "__ptr + 0x15" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7dcc2;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7dcc2" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -0x14)" * (cast_expression "(undefined4 *)((int)pppuVar13 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -0x14)" ( (binary_expression "(int)pppuVar13 + -0x14" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = memcmp(*(void **)((int)pppuVar13 + -0x10),*(void **)((int)pppuVar13 + -0xc),\n                   *(size_t *)((int)pppuVar13 + -8));" (assignment_expression "iVar8 = memcmp(*(void **)((int)pppuVar13 + -0x10),*(void **)((int)pppuVar13 + -0xc),\n                   *(size_t *)((int)pppuVar13 + -8))" identifier = (call_expression "memcmp(*(void **)((int)pppuVar13 + -0x10),*(void **)((int)pppuVar13 + -0xc),\n                   *(size_t *)((int)pppuVar13 + -8))" identifier (argument_list "(*(void **)((int)pppuVar13 + -0x10),*(void **)((int)pppuVar13 + -0xc),\n                   *(size_t *)((int)pppuVar13 + -8))" ( (pointer_expression "*(void **)((int)pppuVar13 + -0x10)" * (cast_expression "(void **)((int)pppuVar13 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppuVar13 + -0x10)" ( (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(void **)((int)pppuVar13 + -0xc)" * (cast_expression "(void **)((int)pppuVar13 + -0xc)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppuVar13 + -0xc)" ( (binary_expression "(int)pppuVar13 + -0xc" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(size_t *)((int)pppuVar13 + -8)" * (cast_expression "(size_t *)((int)pppuVar13 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -8)" ( (binary_expression "(int)pppuVar13 + -8" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "piVar15 = (int *)pppuVar13;" (assignment_expression "piVar15 = (int *)pppuVar13" identifier = (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (iVar8 != 0) goto LAB_0007ddc4;" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0007ddc4;" goto statement_identifier ;)) (expression_statement "*__ptr = 8;" (assignment_expression "*__ptr = 8" (pointer_expression "*__ptr" * identifier) = number_literal) ;) (labeled_statement "switchD_0007dbdb_caseD_7dcd4:\n    uVar10 = *(uint *)((int)pppuVar13 + 0x3c);" statement_identifier : (expression_statement "uVar10 = *(uint *)((int)pppuVar13 + 0x3c);" (assignment_expression "uVar10 = *(uint *)((int)pppuVar13 + 0x3c)" identifier = (pointer_expression "*(uint *)((int)pppuVar13 + 0x3c)" * (cast_expression "(uint *)((int)pppuVar13 + 0x3c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x3c)" ( (binary_expression "(int)pppuVar13 + 0x3c" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (expression_statement "iVar8 = *(int *)((int)pppuVar13 + 0x34);" (assignment_expression "iVar8 = *(int *)((int)pppuVar13 + 0x34)" identifier = (pointer_expression "*(int *)((int)pppuVar13 + 0x34)" * (cast_expression "(int *)((int)pppuVar13 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x34)" ( (binary_expression "(int)pppuVar13 + 0x34" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar7 = *(uint *)((int)pppuVar13 + 0x38);" (assignment_expression "uVar7 = *(uint *)((int)pppuVar13 + 0x38)" identifier = (pointer_expression "*(uint *)((int)pppuVar13 + 0x38)" * (cast_expression "(uint *)((int)pppuVar13 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x38)" ( (binary_expression "(int)pppuVar13 + 0x38" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (while_statement "while (uVar10 != uVar7) {\n      uVar9 = __ptr[1];\n      uVar18 = __ptr[6];\n      uVar7 = uVar7 + 1;\n      *(uint *)((int)pppuVar13 + 0x38) = uVar7;\n      piVar14 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f))) {\nLAB_0007dcff:\n        iVar8 = 7;\n        pppuVar13 = (undefined ***)piVar14;\nLAB_0007dd04:\n        *(undefined1 *)(__ptr + 9) = 0;\n        iVar5 = *(int *)((int)pppuVar13 + 0x44);\n        goto joined_r0x0007dd0e;\n      }\n      uVar9 = uVar9 + 8;\n      __ptr[1] = uVar9;\n      if (0x1f < uVar9) {\n        __ptr[6] = 0;\n        __ptr[1] = 0;\n        __ptr[0x25] = 0xc;\n        *__ptr = 9;\nswitchD_0007dbdb_caseD_7dd72:\n        piVar14[-1] = 0x7dd7d;\n        cVar3 = FUN_0007d93a();\n        pppuVar13 = (undefined ***)piVar14;\n        if (cVar3 == '\0') {\nLAB_0007dd81:\n          uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n          break;\n        }\n        piVar15 = piVar14;\n        if (*(short *)((int)__ptr + 0xa2) == 0x5a59) {\n          piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n          piVar14[-5] = 0x7de00;\n          uVar7 = FUN_000a62f1();\n          piVar12 = piVar14 + -1;\n          pppuVar13 = (undefined ***)(piVar14 + -1);\n          piVar15 = piVar14 + -1;\n          if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;\n          iVar8 = piVar14[0x10];\n          if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }\n          *(undefined1 *)(__ptr + 9) = 0;\n          if (iVar8 != 0) {\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }\n          goto LAB_0007de8b;\n        }\nLAB_0007ddc4:\n        pppuVar13 = (undefined ***)piVar15;\n        *(undefined1 *)(__ptr + 9) = 0;\n        if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n        iVar8 = 7;\n        goto LAB_0007de61;\n      }\n    }" while (parenthesized_expression "(uVar10 != uVar7)" ( (binary_expression "uVar10 != uVar7" identifier != identifier) )) (compound_statement "{\n      uVar9 = __ptr[1];\n      uVar18 = __ptr[6];\n      uVar7 = uVar7 + 1;\n      *(uint *)((int)pppuVar13 + 0x38) = uVar7;\n      piVar14 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f))) {\nLAB_0007dcff:\n        iVar8 = 7;\n        pppuVar13 = (undefined ***)piVar14;\nLAB_0007dd04:\n        *(undefined1 *)(__ptr + 9) = 0;\n        iVar5 = *(int *)((int)pppuVar13 + 0x44);\n        goto joined_r0x0007dd0e;\n      }\n      uVar9 = uVar9 + 8;\n      __ptr[1] = uVar9;\n      if (0x1f < uVar9) {\n        __ptr[6] = 0;\n        __ptr[1] = 0;\n        __ptr[0x25] = 0xc;\n        *__ptr = 9;\nswitchD_0007dbdb_caseD_7dd72:\n        piVar14[-1] = 0x7dd7d;\n        cVar3 = FUN_0007d93a();\n        pppuVar13 = (undefined ***)piVar14;\n        if (cVar3 == '\0') {\nLAB_0007dd81:\n          uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n          break;\n        }\n        piVar15 = piVar14;\n        if (*(short *)((int)__ptr + 0xa2) == 0x5a59) {\n          piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n          piVar14[-5] = 0x7de00;\n          uVar7 = FUN_000a62f1();\n          piVar12 = piVar14 + -1;\n          pppuVar13 = (undefined ***)(piVar14 + -1);\n          piVar15 = piVar14 + -1;\n          if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;\n          iVar8 = piVar14[0x10];\n          if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }\n          *(undefined1 *)(__ptr + 9) = 0;\n          if (iVar8 != 0) {\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }\n          goto LAB_0007de8b;\n        }\nLAB_0007ddc4:\n        pppuVar13 = (undefined ***)piVar15;\n        *(undefined1 *)(__ptr + 9) = 0;\n        if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n        iVar8 = 7;\n        goto LAB_0007de61;\n      }\n    }" { (expression_statement "uVar9 = __ptr[1];" (assignment_expression "uVar9 = __ptr[1]" identifier = (subscript_expression "__ptr[1]" identifier [ number_literal ])) ;) (expression_statement "uVar18 = __ptr[6];" (assignment_expression "uVar18 = __ptr[6]" identifier = (subscript_expression "__ptr[6]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = uVar7 + 1;" (assignment_expression "uVar7 = uVar7 + 1" identifier = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)((int)pppuVar13 + 0x38) = uVar7;" (assignment_expression "*(uint *)((int)pppuVar13 + 0x38) = uVar7" (pointer_expression "*(uint *)((int)pppuVar13 + 0x38)" * (cast_expression "(uint *)((int)pppuVar13 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x38)" ( (binary_expression "(int)pppuVar13 + 0x38" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "piVar14 = (int *)pppuVar13;" (assignment_expression "piVar14 = (int *)pppuVar13" identifier = (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f))) {\nLAB_0007dcff:\n        iVar8 = 7;\n        pppuVar13 = (undefined ***)piVar14;\nLAB_0007dd04:\n        *(undefined1 *)(__ptr + 9) = 0;\n        iVar5 = *(int *)((int)pppuVar13 + 0x44);\n        goto joined_r0x0007dd0e;\n      }" if (parenthesized_expression "(*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))" ( (binary_expression "*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f))" (pointer_expression "*(char *)(iVar8 + -1 + uVar7)" * (cast_expression "(char *)(iVar8 + -1 + uVar7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + -1 + uVar7)" ( (binary_expression "iVar8 + -1 + uVar7" (binary_expression "iVar8 + -1" identifier + number_literal) + identifier) )))) != (cast_expression "(char)(uVar18 >> ((byte)uVar9 & 0x1f))" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar18 >> ((byte)uVar9 & 0x1f))" ( (binary_expression "uVar18 >> ((byte)uVar9 & 0x1f)" identifier >> (parenthesized_expression "((byte)uVar9 & 0x1f)" ( (binary_expression "(byte)uVar9 & 0x1f" (cast_expression "(byte)uVar9" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) )))) )) (compound_statement "{\nLAB_0007dcff:\n        iVar8 = 7;\n        pppuVar13 = (undefined ***)piVar14;\nLAB_0007dd04:\n        *(undefined1 *)(__ptr + 9) = 0;\n        iVar5 = *(int *)((int)pppuVar13 + 0x44);\n        goto joined_r0x0007dd0e;\n      }" { (labeled_statement "LAB_0007dcff:\n        iVar8 = 7;" statement_identifier : (expression_statement "iVar8 = 7;" (assignment_expression "iVar8 = 7" identifier = number_literal) ;)) (expression_statement "pppuVar13 = (undefined ***)piVar14;" (assignment_expression "pppuVar13 = (undefined ***)piVar14" identifier = (cast_expression "(undefined ***)piVar14" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (labeled_statement "LAB_0007dd04:\n        *(undefined1 *)(__ptr + 9) = 0;" statement_identifier : (expression_statement "*(undefined1 *)(__ptr + 9) = 0;" (assignment_expression "*(undefined1 *)(__ptr + 9) = 0" (pointer_expression "*(undefined1 *)(__ptr + 9)" * (cast_expression "(undefined1 *)(__ptr + 9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(__ptr + 9)" ( (binary_expression "__ptr + 9" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "iVar5 = *(int *)((int)pppuVar13 + 0x44);" (assignment_expression "iVar5 = *(int *)((int)pppuVar13 + 0x44)" identifier = (pointer_expression "*(int *)((int)pppuVar13 + 0x44)" * (cast_expression "(int *)((int)pppuVar13 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x44)" ( (binary_expression "(int)pppuVar13 + 0x44" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (goto_statement "goto joined_r0x0007dd0e;" goto statement_identifier ;) })) (expression_statement "uVar9 = uVar9 + 8;" (assignment_expression "uVar9 = uVar9 + 8" identifier = (binary_expression "uVar9 + 8" identifier + number_literal)) ;) (expression_statement "__ptr[1] = uVar9;" (assignment_expression "__ptr[1] = uVar9" (subscript_expression "__ptr[1]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (0x1f < uVar9) {\n        __ptr[6] = 0;\n        __ptr[1] = 0;\n        __ptr[0x25] = 0xc;\n        *__ptr = 9;\nswitchD_0007dbdb_caseD_7dd72:\n        piVar14[-1] = 0x7dd7d;\n        cVar3 = FUN_0007d93a();\n        pppuVar13 = (undefined ***)piVar14;\n        if (cVar3 == '\0') {\nLAB_0007dd81:\n          uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n          break;\n        }\n        piVar15 = piVar14;\n        if (*(short *)((int)__ptr + 0xa2) == 0x5a59) {\n          piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n          piVar14[-5] = 0x7de00;\n          uVar7 = FUN_000a62f1();\n          piVar12 = piVar14 + -1;\n          pppuVar13 = (undefined ***)(piVar14 + -1);\n          piVar15 = piVar14 + -1;\n          if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;\n          iVar8 = piVar14[0x10];\n          if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }\n          *(undefined1 *)(__ptr + 9) = 0;\n          if (iVar8 != 0) {\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }\n          goto LAB_0007de8b;\n        }\nLAB_0007ddc4:\n        pppuVar13 = (undefined ***)piVar15;\n        *(undefined1 *)(__ptr + 9) = 0;\n        if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n        iVar8 = 7;\n        goto LAB_0007de61;\n      }" if (parenthesized_expression "(0x1f < uVar9)" ( (binary_expression "0x1f < uVar9" number_literal < identifier) )) (compound_statement "{\n        __ptr[6] = 0;\n        __ptr[1] = 0;\n        __ptr[0x25] = 0xc;\n        *__ptr = 9;\nswitchD_0007dbdb_caseD_7dd72:\n        piVar14[-1] = 0x7dd7d;\n        cVar3 = FUN_0007d93a();\n        pppuVar13 = (undefined ***)piVar14;\n        if (cVar3 == '\0') {\nLAB_0007dd81:\n          uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n          break;\n        }\n        piVar15 = piVar14;\n        if (*(short *)((int)__ptr + 0xa2) == 0x5a59) {\n          piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n          piVar14[-5] = 0x7de00;\n          uVar7 = FUN_000a62f1();\n          piVar12 = piVar14 + -1;\n          pppuVar13 = (undefined ***)(piVar14 + -1);\n          piVar15 = piVar14 + -1;\n          if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;\n          iVar8 = piVar14[0x10];\n          if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }\n          *(undefined1 *)(__ptr + 9) = 0;\n          if (iVar8 != 0) {\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }\n          goto LAB_0007de8b;\n        }\nLAB_0007ddc4:\n        pppuVar13 = (undefined ***)piVar15;\n        *(undefined1 *)(__ptr + 9) = 0;\n        if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n        iVar8 = 7;\n        goto LAB_0007de61;\n      }" { (expression_statement "__ptr[6] = 0;" (assignment_expression "__ptr[6] = 0" (subscript_expression "__ptr[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "__ptr[1] = 0;" (assignment_expression "__ptr[1] = 0" (subscript_expression "__ptr[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "__ptr[0x25] = 0xc;" (assignment_expression "__ptr[0x25] = 0xc" (subscript_expression "__ptr[0x25]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*__ptr = 9;" (assignment_expression "*__ptr = 9" (pointer_expression "*__ptr" * identifier) = number_literal) ;) (labeled_statement "switchD_0007dbdb_caseD_7dd72:\n        piVar14[-1] = 0x7dd7d;" statement_identifier : (expression_statement "piVar14[-1] = 0x7dd7d;" (assignment_expression "piVar14[-1] = 0x7dd7d" (subscript_expression "piVar14[-1]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "cVar3 = FUN_0007d93a();" (assignment_expression "cVar3 = FUN_0007d93a()" identifier = (call_expression "FUN_0007d93a()" identifier (argument_list "()" ( )))) ;) (expression_statement "pppuVar13 = (undefined ***)piVar14;" (assignment_expression "pppuVar13 = (undefined ***)piVar14" identifier = (cast_expression "(undefined ***)piVar14" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (if_statement "if (cVar3 == '\0') {\nLAB_0007dd81:\n          uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n          break;\n        }" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0007dd81:\n          uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n          break;\n        }" { (labeled_statement "LAB_0007dd81:\n          uVar7 = *(uint *)((int)pppuVar13 + 0x38);" statement_identifier : (expression_statement "uVar7 = *(uint *)((int)pppuVar13 + 0x38);" (assignment_expression "uVar7 = *(uint *)((int)pppuVar13 + 0x38)" identifier = (pointer_expression "*(uint *)((int)pppuVar13 + 0x38)" * (cast_expression "(uint *)((int)pppuVar13 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x38)" ( (binary_expression "(int)pppuVar13 + 0x38" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (break_statement "break;" break ;) })) (expression_statement "piVar15 = piVar14;" (assignment_expression "piVar15 = piVar14" identifier = identifier) ;) (if_statement "if (*(short *)((int)__ptr + 0xa2) == 0x5a59) {\n          piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n          piVar14[-5] = 0x7de00;\n          uVar7 = FUN_000a62f1();\n          piVar12 = piVar14 + -1;\n          pppuVar13 = (undefined ***)(piVar14 + -1);\n          piVar15 = piVar14 + -1;\n          if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;\n          iVar8 = piVar14[0x10];\n          if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }\n          *(undefined1 *)(__ptr + 9) = 0;\n          if (iVar8 != 0) {\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }\n          goto LAB_0007de8b;\n        }" if (parenthesized_expression "(*(short *)((int)__ptr + 0xa2) == 0x5a59)" ( (binary_expression "*(short *)((int)__ptr + 0xa2) == 0x5a59" (pointer_expression "*(short *)((int)__ptr + 0xa2)" * (cast_expression "(short *)((int)__ptr + 0xa2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr + 0xa2)" ( (binary_expression "(int)__ptr + 0xa2" (cast_expression "(int)__ptr" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n          piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n          piVar14[-5] = 0x7de00;\n          uVar7 = FUN_000a62f1();\n          piVar12 = piVar14 + -1;\n          pppuVar13 = (undefined ***)(piVar14 + -1);\n          piVar15 = piVar14 + -1;\n          if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;\n          iVar8 = piVar14[0x10];\n          if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }\n          *(undefined1 *)(__ptr + 9) = 0;\n          if (iVar8 != 0) {\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }\n          goto LAB_0007de8b;\n        }" { (expression_statement "piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);" (assignment_expression "piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8)" (subscript_expression "piVar14[-4]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(*piVar14 + 0xcf8)" * (cast_expression "(undefined4 *)(*piVar14 + 0xcf8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar14 + 0xcf8)" ( (binary_expression "*piVar14 + 0xcf8" (pointer_expression "*piVar14" * identifier) + number_literal) ))))) ;) (expression_statement "piVar14[-5] = 0x7de00;" (assignment_expression "piVar14[-5] = 0x7de00" (subscript_expression "piVar14[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar7 = FUN_000a62f1();" (assignment_expression "uVar7 = FUN_000a62f1()" identifier = (call_expression "FUN_000a62f1()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar12 = piVar14 + -1;" (assignment_expression "piVar12 = piVar14 + -1" identifier = (binary_expression "piVar14 + -1" identifier + number_literal)) ;) (expression_statement "pppuVar13 = (undefined ***)(piVar14 + -1);" (assignment_expression "pppuVar13 = (undefined ***)(piVar14 + -1)" identifier = (cast_expression "(undefined ***)(piVar14 + -1)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(piVar14 + -1)" ( (binary_expression "piVar14 + -1" identifier + number_literal) )))) ;) (expression_statement "piVar15 = piVar14 + -1;" (assignment_expression "piVar15 = piVar14 + -1" identifier = (binary_expression "piVar14 + -1" identifier + number_literal)) ;) (if_statement "if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;" if (parenthesized_expression "(~uVar7 != __ptr[0x26])" ( (binary_expression "~uVar7 != __ptr[0x26]" (unary_expression "~uVar7" ~ identifier) != (subscript_expression "__ptr[0x26]" identifier [ number_literal ])) )) (goto_statement "goto LAB_0007ddc4;" goto statement_identifier ;)) (expression_statement "iVar8 = piVar14[0x10];" (assignment_expression "iVar8 = piVar14[0x10]" identifier = (subscript_expression "piVar14[0x10]" identifier [ number_literal ])) ;) (if_statement "if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }" if (parenthesized_expression "(((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7]))" ( (binary_expression "((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])" (parenthesized_expression "((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0'))" ( (binary_expression "(__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')" (parenthesized_expression "(__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e))" ( (binary_expression "__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)" (binary_expression "__ptr[0x1c] >> 2 != 0" (binary_expression "__ptr[0x1c] >> 2" (subscript_expression "__ptr[0x1c]" identifier [ number_literal ]) >> number_literal) != number_literal) || (binary_expression "__ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)" (subscript_expression "__ptr[0x27]" identifier [ number_literal ]) != (parenthesized_expression "(__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)" ( (binary_expression "__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e" (binary_expression "__ptr[0x1b] >> 2" (subscript_expression "__ptr[0x1b]" identifier [ number_literal ]) >> number_literal) | (binary_expression "__ptr[0x1c] << 0x1e" (subscript_expression "__ptr[0x1c]" identifier [ number_literal ]) << number_literal)) )))) )) || (parenthesized_expression "((char)__ptr[0x28] != '\0')" ( (binary_expression "(char)__ptr[0x28] != '\0'" (cast_expression "(char)__ptr[0x28]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "__ptr[0x28]" identifier [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) ))) )) || (parenthesized_expression "((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])" ( (binary_expression "(uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7]" (binary_expression "(uint)*(byte *)((int)__ptr + 0xa1)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)__ptr + 0xa1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr + 0xa1)" ( (binary_expression "(int)__ptr + 0xa1" (cast_expression "(int)__ptr" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (subscript_expression "__ptr[7]" identifier [ number_literal ])) ))) )) (compound_statement "{\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }" { (expression_statement "*(undefined1 *)(__ptr + 9) = 0;" (assignment_expression "*(undefined1 *)(__ptr + 9) = 0" (pointer_expression "*(undefined1 *)(__ptr + 9)" * (cast_expression "(undefined1 *)(__ptr + 9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(__ptr + 9)" ( (binary_expression "__ptr + 9" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }" { (expression_statement "iVar8 = 7;" (assignment_expression "iVar8 = 7" identifier = number_literal) ;) (expression_statement "pppuVar13 = (undefined ***)(piVar14 + -1);" (assignment_expression "pppuVar13 = (undefined ***)(piVar14 + -1)" identifier = (cast_expression "(undefined ***)(piVar14 + -1)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(piVar14 + -1)" ( (binary_expression "piVar14 + -1" identifier + number_literal) )))) ;) (goto_statement "goto LAB_0007de61;" goto statement_identifier ;) })) (goto_statement "goto LAB_0007dd1d;" goto statement_identifier ;) })) (expression_statement "*(undefined1 *)(__ptr + 9) = 0;" (assignment_expression "*(undefined1 *)(__ptr + 9) = 0" (pointer_expression "*(undefined1 *)(__ptr + 9)" * (cast_expression "(undefined1 *)(__ptr + 9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(__ptr + 9)" ( (binary_expression "__ptr + 9" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (iVar8 != 0) {\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }" { (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" identifier = number_literal) ;) (expression_statement "pppuVar13 = (undefined ***)(piVar14 + -1);" (assignment_expression "pppuVar13 = (undefined ***)(piVar14 + -1)" identifier = (cast_expression "(undefined ***)(piVar14 + -1)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(piVar14 + -1)" ( (binary_expression "piVar14 + -1" identifier + number_literal) )))) ;) (goto_statement "goto LAB_0007de61;" goto statement_identifier ;) })) (goto_statement "goto LAB_0007de8b;" goto statement_identifier ;) })) (labeled_statement "LAB_0007ddc4:\n        pppuVar13 = (undefined ***)piVar15;" statement_identifier : (expression_statement "pppuVar13 = (undefined ***)piVar15;" (assignment_expression "pppuVar13 = (undefined ***)piVar15" identifier = (cast_expression "(undefined ***)piVar15" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;)) (expression_statement "*(undefined1 *)(__ptr + 9) = 0;" (assignment_expression "*(undefined1 *)(__ptr + 9) = 0" (pointer_expression "*(undefined1 *)(__ptr + 9)" * (cast_expression "(undefined1 *)(__ptr + 9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(__ptr + 9)" ( (binary_expression "__ptr + 9" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;" if (parenthesized_expression "(*(int *)((int)pppuVar13 + 0x44) == 0)" ( (binary_expression "*(int *)((int)pppuVar13 + 0x44) == 0" (pointer_expression "*(int *)((int)pppuVar13 + 0x44)" * (cast_expression "(int *)((int)pppuVar13 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x44)" ( (binary_expression "(int)pppuVar13 + 0x44" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0007dd1d;" goto statement_identifier ;)) (expression_statement "iVar8 = 7;" (assignment_expression "iVar8 = 7" identifier = number_literal) ;) (goto_statement "goto LAB_0007de61;" goto statement_identifier ;) })) })) }) (else_clause "else {\n    if (*(int *)((int)pppuVar13 + 0x3c) + 1 != iVar8) goto LAB_0007deec;\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dee3;\n    FUN_0007d137();\n    uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n  }" else (compound_statement "{\n    if (*(int *)((int)pppuVar13 + 0x3c) + 1 != iVar8) goto LAB_0007deec;\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dee3;\n    FUN_0007d137();\n    uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n  }" { (if_statement "if (*(int *)((int)pppuVar13 + 0x3c) + 1 != iVar8) goto LAB_0007deec;" if (parenthesized_expression "(*(int *)((int)pppuVar13 + 0x3c) + 1 != iVar8)" ( (binary_expression "*(int *)((int)pppuVar13 + 0x3c) + 1 != iVar8" (binary_expression "*(int *)((int)pppuVar13 + 0x3c) + 1" (pointer_expression "*(int *)((int)pppuVar13 + 0x3c)" * (cast_expression "(int *)((int)pppuVar13 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x3c)" ( (binary_expression "(int)pppuVar13 + 0x3c" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) != identifier) )) (goto_statement "goto LAB_0007deec;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)((int)pppuVar13 + -4) = 0x7dee3;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -4) = 0x7dee3" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -4)" * (cast_expression "(undefined4 *)((int)pppuVar13 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -4)" ( (binary_expression "(int)pppuVar13 + -4" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0007d137();" (call_expression "FUN_0007d137()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar7 = *(uint *)((int)pppuVar13 + 0x38);" (assignment_expression "uVar7 = *(uint *)((int)pppuVar13 + 0x38)" identifier = (pointer_expression "*(uint *)((int)pppuVar13 + 0x38)" * (cast_expression "(uint *)((int)pppuVar13 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x38)" ( (binary_expression "(int)pppuVar13 + 0x38" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) })))) (labeled_statement "LAB_0007dd85:\n  iVar8 = *(int *)((int)pppuVar13 + 0x44);" statement_identifier : (expression_statement "iVar8 = *(int *)((int)pppuVar13 + 0x44);" (assignment_expression "iVar8 = *(int *)((int)pppuVar13 + 0x44)" identifier = (pointer_expression "*(int *)((int)pppuVar13 + 0x44)" * (cast_expression "(int *)((int)pppuVar13 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x44)" ( (binary_expression "(int)pppuVar13 + 0x44" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (if_statement "if ((*(uint *)((int)pppuVar13 + 4) == uVar7) && (*(int *)((int)pppuVar13 + 0x20) == iVar8)) {\n    if ((char)__ptr[9] == '\0') {\n      *(undefined1 *)(__ptr + 9) = 1;\n      if (iVar8 == 0) goto LAB_0007de94;\n      iVar8 = 0;\n      goto LAB_0007de61;\n    }\n    if (iVar8 != 0) {\n      iVar8 = 8;\n      goto LAB_0007de61;\n    }\n    goto LAB_0007dd1d;\n  }" if (parenthesized_expression "((*(uint *)((int)pppuVar13 + 4) == uVar7) && (*(int *)((int)pppuVar13 + 0x20) == iVar8))" ( (binary_expression "(*(uint *)((int)pppuVar13 + 4) == uVar7) && (*(int *)((int)pppuVar13 + 0x20) == iVar8)" (parenthesized_expression "(*(uint *)((int)pppuVar13 + 4) == uVar7)" ( (binary_expression "*(uint *)((int)pppuVar13 + 4) == uVar7" (pointer_expression "*(uint *)((int)pppuVar13 + 4)" * (cast_expression "(uint *)((int)pppuVar13 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 4)" ( (binary_expression "(int)pppuVar13 + 4" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == identifier) )) && (parenthesized_expression "(*(int *)((int)pppuVar13 + 0x20) == iVar8)" ( (binary_expression "*(int *)((int)pppuVar13 + 0x20) == iVar8" (pointer_expression "*(int *)((int)pppuVar13 + 0x20)" * (cast_expression "(int *)((int)pppuVar13 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x20)" ( (binary_expression "(int)pppuVar13 + 0x20" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == identifier) ))) )) (compound_statement "{\n    if ((char)__ptr[9] == '\0') {\n      *(undefined1 *)(__ptr + 9) = 1;\n      if (iVar8 == 0) goto LAB_0007de94;\n      iVar8 = 0;\n      goto LAB_0007de61;\n    }\n    if (iVar8 != 0) {\n      iVar8 = 8;\n      goto LAB_0007de61;\n    }\n    goto LAB_0007dd1d;\n  }" { (if_statement "if ((char)__ptr[9] == '\0') {\n      *(undefined1 *)(__ptr + 9) = 1;\n      if (iVar8 == 0) goto LAB_0007de94;\n      iVar8 = 0;\n      goto LAB_0007de61;\n    }" if (parenthesized_expression "((char)__ptr[9] == '\0')" ( (binary_expression "(char)__ptr[9] == '\0'" (cast_expression "(char)__ptr[9]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "__ptr[9]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *(undefined1 *)(__ptr + 9) = 1;\n      if (iVar8 == 0) goto LAB_0007de94;\n      iVar8 = 0;\n      goto LAB_0007de61;\n    }" { (expression_statement "*(undefined1 *)(__ptr + 9) = 1;" (assignment_expression "*(undefined1 *)(__ptr + 9) = 1" (pointer_expression "*(undefined1 *)(__ptr + 9)" * (cast_expression "(undefined1 *)(__ptr + 9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(__ptr + 9)" ( (binary_expression "__ptr + 9" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (iVar8 == 0) goto LAB_0007de94;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0007de94;" goto statement_identifier ;)) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0007de61;" goto statement_identifier ;) })) (if_statement "if (iVar8 != 0) {\n      iVar8 = 8;\n      goto LAB_0007de61;\n    }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar8 = 8;\n      goto LAB_0007de61;\n    }" { (expression_statement "iVar8 = 8;" (assignment_expression "iVar8 = 8" identifier = number_literal) ;) (goto_statement "goto LAB_0007de61;" goto statement_identifier ;) })) (goto_statement "goto LAB_0007dd1d;" goto statement_identifier ;) })) (expression_statement "*(undefined1 *)(__ptr + 9) = 0;" (assignment_expression "*(undefined1 *)(__ptr + 9) = 0" (pointer_expression "*(undefined1 *)(__ptr + 9)" * (cast_expression "(undefined1 *)(__ptr + 9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(__ptr + 9)" ( (binary_expression "__ptr + 9" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (iVar8 != 0) {\n    iVar8 = 0;\n    goto LAB_0007de61;\n  }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar8 = 0;\n    goto LAB_0007de61;\n  }" { (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0007de61;" goto statement_identifier ;) })) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0007de94;" goto statement_identifier ;) (labeled_statement "LAB_0007deec:\n  *(int *)((int)pppuVar13 + 0x38) = iVar8;" statement_identifier : (expression_statement "*(int *)((int)pppuVar13 + 0x38) = iVar8;" (assignment_expression "*(int *)((int)pppuVar13 + 0x38) = iVar8" (pointer_expression "*(int *)((int)pppuVar13 + 0x38)" * (cast_expression "(int *)((int)pppuVar13 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x38)" ( (binary_expression "(int)pppuVar13 + 0x38" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "piVar15 = (int *)pppuVar13;" (assignment_expression "piVar15 = (int *)pppuVar13" identifier = (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*(char *)(*(int *)((int)pppuVar13 + 0x34) + -2 + iVar8) != '\0') goto LAB_0007defc;" if (parenthesized_expression "(*(char *)(*(int *)((int)pppuVar13 + 0x34) + -2 + iVar8) != '\0')" ( (binary_expression "*(char *)(*(int *)((int)pppuVar13 + 0x34) + -2 + iVar8) != '\0'" (pointer_expression "*(char *)(*(int *)((int)pppuVar13 + 0x34) + -2 + iVar8)" * (cast_expression "(char *)(*(int *)((int)pppuVar13 + 0x34) + -2 + iVar8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)pppuVar13 + 0x34) + -2 + iVar8)" ( (binary_expression "*(int *)((int)pppuVar13 + 0x34) + -2 + iVar8" (binary_expression "*(int *)((int)pppuVar13 + 0x34) + -2" (pointer_expression "*(int *)((int)pppuVar13 + 0x34)" * (cast_expression "(int *)((int)pppuVar13 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x34)" ( (binary_expression "(int)pppuVar13 + 0x34" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) + identifier) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0007defc;" goto statement_identifier ;)) (goto_statement "goto LAB_0007dc95;" goto statement_identifier ;) (labeled_statement "LAB_0007defc:\n  iVar5 = *(int *)((int)piVar15 + 0x44);" statement_identifier : (expression_statement "iVar5 = *(int *)((int)piVar15 + 0x44);" (assignment_expression "iVar5 = *(int *)((int)piVar15 + 0x44)" identifier = (pointer_expression "*(int *)((int)piVar15 + 0x44)" * (cast_expression "(int *)((int)piVar15 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 0x44)" ( (binary_expression "(int)piVar15 + 0x44" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (expression_statement "iVar8 = 7;" (assignment_expression "iVar8 = 7" identifier = number_literal) ;) (expression_statement "pppuVar13 = (undefined ***)piVar15;" (assignment_expression "pppuVar13 = (undefined ***)piVar15" identifier = (cast_expression "(undefined ***)piVar15" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (labeled_statement "LAB_0007df05:\n  *(undefined1 *)(__ptr + 9) = 0;" statement_identifier : (expression_statement "*(undefined1 *)(__ptr + 9) = 0;" (assignment_expression "*(undefined1 *)(__ptr + 9) = 0" (pointer_expression "*(undefined1 *)(__ptr + 9)" * (cast_expression "(undefined1 *)(__ptr + 9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(__ptr + 9)" ( (binary_expression "__ptr + 9" identifier + number_literal) )))) = number_literal) ;)) (labeled_statement "joined_r0x0007dd0e:\n  if (iVar5 != 0) {\nLAB_0007de61:\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7de70;\n    FUN_000804d0();\n    puVar1 = (uint *)((int)pppuVar13 + 0x10);\n    uVar7 = *puVar1;\n    *puVar1 = *puVar1 + *(uint *)((int)pppuVar13 + 0x44);\n    *(int *)((int)pppuVar13 + 0x14) =\n         *(int *)((int)pppuVar13 + 0x14) + (uint)CARRY4(uVar7,*(uint *)((int)pppuVar13 + 0x44));\n    *(undefined4 *)((int)pppuVar13 + 0x44) = 0;\n    piVar12 = (int *)pppuVar13;\n    if (iVar8 == 1) {\nLAB_0007de8b:\n      uVar7 = *(uint *)((int)piVar12 + 0x38);\n      iVar8 = 1;\n      pppuVar13 = (undefined ***)piVar12;\n      goto LAB_0007de94;\n    }\n    if (iVar8 == 0) {\n      uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n      iVar8 = 0;\n      goto LAB_0007de94;\n    }\n  }" statement_identifier : (if_statement "if (iVar5 != 0) {\nLAB_0007de61:\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7de70;\n    FUN_000804d0();\n    puVar1 = (uint *)((int)pppuVar13 + 0x10);\n    uVar7 = *puVar1;\n    *puVar1 = *puVar1 + *(uint *)((int)pppuVar13 + 0x44);\n    *(int *)((int)pppuVar13 + 0x14) =\n         *(int *)((int)pppuVar13 + 0x14) + (uint)CARRY4(uVar7,*(uint *)((int)pppuVar13 + 0x44));\n    *(undefined4 *)((int)pppuVar13 + 0x44) = 0;\n    piVar12 = (int *)pppuVar13;\n    if (iVar8 == 1) {\nLAB_0007de8b:\n      uVar7 = *(uint *)((int)piVar12 + 0x38);\n      iVar8 = 1;\n      pppuVar13 = (undefined ***)piVar12;\n      goto LAB_0007de94;\n    }\n    if (iVar8 == 0) {\n      uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n      iVar8 = 0;\n      goto LAB_0007de94;\n    }\n  }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0007de61:\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7de70;\n    FUN_000804d0();\n    puVar1 = (uint *)((int)pppuVar13 + 0x10);\n    uVar7 = *puVar1;\n    *puVar1 = *puVar1 + *(uint *)((int)pppuVar13 + 0x44);\n    *(int *)((int)pppuVar13 + 0x14) =\n         *(int *)((int)pppuVar13 + 0x14) + (uint)CARRY4(uVar7,*(uint *)((int)pppuVar13 + 0x44));\n    *(undefined4 *)((int)pppuVar13 + 0x44) = 0;\n    piVar12 = (int *)pppuVar13;\n    if (iVar8 == 1) {\nLAB_0007de8b:\n      uVar7 = *(uint *)((int)piVar12 + 0x38);\n      iVar8 = 1;\n      pppuVar13 = (undefined ***)piVar12;\n      goto LAB_0007de94;\n    }\n    if (iVar8 == 0) {\n      uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n      iVar8 = 0;\n      goto LAB_0007de94;\n    }\n  }" { (labeled_statement "LAB_0007de61:\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7de70;" statement_identifier : (expression_statement "*(undefined4 *)((int)pppuVar13 + -4) = 0x7de70;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -4) = 0x7de70" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -4)" * (cast_expression "(undefined4 *)((int)pppuVar13 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -4)" ( (binary_expression "(int)pppuVar13 + -4" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;)) (expression_statement "FUN_000804d0();" (call_expression "FUN_000804d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar1 = (uint *)((int)pppuVar13 + 0x10);" (assignment_expression "puVar1 = (uint *)((int)pppuVar13 + 0x10)" identifier = (cast_expression "(uint *)((int)pppuVar13 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x10)" ( (binary_expression "(int)pppuVar13 + 0x10" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "uVar7 = *puVar1;" (assignment_expression "uVar7 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "*puVar1 = *puVar1 + *(uint *)((int)pppuVar13 + 0x44);" (assignment_expression "*puVar1 = *puVar1 + *(uint *)((int)pppuVar13 + 0x44)" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 + *(uint *)((int)pppuVar13 + 0x44)" (pointer_expression "*puVar1" * identifier) + (pointer_expression "*(uint *)((int)pppuVar13 + 0x44)" * (cast_expression "(uint *)((int)pppuVar13 + 0x44)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x44)" ( (binary_expression "(int)pppuVar13 + 0x44" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))) ;) (expression_statement "*(int *)((int)pppuVar13 + 0x14) =\n         *(int *)((int)pppuVar13 + 0x14) + (uint)CARRY4(uVar7,*(uint *)((int)pppuVar13 + 0x44));" (assignment_expression "*(int *)((int)pppuVar13 + 0x14) =\n         *(int *)((int)pppuVar13 + 0x14) + (uint)CARRY4(uVar7,*(uint *)((int)pppuVar13 + 0x44))" (pointer_expression "*(int *)((int)pppuVar13 + 0x14)" * (cast_expression "(int *)((int)pppuVar13 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x14)" ( (binary_expression "(int)pppuVar13 + 0x14" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)pppuVar13 + 0x14) + (uint)CARRY4(uVar7,*(uint *)((int)pppuVar13 + 0x44))" (pointer_expression "*(int *)((int)pppuVar13 + 0x14)" * (cast_expression "(int *)((int)pppuVar13 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x14)" ( (binary_expression "(int)pppuVar13 + 0x14" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + (cast_expression "(uint)CARRY4(uVar7,*(uint *)((int)pppuVar13 + 0x44))" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar7,*(uint *)((int)pppuVar13 + 0x44))" identifier (argument_list "(uVar7,*(uint *)((int)pppuVar13 + 0x44))" ( identifier , (pointer_expression "*(uint *)((int)pppuVar13 + 0x44)" * (cast_expression "(uint *)((int)pppuVar13 + 0x44)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x44)" ( (binary_expression "(int)pppuVar13 + 0x44" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))))) ;) (expression_statement "*(undefined4 *)((int)pppuVar13 + 0x44) = 0;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + 0x44) = 0" (pointer_expression "*(undefined4 *)((int)pppuVar13 + 0x44)" * (cast_expression "(undefined4 *)((int)pppuVar13 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x44)" ( (binary_expression "(int)pppuVar13 + 0x44" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar12 = (int *)pppuVar13;" (assignment_expression "piVar12 = (int *)pppuVar13" identifier = (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (iVar8 == 1) {\nLAB_0007de8b:\n      uVar7 = *(uint *)((int)piVar12 + 0x38);\n      iVar8 = 1;\n      pppuVar13 = (undefined ***)piVar12;\n      goto LAB_0007de94;\n    }" if (parenthesized_expression "(iVar8 == 1)" ( (binary_expression "iVar8 == 1" identifier == number_literal) )) (compound_statement "{\nLAB_0007de8b:\n      uVar7 = *(uint *)((int)piVar12 + 0x38);\n      iVar8 = 1;\n      pppuVar13 = (undefined ***)piVar12;\n      goto LAB_0007de94;\n    }" { (labeled_statement "LAB_0007de8b:\n      uVar7 = *(uint *)((int)piVar12 + 0x38);" statement_identifier : (expression_statement "uVar7 = *(uint *)((int)piVar12 + 0x38);" (assignment_expression "uVar7 = *(uint *)((int)piVar12 + 0x38)" identifier = (pointer_expression "*(uint *)((int)piVar12 + 0x38)" * (cast_expression "(uint *)((int)piVar12 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar12 + 0x38)" ( (binary_expression "(int)piVar12 + 0x38" (cast_expression "(int)piVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" identifier = number_literal) ;) (expression_statement "pppuVar13 = (undefined ***)piVar12;" (assignment_expression "pppuVar13 = (undefined ***)piVar12" identifier = (cast_expression "(undefined ***)piVar12" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (goto_statement "goto LAB_0007de94;" goto statement_identifier ;) })) (if_statement "if (iVar8 == 0) {\n      uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n      iVar8 = 0;\n      goto LAB_0007de94;\n    }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n      iVar8 = 0;\n      goto LAB_0007de94;\n    }" { (expression_statement "uVar7 = *(uint *)((int)pppuVar13 + 0x38);" (assignment_expression "uVar7 = *(uint *)((int)pppuVar13 + 0x38)" identifier = (pointer_expression "*(uint *)((int)pppuVar13 + 0x38)" * (cast_expression "(uint *)((int)pppuVar13 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x38)" ( (binary_expression "(int)pppuVar13 + 0x38" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0007de94;" goto statement_identifier ;) })) }))) (if_statement "if (iVar8 != 2) {\nLAB_0007dd1d:\n    ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x6009;\n    ((int *)pppuVar13)[-5] = 0x7dd30;\n    FUN_000191bd();\n    ((int *)pppuVar13)[4] = -1;\n    ((int *)pppuVar13)[5] = -1;\nLAB_0007dafd:\n    uVar7 = __ptr[0x126];\n    *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar7 + 0x18);\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db14;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    *(uint *)((int)pppuVar13 + -0x10) = uVar7;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db1c;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    *(uint **)((int)pppuVar13 + -0x10) = __ptr;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db24;\n    free(*(void **)((int)pppuVar13 + -0x10));\nLAB_0007db27:\n    *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)((int)pppuVar13 + 0xc);\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db37;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    if (*(int *)((int)pppuVar13 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)) {\n      return *(undefined8 *)((int)pppuVar13 + 0x10);\n    }\n                    \n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dc1f;\n    FUN_00017e10();\n  }" if (parenthesized_expression "(iVar8 != 2)" ( (binary_expression "iVar8 != 2" identifier != number_literal) )) (compound_statement "{\nLAB_0007dd1d:\n    ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x6009;\n    ((int *)pppuVar13)[-5] = 0x7dd30;\n    FUN_000191bd();\n    ((int *)pppuVar13)[4] = -1;\n    ((int *)pppuVar13)[5] = -1;\nLAB_0007dafd:\n    uVar7 = __ptr[0x126];\n    *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar7 + 0x18);\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db14;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    *(uint *)((int)pppuVar13 + -0x10) = uVar7;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db1c;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    *(uint **)((int)pppuVar13 + -0x10) = __ptr;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db24;\n    free(*(void **)((int)pppuVar13 + -0x10));\nLAB_0007db27:\n    *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)((int)pppuVar13 + 0xc);\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db37;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    if (*(int *)((int)pppuVar13 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)) {\n      return *(undefined8 *)((int)pppuVar13 + 0x10);\n    }\n                    \n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dc1f;\n    FUN_00017e10();\n  }" { (labeled_statement "LAB_0007dd1d:\n    ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x6009;" statement_identifier : (expression_statement "((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x6009;" (assignment_expression "((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x6009" (subscript_expression "((int *)pppuVar13)[-4]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (binary_expression "(int)*pppuVar13 + -0x6009" (cast_expression "(int)*pppuVar13" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppuVar13" * identifier)) + number_literal)) ;)) (expression_statement "((int *)pppuVar13)[-5] = 0x7dd30;" (assignment_expression "((int *)pppuVar13)[-5] = 0x7dd30" (subscript_expression "((int *)pppuVar13)[-5]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "FUN_000191bd();" (call_expression "FUN_000191bd()" identifier (argument_list "()" ( ))) ;) (expression_statement "((int *)pppuVar13)[4] = -1;" (assignment_expression "((int *)pppuVar13)[4] = -1" (subscript_expression "((int *)pppuVar13)[4]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "((int *)pppuVar13)[5] = -1;" (assignment_expression "((int *)pppuVar13)[5] = -1" (subscript_expression "((int *)pppuVar13)[5]" (parenthesized_expression "((int *)pppuVar13)" ( (cast_expression "(int *)pppuVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_0007dafd:\n    uVar7 = __ptr[0x126];" statement_identifier : (expression_statement "uVar7 = __ptr[0x126];" (assignment_expression "uVar7 = __ptr[0x126]" identifier = (subscript_expression "__ptr[0x126]" identifier [ number_literal ])) ;)) (expression_statement "*(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar7 + 0x18);" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar7 + 0x18)" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -0x10)" * (cast_expression "(undefined4 *)((int)pppuVar13 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -0x10)" ( (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(uVar7 + 0x18)" * (cast_expression "(undefined4 *)(uVar7 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar7 + 0x18)" ( (binary_expression "uVar7 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db14;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db14" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -0x14)" * (cast_expression "(undefined4 *)((int)pppuVar13 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -0x14)" ( (binary_expression "(int)pppuVar13 + -0x14" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)pppuVar13 + -0x10));" (call_expression "free(*(void **)((int)pppuVar13 + -0x10))" identifier (argument_list "(*(void **)((int)pppuVar13 + -0x10))" ( (pointer_expression "*(void **)((int)pppuVar13 + -0x10)" * (cast_expression "(void **)((int)pppuVar13 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppuVar13 + -0x10)" ( (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "*(uint *)((int)pppuVar13 + -0x10) = uVar7;" (assignment_expression "*(uint *)((int)pppuVar13 + -0x10) = uVar7" (pointer_expression "*(uint *)((int)pppuVar13 + -0x10)" * (cast_expression "(uint *)((int)pppuVar13 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -0x10)" ( (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db1c;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db1c" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -0x14)" * (cast_expression "(undefined4 *)((int)pppuVar13 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -0x14)" ( (binary_expression "(int)pppuVar13 + -0x14" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)pppuVar13 + -0x10));" (call_expression "free(*(void **)((int)pppuVar13 + -0x10))" identifier (argument_list "(*(void **)((int)pppuVar13 + -0x10))" ( (pointer_expression "*(void **)((int)pppuVar13 + -0x10)" * (cast_expression "(void **)((int)pppuVar13 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppuVar13 + -0x10)" ( (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "*(uint **)((int)pppuVar13 + -0x10) = __ptr;" (assignment_expression "*(uint **)((int)pppuVar13 + -0x10) = __ptr" (pointer_expression "*(uint **)((int)pppuVar13 + -0x10)" * (cast_expression "(uint **)((int)pppuVar13 + -0x10)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppuVar13 + -0x10)" ( (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db24;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db24" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -0x14)" * (cast_expression "(undefined4 *)((int)pppuVar13 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -0x14)" ( (binary_expression "(int)pppuVar13 + -0x14" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)pppuVar13 + -0x10));" (call_expression "free(*(void **)((int)pppuVar13 + -0x10))" identifier (argument_list "(*(void **)((int)pppuVar13 + -0x10))" ( (pointer_expression "*(void **)((int)pppuVar13 + -0x10)" * (cast_expression "(void **)((int)pppuVar13 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppuVar13 + -0x10)" ( (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (labeled_statement "LAB_0007db27:\n    *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)((int)pppuVar13 + 0xc);" statement_identifier : (expression_statement "*(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)((int)pppuVar13 + 0xc);" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)((int)pppuVar13 + 0xc)" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -0x10)" * (cast_expression "(undefined4 *)((int)pppuVar13 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -0x10)" ( (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)pppuVar13 + 0xc)" * (cast_expression "(undefined4 *)((int)pppuVar13 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0xc)" ( (binary_expression "(int)pppuVar13 + 0xc" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (expression_statement "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db37;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db37" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -0x14)" * (cast_expression "(undefined4 *)((int)pppuVar13 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -0x14)" ( (binary_expression "(int)pppuVar13 + -0x14" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)pppuVar13 + -0x10));" (call_expression "free(*(void **)((int)pppuVar13 + -0x10))" identifier (argument_list "(*(void **)((int)pppuVar13 + -0x10))" ( (pointer_expression "*(void **)((int)pppuVar13 + -0x10)" * (cast_expression "(void **)((int)pppuVar13 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppuVar13 + -0x10)" ( (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (if_statement "if (*(int *)((int)pppuVar13 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)) {\n      return *(undefined8 *)((int)pppuVar13 + 0x10);\n    }" if (parenthesized_expression "(*(int *)((int)pppuVar13 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "*(int *)((int)pppuVar13 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(int *)((int)pppuVar13 + 0x4c)" * (cast_expression "(int *)((int)pppuVar13 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x4c)" ( (binary_expression "(int)pppuVar13 + 0x4c" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n      return *(undefined8 *)((int)pppuVar13 + 0x10);\n    }" { (return_statement "return *(undefined8 *)((int)pppuVar13 + 0x10);" return (pointer_expression "*(undefined8 *)((int)pppuVar13 + 0x10)" * (cast_expression "(undefined8 *)((int)pppuVar13 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x10)" ( (binary_expression "(int)pppuVar13 + 0x10" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (expression_statement "*(undefined4 *)((int)pppuVar13 + -4) = 0x7dc1f;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -4) = 0x7dc1f" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -4)" * (cast_expression "(undefined4 *)((int)pppuVar13 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -4)" ( (binary_expression "(int)pppuVar13 + -4" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00017e10();" (call_expression "FUN_00017e10()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar7 = *(uint *)((int)pppuVar13 + 0x38);" (assignment_expression "uVar7 = *(uint *)((int)pppuVar13 + 0x38)" identifier = (pointer_expression "*(uint *)((int)pppuVar13 + 0x38)" * (cast_expression "(uint *)((int)pppuVar13 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0x38)" ( (binary_expression "(int)pppuVar13 + 0x38" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar8 = 2;" (assignment_expression "iVar8 = 2" identifier = number_literal) ;) (labeled_statement "LAB_0007de94:\n  *(uint *)((int)pppuVar13 + 4) = uVar7;" statement_identifier : (expression_statement "*(uint *)((int)pppuVar13 + 4) = uVar7;" (assignment_expression "*(uint *)((int)pppuVar13 + 4) = uVar7" (pointer_expression "*(uint *)((int)pppuVar13 + 4)" * (cast_expression "(uint *)((int)pppuVar13 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 4)" ( (binary_expression "(int)pppuVar13 + 4" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (goto_statement "goto LAB_0007daa8;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE (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 IDENT ;) (declaration TYPE 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 * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (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 (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & 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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) == (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = LIT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) + (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ])) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ])) ;) })) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ])) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = (binary_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) }) while (parenthesized_expression ( (binary_expression (subscript_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) ))) [ LIT ]) < (subscript_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) ))) [ LIT ])) )) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ])) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ])) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (do_statement do (compound_statement { }) while (parenthesized_expression ( (binary_expression LIT < IDENT) )) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;)) (switch_statement switch (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) + LIT) + (binary_expression IDENT * LIT)) )))) + (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT))) )) (compound_statement { (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (subscript_expression IDENT [ LIT ])) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (unary_expression ~ IDENT) != (subscript_expression IDENT [ LIT ])) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) + LIT) )))) ;) (goto_statement goto statement_identifier ;) })) })) (break_statement break ;)) (case_statement case LIT : (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (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 = (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 *)))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + IDENT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (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 IDENT == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) - LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (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 IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (unary_expression ~ IDENT) != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) ))))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (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 LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (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 = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) < (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) )))) == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) + LIT) << (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) + LIT) & LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) })) (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 (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) })) })) })) })) (break_statement break ;)) (case_statement case LIT : (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ])) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) - (subscript_expression IDENT [ LIT ])) )) + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (binary_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) - (subscript_expression IDENT [ LIT ])) , (subscript_expression IDENT [ LIT ]) )))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( 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 (parenthesized_expression ( (binary_expression (binary_expression IDENT <= (subscript_expression IDENT [ LIT ])) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) < IDENT) ))) <= (binary_expression (subscript_expression IDENT [ LIT ]) - IDENT))) )) && (parenthesized_expression ( (binary_expression (binary_expression IDENT <= (subscript_expression IDENT [ LIT ])) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) < IDENT) ))) <= (binary_expression (subscript_expression IDENT [ LIT ]) - IDENT))) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (unary_expression ~ 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 (abstract_pointer_declarator *)) ) IDENT) + LIT) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & (subscript_expression IDENT [ LIT ])) )) == LIT) )) || (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) == (subscript_expression IDENT [ LIT ])) && (binary_expression (subscript_expression IDENT [ LIT ]) == (subscript_expression IDENT [ LIT ]))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & (subscript_expression IDENT [ LIT ])) )) == LIT) )) || (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) == (subscript_expression IDENT [ LIT ])) && (binary_expression (subscript_expression IDENT [ LIT ]) == IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) + LIT) + (subscript_expression IDENT [ LIT ])) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT ))))) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT ))))) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT )))))) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (unary_expression ~ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) ))))) ;) (expression_statement (assignment_expression (pointer_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 (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) + LIT) )))) ;) (goto_statement goto statement_identifier ;) })) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ])) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression LIT < IDENT) )))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_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 (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression LIT < IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) })) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (labeled_statement statement_identifier : (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 ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) )))) != (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT >> (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))) )))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < LIT) )) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * IDENT) + LIT) + (subscript_expression IDENT [ LIT ])) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) + IDENT)) )) (break_statement break ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) + IDENT)) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }))) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (goto_statement goto statement_identifier ;)) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;)) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (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 *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (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) )))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) )))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression IDENT = (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 (binary_expression (subscript_expression IDENT [ LIT ]) == IDENT) && (binary_expression (subscript_expression IDENT [ LIT ]) == IDENT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) )))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (unary_expression ~ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) - LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) - LIT) )) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression 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 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) )))) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;)) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT != LIT)) )) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (labeled_statement statement_identifier : (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (unary_expression ~ IDENT) + IDENT) + IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (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 *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (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 = (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) )))) != (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT >> (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))) )))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (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 (pointer_expression * IDENT) = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (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 IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;)) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (unary_expression ~ IDENT) != (subscript_expression IDENT [ LIT ])) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) >> LIT) != LIT) || (binary_expression (subscript_expression IDENT [ LIT ]) != (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) >> LIT) | (binary_expression (subscript_expression IDENT [ LIT ]) << LIT)) )))) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) != (char_literal ' escape_sequence ')) ))) )) || (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (subscript_expression IDENT [ LIT ])) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (goto_statement goto statement_identifier ;) })) (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 *)))) ) IDENT)) ;)) (expression_statement (assignment_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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + LIT) != IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) })))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == IDENT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == IDENT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + LIT) + IDENT) )))) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (goto_statement goto statement_identifier ;) })) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) + LIT)) ;)) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (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 = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;)) (goto_statement goto statement_identifier ;) })))
(function_definition "undefined8 FUN_0007d999(void)\n\n{\n  uint *puVar1;\n  bool bVar2;\n  char cVar3;\n  uint *__ptr;\n  void *pvVar4;\n  int iVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  int *piVar12;\n  undefined ***pppuVar13;\n  int *piVar14;\n  int *piVar15;\n  int *piVar16;\n  undefined4 **ppuVar17;\n  uint uVar18;\n  int in_GS_OFFSET;\n  byte bVar19;\n  undefined **local_6c;\n  undefined4 local_68;\n  undefined4 **local_64;\n  undefined4 *local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  char *local_54;\n  undefined4 *local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 *local_2c;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  bVar19 = 0;\n  pppuVar13 = &local_6c;\n  local_6c = &__DT_PLTGOT;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  if (DAT_000d1718 == 0) {\n    FUN_000a62ce();\n  }\n  local_64 = &local_38;\n  ppuVar17 = local_64;\n  for (iVar8 = 6; iVar8 != 0; iVar8 = iVar8 + -1) {\n    *ppuVar17 = (undefined4 *)0x0;\n    ppuVar17 = ppuVar17 + (uint)bVar19 * -2 + 1;\n  }\n  local_60 = (undefined4 *)FUN_00019b1c();\n  local_2c = local_60 + 0x800;\n  local_24 = 0x2000;\n  if ((local_54 == (char *)0x0) || (*local_54 != '\0')) {\n    *local_60 = 0x587a37fd;\n    *(undefined2 *)(local_60 + 1) = 0x5a;\n    local_30 = 6;\n  }\n  local_38 = local_60;\n  __ptr = (uint *)malloc(0x49c);\n  if (__ptr != (uint *)0x0) {\n    __ptr[8] = 2;\n    pvVar4 = malloc(0x6f28);\n    if (pvVar4 == (void *)0x0) {\n      free(__ptr);\n      __ptr = (uint *)0x0;\n    }\n    else {\n      *(undefined4 *)((int)pvVar4 + 0x3c) = 2;\n      *(undefined4 *)((int)pvVar4 + 0x34) = 0x4000000;\n      *(undefined4 *)((int)pvVar4 + 0x18) = 0;\n      *(undefined4 *)((int)pvVar4 + 0x38) = 0;\n      __ptr[0x126] = (uint)pvVar4;\n      FUN_0007d0ea();\n    }\n  }\n  local_68 = local_34;\n  local_5c = 0;\n  local_58 = 0;\n  iVar8 = 1;\nLAB_0007daa8:\n  if (((int *)pppuVar13)[0xf] == ((int *)pppuVar13)[1]) {\n    ((int *)pppuVar13)[-1] = 0x7dacb;\n    iVar5 = FUN_0001ac64();\n    if (iVar5 < 0) {\n      ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x4f84;\n      ((int *)pppuVar13)[-5] = 0x7dae6;\n      FUN_000191bd();\n      ((int *)pppuVar13)[4] = -1;\n      ((int *)pppuVar13)[5] = -1;\n      if (__ptr != (uint *)0x0) goto LAB_0007dafd;\n      goto LAB_0007db27;\n    }\n    if ((iVar5 == 0) && (iVar8 == 1)) {\n      if (__ptr == (uint *)0x0) goto LAB_0007db27;\n      goto LAB_0007dafd;\n    }\n    ((int *)pppuVar13)[0xf] = iVar5;\n    ((int *)pppuVar13)[0xe] = 0;\n    ((int *)pppuVar13)[1] = 0;\n  }\n  if (iVar8 == 1) {\n    bVar2 = false;\n    do {\n      if (*(char *)(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1]) != '\0') {\n        if (bVar2) {\n          ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n        }\n        ((int *)pppuVar13)[-1] = 0x7dba9;\n        FUN_0007d0ea();\n        ((int *)pppuVar13)[1] = ((int *)pppuVar13)[0xe];\n        goto LAB_0007dbb1;\n      }\n      ((int *)pppuVar13)[1] = ((int *)pppuVar13)[1] + 1;\n      bVar2 = true;\n    } while ((uint)((int *)pppuVar13)[1] < (uint)((int *)pppuVar13)[0xf]);\n    ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n  }\nLAB_0007dbb1:\n  ((int *)pppuVar13)[8] = ((int *)pppuVar13)[0x11];\n  __ptr[4] = ((int *)pppuVar13)[1];\n  uVar7 = *__ptr;\n  ((int *)pppuVar13)[0xb] = (int)(__ptr + 0x15);\n  do {\n  } while (9 < uVar7);\nLAB_0007dbcf:\n  piVar14 = (int *)pppuVar13;\n  switch(*(int *)((int)*pppuVar13 + -0x154d0 + uVar7 * 4) + (int)*pppuVar13) {\n  case 0x7dc1f:\n    goto switchD_0007dbdb_caseD_7dc1f;\n  case 0x7dc7d:\n    goto switchD_0007dbdb_caseD_7dc7d;\n  case 0x7dcd4:\n    goto switchD_0007dbdb_caseD_7dcd4;\n  case 0x7dd72:\n    goto switchD_0007dbdb_caseD_7dd72;\n  case 0x7dfc9:\n    ((int *)pppuVar13)[-1] = 0x7dfd4;\n    cVar3 = FUN_0007d93a();\n    if (cVar3 == '\0') goto LAB_0007dd81;\n    *__ptr = 1;\n    if ((__ptr[0x26] != 0x587a37fd) || ((short)__ptr[0x27] != 0x5a)) {\n      iVar5 = ((int *)pppuVar13)[0x11];\n      iVar8 = 5;\n      goto LAB_0007df05;\n    }\n    ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n    ((int *)pppuVar13)[-5] = 0x7e023;\n    uVar7 = FUN_000a62f1();\n    piVar14 = (int *)pppuVar13 + -1;\n    piVar15 = (int *)pppuVar13 + -1;\n    if (~uVar7 != __ptr[0x28]) goto LAB_0007defc;\n    piVar15 = (int *)pppuVar13 + -1;\n    if (*(char *)((int)__ptr + 0x9e) == '\0') {\n      uVar7 = (uint)*(byte *)((int)__ptr + 0x9f);\n      __ptr[7] = uVar7;\n      piVar15 = (int *)pppuVar13 + -1;\n      if (uVar7 < 0x10) {\n        if (uVar7 < 2) goto switchD_0007dbdb_caseD_7e05d;\n        iVar5 = ((int *)pppuVar13)[0x10];\n        iVar8 = 2;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n        goto LAB_0007df05;\n      }\n    }\n    break;\n  case 0x7e05d:\nswitchD_0007dbdb_caseD_7e05d:\n    uVar10 = *(uint *)((int)piVar14 + 0x38);\n    uVar7 = *(uint *)((int)piVar14 + 0x3c);\n    pppuVar13 = (undefined ***)piVar14;\n    if (uVar10 == uVar7) goto LAB_0007dd85;\n    if (*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) != 0) {\n      uVar7 = (uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) * 4 + 4;\n      __ptr[0xe] = uVar7;\n      __ptr[0x25] = uVar7;\n      __ptr[0x24] = 0;\n      *__ptr = 2;\n      goto switchD_0007dbdb_caseD_7e09e;\n    }\n    *(uint *)((int)piVar14 + 0x38) = uVar10 + 1;\n    __ptr[4] = uVar10;\n    *__ptr = 6;\n    uVar7 = 6;\n    goto LAB_0007dbcf;\n  case 0x7e09e:\nswitchD_0007dbdb_caseD_7e09e:\n    piVar14[-1] = 0x7e0a9;\n    cVar3 = FUN_0007d93a();\n    pppuVar13 = (undefined ***)piVar14;\n    if (cVar3 == '\0') goto LAB_0007dd81;\n    __ptr[0x25] = __ptr[0x25] - 4;\n    piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n    piVar14[-5] = 0x7e0df;\n    uVar10 = FUN_000a62f1();\n    uVar7 = __ptr[0x25];\n    pppuVar13 = (undefined ***)(piVar14 + -1);\n    piVar16 = piVar14 + -1;\n    piVar15 = piVar14 + -1;\n    if (~uVar10 != *(uint *)((int)__ptr + uVar7 + 0x98)) goto LAB_0007defc;\n    __ptr[0x24] = 2;\n    bVar19 = *(byte *)((int)__ptr + 0x99);\n    piVar15 = piVar14 + -1;\n    if ((bVar19 & 0x3f) == 0) {\n      if ((bVar19 & 0x40) == 0) {\n        __ptr[10] = 0xffffffff;\n        __ptr[0xb] = 0xffffffff;\n        if (-1 < (char)bVar19) goto LAB_0007e129;\nLAB_0007e572:\n        *(uint *)((int)piVar16 + -0x10) = uVar7;\n        *(undefined4 *)((int)piVar16 + -0x14) = 0x7e585;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)((int)piVar16 + -4);\n        piVar15 = (int *)((int)piVar16 + -4);\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[0xc] = __ptr[2];\n        __ptr[0xd] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      else {\n        piVar14[-5] = uVar7;\n        piVar14[-6] = 0x7e5cc;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)(piVar14 + -2);\n        piVar16 = piVar14 + -2;\n        piVar15 = piVar14 + -2;\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[10] = __ptr[2];\n        __ptr[0xb] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        if (*(char *)((int)__ptr + 0x99) < '\0') goto LAB_0007e572;\nLAB_0007e129:\n        __ptr[0xc] = 0xffffffff;\n        __ptr[0xd] = 0xffffffff;\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      piVar15 = (int *)pppuVar13;\n      if (uVar9 < 2) goto LAB_0007defc;\n      __ptr[0x24] = uVar10 + 1;\n      if (*(char *)((int)__ptr + uVar10 + 0x98) == '!') {\n        __ptr[0x24] = uVar10 + 2;\n        if (*(char *)((int)__ptr + uVar10 + 0x99) == '\x01') {\n          if (uVar10 + 2 == uVar7) goto LAB_0007defc;\n          uVar9 = uVar10 + 3;\n          __ptr[0x24] = uVar9;\n          bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);\n          if (bVar19 < 0x28) {\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }\n        }\n      }\n    }\n    break;\n  case 0x7e21b:\nswitchD_0007dbdb_caseD_7e21b:\n    __ptr[4] = ((int *)pppuVar13)[0xe];\n    __ptr[5] = ((int *)pppuVar13)[0x11];\n    ((int *)pppuVar13)[-1] = 0x7e238;\n    iVar8 = FUN_0007d17c();\n    ((int *)pppuVar13)[7] = iVar8;\n    uVar9 = (((int *)pppuVar13)[0xe] - __ptr[4]) + __ptr[0xf];\n    uVar18 = __ptr[0x10] + (uint)CARRY4(((int *)pppuVar13)[0xe] - __ptr[4],__ptr[0xf]);\n    __ptr[0xf] = uVar9;\n    __ptr[0x10] = uVar18;\n    iVar5 = ((int *)pppuVar13)[0x11];\n    uVar7 = __ptr[5];\n    ((int *)pppuVar13)[9] = uVar7;\n    uVar7 = iVar5 - uVar7;\n    ((int *)pppuVar13)[10] = uVar7;\n    uVar10 = uVar7 + __ptr[0x11];\n    uVar7 = __ptr[0x12] + (uint)CARRY4(uVar7,__ptr[0x11]);\n    __ptr[0x11] = uVar10;\n    __ptr[0x12] = uVar7;\n    if ((uVar18 <= __ptr[0xb] && (uint)(__ptr[10] < uVar9) <= __ptr[0xb] - uVar18) &&\n       (uVar7 <= __ptr[0xd] && (uint)(__ptr[0xc] < uVar10) <= __ptr[0xd] - uVar7)) {\n      if (__ptr[7] == 1) {\n        ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n        ((int *)pppuVar13)[-5] = 0x7e2b9;\n        uVar7 = FUN_000a62f1();\n        __ptr[6] = ~uVar7;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n      }\n      if (((int *)pppuVar13)[7] == 1) {\n        piVar15 = (int *)pppuVar13;\n        if (((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||\n           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])) {\n          uVar7 = __ptr[0x11];\n          if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }\n        }\n        goto LAB_0007defc;\n      }\n      iVar8 = ((int *)pppuVar13)[7];\n      goto LAB_0007dfbc;\n    }\n    iVar8 = 7;\n    goto LAB_0007df05;\n  case 0x7e360:\nswitchD_0007dbdb_caseD_7e360:\n    uVar10 = __ptr[0xf];\n    uVar9 = __ptr[0x10];\n    if ((uVar10 & 3) != 0) {\n      uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n      uVar7 = *(uint *)((int)pppuVar13 + 0x3c);\n      if (uVar18 == uVar7) goto LAB_0007dd85;\n      iVar8 = *(int *)((int)pppuVar13 + 0x34);\n      *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n      piVar15 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      uVar9 = uVar9 + (0xfffffffe < uVar10);\n      while( true ) {\n        uVar10 = uVar10 + 1;\n        __ptr[0xf] = uVar10;\n        __ptr[0x10] = uVar9;\n        if ((uVar10 & 3) == 0) break;\n        uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n        uVar9 = uVar9 + (0xfffffffe < uVar10);\n        if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      }\n    }\n    *__ptr = 5;\n    piVar14 = (int *)pppuVar13;\nswitchD_0007dbdb_caseD_7e3b0:\n    pppuVar13 = (undefined ***)piVar14;\n    if (__ptr[7] == 1) {\n      uVar10 = piVar14[0xf];\n      iVar8 = piVar14[0xd];\n      uVar7 = piVar14[0xe];\n      do {\n        if (uVar10 == uVar7) goto LAB_0007dd85;\n        uVar9 = __ptr[1];\n        uVar18 = __ptr[6];\n        uVar7 = uVar7 + 1;\n        piVar14[0xe] = uVar7;\n        if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))\n        goto LAB_0007dcff;\n        uVar9 = uVar9 + 8;\n        __ptr[1] = uVar9;\n      } while (uVar9 < 0x20);\n      __ptr[6] = 0;\n      __ptr[1] = 0;\n    }\n    else {\n      uVar10 = __ptr[1];\n      uVar9 = (uint)*(byte *)(*piVar14 + -0x154a8 + __ptr[7]);\n      if (uVar10 < uVar9) {\n        uVar18 = piVar14[0xe];\n        uVar7 = piVar14[0xf];\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        uVar11 = uVar18;\n        while( true ) {\n          uVar11 = uVar11 + 1;\n          if (uVar11 == (uVar18 - uVar10) + uVar9) break;\n          if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }\n        }\n        piVar14[0xe] = uVar11;\n      }\n      __ptr[1] = 0;\n    }\n    *__ptr = 1;\n    uVar7 = 1;\n    goto LAB_0007dbcf;\n  case 0x7e3b0:\n    goto switchD_0007dbdb_caseD_7e3b0;\n  }\nLAB_0007e4e9:\n  iVar5 = *(int *)((int)piVar15 + 0x44);\n  iVar8 = 6;\n  pppuVar13 = (undefined ***)piVar15;\n  goto LAB_0007df05;\nswitchD_0007dbdb_caseD_7dc1f:\n  piVar15 = (int *)pppuVar13;\n  do {\n    *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x3c);\n    *(undefined4 *)((int)piVar15 + -0x14) = 0x7dc3a;\n    iVar8 = FUN_0007d044();\n    piVar14 = (int *)((int)piVar15 + -4);\n    pppuVar13 = (undefined ***)((int)piVar15 + -4);\n    if (iVar8 != 1) {\n      *(undefined4 *)((int)piVar15 + -8) = 0x7dfbc;\n      FUN_0007d137();\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\nLAB_0007dfbc:\n      if (iVar8 == 0) goto LAB_0007dd81;\n      goto LAB_0007dd04;\n    }\n    uVar7 = __ptr[0x1a];\n    if (uVar7 == 1) {\n      puVar1 = __ptr + 0x1f;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x20] = __ptr[0x20] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      __ptr[0x1a] = 2;\nLAB_0007dc68:\n      uVar7 = __ptr[0x1d];\n      uVar10 = __ptr[0x1e];\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\n    }\n    else {\n      if (uVar7 == 0) {\n        uVar7 = __ptr[2];\n        uVar10 = __ptr[3];\n        __ptr[0x1d] = uVar7;\n        __ptr[0x1e] = uVar10;\n        if (__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7) {\n          __ptr[0x1a] = 1;\n          goto LAB_0007dc6e;\n        }\n        goto LAB_0007dcff;\n      }\n      if (uVar7 != 2) goto LAB_0007dc68;\n      puVar1 = __ptr + 0x21;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x22] = __ptr[0x22] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)(*(int *)((int)piVar15 + -4) + 0xcf8);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7df5c;\n      uVar7 = FUN_000a62f1();\n      __ptr[0x23] = ~uVar7;\n      uVar7 = __ptr[0x1d] - 1;\n      uVar10 = (__ptr[0x1e] - 1) + (uint)(__ptr[0x1d] != 0);\n      __ptr[0x1d] = uVar7;\n      __ptr[0x1e] = uVar10;\n      __ptr[0x1a] = 1;\n      pppuVar13 = (undefined ***)((int)piVar15 + -8);\n    }\nLAB_0007dc6e:\n    piVar15 = (int *)pppuVar13;\n  } while (uVar10 != 0 || uVar7 != 0);\n  *__ptr = 7;\nswitchD_0007dbdb_caseD_7dc7d:\n  uVar7 = __ptr[0x1b];\n  iVar8 = *(int *)((int)pppuVar13 + 0x38) + 1;\n  uVar10 = __ptr[4];\nLAB_0007dc95:\n  if ((~uVar10 + iVar8 + uVar7 & 3) == 0) {\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dcae;\n    uVar6 = FUN_0007d137();\n    *(undefined4 *)((int)pppuVar13 + -4) = uVar6;\n    *(undefined4 *)((int)pppuVar13 + -8) = 0x14;\n    *(uint **)((int)pppuVar13 + -0xc) = __ptr + 0x1f;\n    *(uint **)((int)pppuVar13 + -0x10) = __ptr + 0x15;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7dcc2;\n    iVar8 = memcmp(*(void **)((int)pppuVar13 + -0x10),*(void **)((int)pppuVar13 + -0xc),\n                   *(size_t *)((int)pppuVar13 + -8));\n    piVar15 = (int *)pppuVar13;\n    if (iVar8 != 0) goto LAB_0007ddc4;\n    *__ptr = 8;\nswitchD_0007dbdb_caseD_7dcd4:\n    uVar10 = *(uint *)((int)pppuVar13 + 0x3c);\n    iVar8 = *(int *)((int)pppuVar13 + 0x34);\n    uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n    while (uVar10 != uVar7) {\n      uVar9 = __ptr[1];\n      uVar18 = __ptr[6];\n      uVar7 = uVar7 + 1;\n      *(uint *)((int)pppuVar13 + 0x38) = uVar7;\n      piVar14 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f))) {\nLAB_0007dcff:\n        iVar8 = 7;\n        pppuVar13 = (undefined ***)piVar14;\nLAB_0007dd04:\n        *(undefined1 *)(__ptr + 9) = 0;\n        iVar5 = *(int *)((int)pppuVar13 + 0x44);\n        goto joined_r0x0007dd0e;\n      }\n      uVar9 = uVar9 + 8;\n      __ptr[1] = uVar9;\n      if (0x1f < uVar9) {\n        __ptr[6] = 0;\n        __ptr[1] = 0;\n        __ptr[0x25] = 0xc;\n        *__ptr = 9;\nswitchD_0007dbdb_caseD_7dd72:\n        piVar14[-1] = 0x7dd7d;\n        cVar3 = FUN_0007d93a();\n        pppuVar13 = (undefined ***)piVar14;\n        if (cVar3 == '\0') {\nLAB_0007dd81:\n          uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n          break;\n        }\n        piVar15 = piVar14;\n        if (*(short *)((int)__ptr + 0xa2) == 0x5a59) {\n          piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n          piVar14[-5] = 0x7de00;\n          uVar7 = FUN_000a62f1();\n          piVar12 = piVar14 + -1;\n          pppuVar13 = (undefined ***)(piVar14 + -1);\n          piVar15 = piVar14 + -1;\n          if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;\n          iVar8 = piVar14[0x10];\n          if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }\n          *(undefined1 *)(__ptr + 9) = 0;\n          if (iVar8 != 0) {\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }\n          goto LAB_0007de8b;\n        }\nLAB_0007ddc4:\n        pppuVar13 = (undefined ***)piVar15;\n        *(undefined1 *)(__ptr + 9) = 0;\n        if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n        iVar8 = 7;\n        goto LAB_0007de61;\n      }\n    }\n  }\n  else {\n    if (*(int *)((int)pppuVar13 + 0x3c) + 1 != iVar8) goto LAB_0007deec;\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dee3;\n    FUN_0007d137();\n    uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n  }\nLAB_0007dd85:\n  iVar8 = *(int *)((int)pppuVar13 + 0x44);\n  if ((*(uint *)((int)pppuVar13 + 4) == uVar7) && (*(int *)((int)pppuVar13 + 0x20) == iVar8)) {\n    if ((char)__ptr[9] == '\0') {\n      *(undefined1 *)(__ptr + 9) = 1;\n      if (iVar8 == 0) goto LAB_0007de94;\n      iVar8 = 0;\n      goto LAB_0007de61;\n    }\n    if (iVar8 != 0) {\n      iVar8 = 8;\n      goto LAB_0007de61;\n    }\n    goto LAB_0007dd1d;\n  }\n  *(undefined1 *)(__ptr + 9) = 0;\n  if (iVar8 != 0) {\n    iVar8 = 0;\n    goto LAB_0007de61;\n  }\n  iVar8 = 0;\n  goto LAB_0007de94;\nLAB_0007deec:\n  *(int *)((int)pppuVar13 + 0x38) = iVar8;\n  iVar8 = iVar8 + 1;\n  piVar15 = (int *)pppuVar13;\n  if (*(char *)(*(int *)((int)pppuVar13 + 0x34) + -2 + iVar8) != '\0') goto LAB_0007defc;\n  goto LAB_0007dc95;\nLAB_0007defc:\n  iVar5 = *(int *)((int)piVar15 + 0x44);\n  iVar8 = 7;\n  pppuVar13 = (undefined ***)piVar15;\nLAB_0007df05:\n  *(undefined1 *)(__ptr + 9) = 0;\njoined_r0x0007dd0e:\n  if (iVar5 != 0) {\nLAB_0007de61:\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7de70;\n    FUN_000804d0();\n    puVar1 = (uint *)((int)pppuVar13 + 0x10);\n    uVar7 = *puVar1;\n    *puVar1 = *puVar1 + *(uint *)((int)pppuVar13 + 0x44);\n    *(int *)((int)pppuVar13 + 0x14) =\n         *(int *)((int)pppuVar13 + 0x14) + (uint)CARRY4(uVar7,*(uint *)((int)pppuVar13 + 0x44));\n    *(undefined4 *)((int)pppuVar13 + 0x44) = 0;\n    piVar12 = (int *)pppuVar13;\n    if (iVar8 == 1) {\nLAB_0007de8b:\n      uVar7 = *(uint *)((int)piVar12 + 0x38);\n      iVar8 = 1;\n      pppuVar13 = (undefined ***)piVar12;\n      goto LAB_0007de94;\n    }\n    if (iVar8 == 0) {\n      uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n      iVar8 = 0;\n      goto LAB_0007de94;\n    }\n  }\n  if (iVar8 != 2) {\nLAB_0007dd1d:\n    ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x6009;\n    ((int *)pppuVar13)[-5] = 0x7dd30;\n    FUN_000191bd();\n    ((int *)pppuVar13)[4] = -1;\n    ((int *)pppuVar13)[5] = -1;\nLAB_0007dafd:\n    uVar7 = __ptr[0x126];\n    *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar7 + 0x18);\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db14;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    *(uint *)((int)pppuVar13 + -0x10) = uVar7;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db1c;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    *(uint **)((int)pppuVar13 + -0x10) = __ptr;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db24;\n    free(*(void **)((int)pppuVar13 + -0x10));\nLAB_0007db27:\n    *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)((int)pppuVar13 + 0xc);\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db37;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    if (*(int *)((int)pppuVar13 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)) {\n      return *(undefined8 *)((int)pppuVar13 + 0x10);\n    }\n                    \n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dc1f;\n    FUN_00017e10();\n  }\n  uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n  iVar8 = 2;\nLAB_0007de94:\n  *(uint *)((int)pppuVar13 + 4) = uVar7;\n  goto LAB_0007daa8;\n}" (type_identifier "undefined8") (function_declarator "FUN_0007d999(void)" (identifier "FUN_0007d999") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  uint *puVar1;\n  bool bVar2;\n  char cVar3;\n  uint *__ptr;\n  void *pvVar4;\n  int iVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  int *piVar12;\n  undefined ***pppuVar13;\n  int *piVar14;\n  int *piVar15;\n  int *piVar16;\n  undefined4 **ppuVar17;\n  uint uVar18;\n  int in_GS_OFFSET;\n  byte bVar19;\n  undefined **local_6c;\n  undefined4 local_68;\n  undefined4 **local_64;\n  undefined4 *local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  char *local_54;\n  undefined4 *local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined4 *local_2c;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  bVar19 = 0;\n  pppuVar13 = &local_6c;\n  local_6c = &__DT_PLTGOT;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  if (DAT_000d1718 == 0) {\n    FUN_000a62ce();\n  }\n  local_64 = &local_38;\n  ppuVar17 = local_64;\n  for (iVar8 = 6; iVar8 != 0; iVar8 = iVar8 + -1) {\n    *ppuVar17 = (undefined4 *)0x0;\n    ppuVar17 = ppuVar17 + (uint)bVar19 * -2 + 1;\n  }\n  local_60 = (undefined4 *)FUN_00019b1c();\n  local_2c = local_60 + 0x800;\n  local_24 = 0x2000;\n  if ((local_54 == (char *)0x0) || (*local_54 != '\0')) {\n    *local_60 = 0x587a37fd;\n    *(undefined2 *)(local_60 + 1) = 0x5a;\n    local_30 = 6;\n  }\n  local_38 = local_60;\n  __ptr = (uint *)malloc(0x49c);\n  if (__ptr != (uint *)0x0) {\n    __ptr[8] = 2;\n    pvVar4 = malloc(0x6f28);\n    if (pvVar4 == (void *)0x0) {\n      free(__ptr);\n      __ptr = (uint *)0x0;\n    }\n    else {\n      *(undefined4 *)((int)pvVar4 + 0x3c) = 2;\n      *(undefined4 *)((int)pvVar4 + 0x34) = 0x4000000;\n      *(undefined4 *)((int)pvVar4 + 0x18) = 0;\n      *(undefined4 *)((int)pvVar4 + 0x38) = 0;\n      __ptr[0x126] = (uint)pvVar4;\n      FUN_0007d0ea();\n    }\n  }\n  local_68 = local_34;\n  local_5c = 0;\n  local_58 = 0;\n  iVar8 = 1;\nLAB_0007daa8:\n  if (((int *)pppuVar13)[0xf] == ((int *)pppuVar13)[1]) {\n    ((int *)pppuVar13)[-1] = 0x7dacb;\n    iVar5 = FUN_0001ac64();\n    if (iVar5 < 0) {\n      ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x4f84;\n      ((int *)pppuVar13)[-5] = 0x7dae6;\n      FUN_000191bd();\n      ((int *)pppuVar13)[4] = -1;\n      ((int *)pppuVar13)[5] = -1;\n      if (__ptr != (uint *)0x0) goto LAB_0007dafd;\n      goto LAB_0007db27;\n    }\n    if ((iVar5 == 0) && (iVar8 == 1)) {\n      if (__ptr == (uint *)0x0) goto LAB_0007db27;\n      goto LAB_0007dafd;\n    }\n    ((int *)pppuVar13)[0xf] = iVar5;\n    ((int *)pppuVar13)[0xe] = 0;\n    ((int *)pppuVar13)[1] = 0;\n  }\n  if (iVar8 == 1) {\n    bVar2 = false;\n    do {\n      if (*(char *)(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1]) != '\0') {\n        if (bVar2) {\n          ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n        }\n        ((int *)pppuVar13)[-1] = 0x7dba9;\n        FUN_0007d0ea();\n        ((int *)pppuVar13)[1] = ((int *)pppuVar13)[0xe];\n        goto LAB_0007dbb1;\n      }\n      ((int *)pppuVar13)[1] = ((int *)pppuVar13)[1] + 1;\n      bVar2 = true;\n    } while ((uint)((int *)pppuVar13)[1] < (uint)((int *)pppuVar13)[0xf]);\n    ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n  }\nLAB_0007dbb1:\n  ((int *)pppuVar13)[8] = ((int *)pppuVar13)[0x11];\n  __ptr[4] = ((int *)pppuVar13)[1];\n  uVar7 = *__ptr;\n  ((int *)pppuVar13)[0xb] = (int)(__ptr + 0x15);\n  do {\n  } while (9 < uVar7);\nLAB_0007dbcf:\n  piVar14 = (int *)pppuVar13;\n  switch(*(int *)((int)*pppuVar13 + -0x154d0 + uVar7 * 4) + (int)*pppuVar13) {\n  case 0x7dc1f:\n    goto switchD_0007dbdb_caseD_7dc1f;\n  case 0x7dc7d:\n    goto switchD_0007dbdb_caseD_7dc7d;\n  case 0x7dcd4:\n    goto switchD_0007dbdb_caseD_7dcd4;\n  case 0x7dd72:\n    goto switchD_0007dbdb_caseD_7dd72;\n  case 0x7dfc9:\n    ((int *)pppuVar13)[-1] = 0x7dfd4;\n    cVar3 = FUN_0007d93a();\n    if (cVar3 == '\0') goto LAB_0007dd81;\n    *__ptr = 1;\n    if ((__ptr[0x26] != 0x587a37fd) || ((short)__ptr[0x27] != 0x5a)) {\n      iVar5 = ((int *)pppuVar13)[0x11];\n      iVar8 = 5;\n      goto LAB_0007df05;\n    }\n    ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n    ((int *)pppuVar13)[-5] = 0x7e023;\n    uVar7 = FUN_000a62f1();\n    piVar14 = (int *)pppuVar13 + -1;\n    piVar15 = (int *)pppuVar13 + -1;\n    if (~uVar7 != __ptr[0x28]) goto LAB_0007defc;\n    piVar15 = (int *)pppuVar13 + -1;\n    if (*(char *)((int)__ptr + 0x9e) == '\0') {\n      uVar7 = (uint)*(byte *)((int)__ptr + 0x9f);\n      __ptr[7] = uVar7;\n      piVar15 = (int *)pppuVar13 + -1;\n      if (uVar7 < 0x10) {\n        if (uVar7 < 2) goto switchD_0007dbdb_caseD_7e05d;\n        iVar5 = ((int *)pppuVar13)[0x10];\n        iVar8 = 2;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n        goto LAB_0007df05;\n      }\n    }\n    break;\n  case 0x7e05d:\nswitchD_0007dbdb_caseD_7e05d:\n    uVar10 = *(uint *)((int)piVar14 + 0x38);\n    uVar7 = *(uint *)((int)piVar14 + 0x3c);\n    pppuVar13 = (undefined ***)piVar14;\n    if (uVar10 == uVar7) goto LAB_0007dd85;\n    if (*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) != 0) {\n      uVar7 = (uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) * 4 + 4;\n      __ptr[0xe] = uVar7;\n      __ptr[0x25] = uVar7;\n      __ptr[0x24] = 0;\n      *__ptr = 2;\n      goto switchD_0007dbdb_caseD_7e09e;\n    }\n    *(uint *)((int)piVar14 + 0x38) = uVar10 + 1;\n    __ptr[4] = uVar10;\n    *__ptr = 6;\n    uVar7 = 6;\n    goto LAB_0007dbcf;\n  case 0x7e09e:\nswitchD_0007dbdb_caseD_7e09e:\n    piVar14[-1] = 0x7e0a9;\n    cVar3 = FUN_0007d93a();\n    pppuVar13 = (undefined ***)piVar14;\n    if (cVar3 == '\0') goto LAB_0007dd81;\n    __ptr[0x25] = __ptr[0x25] - 4;\n    piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n    piVar14[-5] = 0x7e0df;\n    uVar10 = FUN_000a62f1();\n    uVar7 = __ptr[0x25];\n    pppuVar13 = (undefined ***)(piVar14 + -1);\n    piVar16 = piVar14 + -1;\n    piVar15 = piVar14 + -1;\n    if (~uVar10 != *(uint *)((int)__ptr + uVar7 + 0x98)) goto LAB_0007defc;\n    __ptr[0x24] = 2;\n    bVar19 = *(byte *)((int)__ptr + 0x99);\n    piVar15 = piVar14 + -1;\n    if ((bVar19 & 0x3f) == 0) {\n      if ((bVar19 & 0x40) == 0) {\n        __ptr[10] = 0xffffffff;\n        __ptr[0xb] = 0xffffffff;\n        if (-1 < (char)bVar19) goto LAB_0007e129;\nLAB_0007e572:\n        *(uint *)((int)piVar16 + -0x10) = uVar7;\n        *(undefined4 *)((int)piVar16 + -0x14) = 0x7e585;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)((int)piVar16 + -4);\n        piVar15 = (int *)((int)piVar16 + -4);\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[0xc] = __ptr[2];\n        __ptr[0xd] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      else {\n        piVar14[-5] = uVar7;\n        piVar14[-6] = 0x7e5cc;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)(piVar14 + -2);\n        piVar16 = piVar14 + -2;\n        piVar15 = piVar14 + -2;\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[10] = __ptr[2];\n        __ptr[0xb] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        if (*(char *)((int)__ptr + 0x99) < '\0') goto LAB_0007e572;\nLAB_0007e129:\n        __ptr[0xc] = 0xffffffff;\n        __ptr[0xd] = 0xffffffff;\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      piVar15 = (int *)pppuVar13;\n      if (uVar9 < 2) goto LAB_0007defc;\n      __ptr[0x24] = uVar10 + 1;\n      if (*(char *)((int)__ptr + uVar10 + 0x98) == '!') {\n        __ptr[0x24] = uVar10 + 2;\n        if (*(char *)((int)__ptr + uVar10 + 0x99) == '\x01') {\n          if (uVar10 + 2 == uVar7) goto LAB_0007defc;\n          uVar9 = uVar10 + 3;\n          __ptr[0x24] = uVar9;\n          bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);\n          if (bVar19 < 0x28) {\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }\n        }\n      }\n    }\n    break;\n  case 0x7e21b:\nswitchD_0007dbdb_caseD_7e21b:\n    __ptr[4] = ((int *)pppuVar13)[0xe];\n    __ptr[5] = ((int *)pppuVar13)[0x11];\n    ((int *)pppuVar13)[-1] = 0x7e238;\n    iVar8 = FUN_0007d17c();\n    ((int *)pppuVar13)[7] = iVar8;\n    uVar9 = (((int *)pppuVar13)[0xe] - __ptr[4]) + __ptr[0xf];\n    uVar18 = __ptr[0x10] + (uint)CARRY4(((int *)pppuVar13)[0xe] - __ptr[4],__ptr[0xf]);\n    __ptr[0xf] = uVar9;\n    __ptr[0x10] = uVar18;\n    iVar5 = ((int *)pppuVar13)[0x11];\n    uVar7 = __ptr[5];\n    ((int *)pppuVar13)[9] = uVar7;\n    uVar7 = iVar5 - uVar7;\n    ((int *)pppuVar13)[10] = uVar7;\n    uVar10 = uVar7 + __ptr[0x11];\n    uVar7 = __ptr[0x12] + (uint)CARRY4(uVar7,__ptr[0x11]);\n    __ptr[0x11] = uVar10;\n    __ptr[0x12] = uVar7;\n    if ((uVar18 <= __ptr[0xb] && (uint)(__ptr[10] < uVar9) <= __ptr[0xb] - uVar18) &&\n       (uVar7 <= __ptr[0xd] && (uint)(__ptr[0xc] < uVar10) <= __ptr[0xd] - uVar7)) {\n      if (__ptr[7] == 1) {\n        ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n        ((int *)pppuVar13)[-5] = 0x7e2b9;\n        uVar7 = FUN_000a62f1();\n        __ptr[6] = ~uVar7;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n      }\n      if (((int *)pppuVar13)[7] == 1) {\n        piVar15 = (int *)pppuVar13;\n        if (((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||\n           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])) {\n          uVar7 = __ptr[0x11];\n          if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }\n        }\n        goto LAB_0007defc;\n      }\n      iVar8 = ((int *)pppuVar13)[7];\n      goto LAB_0007dfbc;\n    }\n    iVar8 = 7;\n    goto LAB_0007df05;\n  case 0x7e360:\nswitchD_0007dbdb_caseD_7e360:\n    uVar10 = __ptr[0xf];\n    uVar9 = __ptr[0x10];\n    if ((uVar10 & 3) != 0) {\n      uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n      uVar7 = *(uint *)((int)pppuVar13 + 0x3c);\n      if (uVar18 == uVar7) goto LAB_0007dd85;\n      iVar8 = *(int *)((int)pppuVar13 + 0x34);\n      *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n      piVar15 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      uVar9 = uVar9 + (0xfffffffe < uVar10);\n      while( true ) {\n        uVar10 = uVar10 + 1;\n        __ptr[0xf] = uVar10;\n        __ptr[0x10] = uVar9;\n        if ((uVar10 & 3) == 0) break;\n        uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n        uVar9 = uVar9 + (0xfffffffe < uVar10);\n        if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      }\n    }\n    *__ptr = 5;\n    piVar14 = (int *)pppuVar13;\nswitchD_0007dbdb_caseD_7e3b0:\n    pppuVar13 = (undefined ***)piVar14;\n    if (__ptr[7] == 1) {\n      uVar10 = piVar14[0xf];\n      iVar8 = piVar14[0xd];\n      uVar7 = piVar14[0xe];\n      do {\n        if (uVar10 == uVar7) goto LAB_0007dd85;\n        uVar9 = __ptr[1];\n        uVar18 = __ptr[6];\n        uVar7 = uVar7 + 1;\n        piVar14[0xe] = uVar7;\n        if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))\n        goto LAB_0007dcff;\n        uVar9 = uVar9 + 8;\n        __ptr[1] = uVar9;\n      } while (uVar9 < 0x20);\n      __ptr[6] = 0;\n      __ptr[1] = 0;\n    }\n    else {\n      uVar10 = __ptr[1];\n      uVar9 = (uint)*(byte *)(*piVar14 + -0x154a8 + __ptr[7]);\n      if (uVar10 < uVar9) {\n        uVar18 = piVar14[0xe];\n        uVar7 = piVar14[0xf];\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        uVar11 = uVar18;\n        while( true ) {\n          uVar11 = uVar11 + 1;\n          if (uVar11 == (uVar18 - uVar10) + uVar9) break;\n          if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }\n        }\n        piVar14[0xe] = uVar11;\n      }\n      __ptr[1] = 0;\n    }\n    *__ptr = 1;\n    uVar7 = 1;\n    goto LAB_0007dbcf;\n  case 0x7e3b0:\n    goto switchD_0007dbdb_caseD_7e3b0;\n  }\nLAB_0007e4e9:\n  iVar5 = *(int *)((int)piVar15 + 0x44);\n  iVar8 = 6;\n  pppuVar13 = (undefined ***)piVar15;\n  goto LAB_0007df05;\nswitchD_0007dbdb_caseD_7dc1f:\n  piVar15 = (int *)pppuVar13;\n  do {\n    *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x3c);\n    *(undefined4 *)((int)piVar15 + -0x14) = 0x7dc3a;\n    iVar8 = FUN_0007d044();\n    piVar14 = (int *)((int)piVar15 + -4);\n    pppuVar13 = (undefined ***)((int)piVar15 + -4);\n    if (iVar8 != 1) {\n      *(undefined4 *)((int)piVar15 + -8) = 0x7dfbc;\n      FUN_0007d137();\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\nLAB_0007dfbc:\n      if (iVar8 == 0) goto LAB_0007dd81;\n      goto LAB_0007dd04;\n    }\n    uVar7 = __ptr[0x1a];\n    if (uVar7 == 1) {\n      puVar1 = __ptr + 0x1f;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x20] = __ptr[0x20] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      __ptr[0x1a] = 2;\nLAB_0007dc68:\n      uVar7 = __ptr[0x1d];\n      uVar10 = __ptr[0x1e];\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\n    }\n    else {\n      if (uVar7 == 0) {\n        uVar7 = __ptr[2];\n        uVar10 = __ptr[3];\n        __ptr[0x1d] = uVar7;\n        __ptr[0x1e] = uVar10;\n        if (__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7) {\n          __ptr[0x1a] = 1;\n          goto LAB_0007dc6e;\n        }\n        goto LAB_0007dcff;\n      }\n      if (uVar7 != 2) goto LAB_0007dc68;\n      puVar1 = __ptr + 0x21;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x22] = __ptr[0x22] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)(*(int *)((int)piVar15 + -4) + 0xcf8);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7df5c;\n      uVar7 = FUN_000a62f1();\n      __ptr[0x23] = ~uVar7;\n      uVar7 = __ptr[0x1d] - 1;\n      uVar10 = (__ptr[0x1e] - 1) + (uint)(__ptr[0x1d] != 0);\n      __ptr[0x1d] = uVar7;\n      __ptr[0x1e] = uVar10;\n      __ptr[0x1a] = 1;\n      pppuVar13 = (undefined ***)((int)piVar15 + -8);\n    }\nLAB_0007dc6e:\n    piVar15 = (int *)pppuVar13;\n  } while (uVar10 != 0 || uVar7 != 0);\n  *__ptr = 7;\nswitchD_0007dbdb_caseD_7dc7d:\n  uVar7 = __ptr[0x1b];\n  iVar8 = *(int *)((int)pppuVar13 + 0x38) + 1;\n  uVar10 = __ptr[4];\nLAB_0007dc95:\n  if ((~uVar10 + iVar8 + uVar7 & 3) == 0) {\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dcae;\n    uVar6 = FUN_0007d137();\n    *(undefined4 *)((int)pppuVar13 + -4) = uVar6;\n    *(undefined4 *)((int)pppuVar13 + -8) = 0x14;\n    *(uint **)((int)pppuVar13 + -0xc) = __ptr + 0x1f;\n    *(uint **)((int)pppuVar13 + -0x10) = __ptr + 0x15;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7dcc2;\n    iVar8 = memcmp(*(void **)((int)pppuVar13 + -0x10),*(void **)((int)pppuVar13 + -0xc),\n                   *(size_t *)((int)pppuVar13 + -8));\n    piVar15 = (int *)pppuVar13;\n    if (iVar8 != 0) goto LAB_0007ddc4;\n    *__ptr = 8;\nswitchD_0007dbdb_caseD_7dcd4:\n    uVar10 = *(uint *)((int)pppuVar13 + 0x3c);\n    iVar8 = *(int *)((int)pppuVar13 + 0x34);\n    uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n    while (uVar10 != uVar7) {\n      uVar9 = __ptr[1];\n      uVar18 = __ptr[6];\n      uVar7 = uVar7 + 1;\n      *(uint *)((int)pppuVar13 + 0x38) = uVar7;\n      piVar14 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f))) {\nLAB_0007dcff:\n        iVar8 = 7;\n        pppuVar13 = (undefined ***)piVar14;\nLAB_0007dd04:\n        *(undefined1 *)(__ptr + 9) = 0;\n        iVar5 = *(int *)((int)pppuVar13 + 0x44);\n        goto joined_r0x0007dd0e;\n      }\n      uVar9 = uVar9 + 8;\n      __ptr[1] = uVar9;\n      if (0x1f < uVar9) {\n        __ptr[6] = 0;\n        __ptr[1] = 0;\n        __ptr[0x25] = 0xc;\n        *__ptr = 9;\nswitchD_0007dbdb_caseD_7dd72:\n        piVar14[-1] = 0x7dd7d;\n        cVar3 = FUN_0007d93a();\n        pppuVar13 = (undefined ***)piVar14;\n        if (cVar3 == '\0') {\nLAB_0007dd81:\n          uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n          break;\n        }\n        piVar15 = piVar14;\n        if (*(short *)((int)__ptr + 0xa2) == 0x5a59) {\n          piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n          piVar14[-5] = 0x7de00;\n          uVar7 = FUN_000a62f1();\n          piVar12 = piVar14 + -1;\n          pppuVar13 = (undefined ***)(piVar14 + -1);\n          piVar15 = piVar14 + -1;\n          if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;\n          iVar8 = piVar14[0x10];\n          if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }\n          *(undefined1 *)(__ptr + 9) = 0;\n          if (iVar8 != 0) {\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }\n          goto LAB_0007de8b;\n        }\nLAB_0007ddc4:\n        pppuVar13 = (undefined ***)piVar15;\n        *(undefined1 *)(__ptr + 9) = 0;\n        if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n        iVar8 = 7;\n        goto LAB_0007de61;\n      }\n    }\n  }\n  else {\n    if (*(int *)((int)pppuVar13 + 0x3c) + 1 != iVar8) goto LAB_0007deec;\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dee3;\n    FUN_0007d137();\n    uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n  }\nLAB_0007dd85:\n  iVar8 = *(int *)((int)pppuVar13 + 0x44);\n  if ((*(uint *)((int)pppuVar13 + 4) == uVar7) && (*(int *)((int)pppuVar13 + 0x20) == iVar8)) {\n    if ((char)__ptr[9] == '\0') {\n      *(undefined1 *)(__ptr + 9) = 1;\n      if (iVar8 == 0) goto LAB_0007de94;\n      iVar8 = 0;\n      goto LAB_0007de61;\n    }\n    if (iVar8 != 0) {\n      iVar8 = 8;\n      goto LAB_0007de61;\n    }\n    goto LAB_0007dd1d;\n  }\n  *(undefined1 *)(__ptr + 9) = 0;\n  if (iVar8 != 0) {\n    iVar8 = 0;\n    goto LAB_0007de61;\n  }\n  iVar8 = 0;\n  goto LAB_0007de94;\nLAB_0007deec:\n  *(int *)((int)pppuVar13 + 0x38) = iVar8;\n  iVar8 = iVar8 + 1;\n  piVar15 = (int *)pppuVar13;\n  if (*(char *)(*(int *)((int)pppuVar13 + 0x34) + -2 + iVar8) != '\0') goto LAB_0007defc;\n  goto LAB_0007dc95;\nLAB_0007defc:\n  iVar5 = *(int *)((int)piVar15 + 0x44);\n  iVar8 = 7;\n  pppuVar13 = (undefined ***)piVar15;\nLAB_0007df05:\n  *(undefined1 *)(__ptr + 9) = 0;\njoined_r0x0007dd0e:\n  if (iVar5 != 0) {\nLAB_0007de61:\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7de70;\n    FUN_000804d0();\n    puVar1 = (uint *)((int)pppuVar13 + 0x10);\n    uVar7 = *puVar1;\n    *puVar1 = *puVar1 + *(uint *)((int)pppuVar13 + 0x44);\n    *(int *)((int)pppuVar13 + 0x14) =\n         *(int *)((int)pppuVar13 + 0x14) + (uint)CARRY4(uVar7,*(uint *)((int)pppuVar13 + 0x44));\n    *(undefined4 *)((int)pppuVar13 + 0x44) = 0;\n    piVar12 = (int *)pppuVar13;\n    if (iVar8 == 1) {\nLAB_0007de8b:\n      uVar7 = *(uint *)((int)piVar12 + 0x38);\n      iVar8 = 1;\n      pppuVar13 = (undefined ***)piVar12;\n      goto LAB_0007de94;\n    }\n    if (iVar8 == 0) {\n      uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n      iVar8 = 0;\n      goto LAB_0007de94;\n    }\n  }\n  if (iVar8 != 2) {\nLAB_0007dd1d:\n    ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x6009;\n    ((int *)pppuVar13)[-5] = 0x7dd30;\n    FUN_000191bd();\n    ((int *)pppuVar13)[4] = -1;\n    ((int *)pppuVar13)[5] = -1;\nLAB_0007dafd:\n    uVar7 = __ptr[0x126];\n    *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar7 + 0x18);\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db14;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    *(uint *)((int)pppuVar13 + -0x10) = uVar7;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db1c;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    *(uint **)((int)pppuVar13 + -0x10) = __ptr;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db24;\n    free(*(void **)((int)pppuVar13 + -0x10));\nLAB_0007db27:\n    *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)((int)pppuVar13 + 0xc);\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db37;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    if (*(int *)((int)pppuVar13 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)) {\n      return *(undefined8 *)((int)pppuVar13 + 0x10);\n    }\n                    \n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dc1f;\n    FUN_00017e10();\n  }\n  uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n  iVar8 = 2;\nLAB_0007de94:\n  *(uint *)((int)pppuVar13 + 4) = uVar7;\n  goto LAB_0007daa8;\n}" ({ "{") (declaration "uint *puVar1;" (type_identifier "uint") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "bool bVar2;" (primitive_type "bool") (identifier "bVar2") (; ";")) (declaration "char cVar3;" (primitive_type "char") (identifier "cVar3") (; ";")) (declaration "uint *__ptr;" (type_identifier "uint") (pointer_declarator "*__ptr" (* "*") (identifier "__ptr")) (; ";")) (declaration "void *pvVar4;" (primitive_type "void") (pointer_declarator "*pvVar4" (* "*") (identifier "pvVar4")) (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "uint uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "int *piVar12;" (primitive_type "int") (pointer_declarator "*piVar12" (* "*") (identifier "piVar12")) (; ";")) (declaration "undefined ***pppuVar13;" (type_identifier "undefined") (pointer_declarator "***pppuVar13" (* "*") (pointer_declarator "**pppuVar13" (* "*") (pointer_declarator "*pppuVar13" (* "*") (identifier "pppuVar13")))) (; ";")) (declaration "int *piVar14;" (primitive_type "int") (pointer_declarator "*piVar14" (* "*") (identifier "piVar14")) (; ";")) (declaration "int *piVar15;" (primitive_type "int") (pointer_declarator "*piVar15" (* "*") (identifier "piVar15")) (; ";")) (declaration "int *piVar16;" (primitive_type "int") (pointer_declarator "*piVar16" (* "*") (identifier "piVar16")) (; ";")) (declaration "undefined4 **ppuVar17;" (type_identifier "undefined4") (pointer_declarator "**ppuVar17" (* "*") (pointer_declarator "*ppuVar17" (* "*") (identifier "ppuVar17"))) (; ";")) (declaration "uint uVar18;" (type_identifier "uint") (identifier "uVar18") (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "byte bVar19;" (type_identifier "byte") (identifier "bVar19") (; ";")) (declaration "undefined **local_6c;" (type_identifier "undefined") (pointer_declarator "**local_6c" (* "*") (pointer_declarator "*local_6c" (* "*") (identifier "local_6c"))) (; ";")) (declaration "undefined4 local_68;" (type_identifier "undefined4") (identifier "local_68") (; ";")) (declaration "undefined4 **local_64;" (type_identifier "undefined4") (pointer_declarator "**local_64" (* "*") (pointer_declarator "*local_64" (* "*") (identifier "local_64"))) (; ";")) (declaration "undefined4 *local_60;" (type_identifier "undefined4") (pointer_declarator "*local_60" (* "*") (identifier "local_60")) (; ";")) (declaration "undefined4 local_5c;" (type_identifier "undefined4") (identifier "local_5c") (; ";")) (declaration "undefined4 local_58;" (type_identifier "undefined4") (identifier "local_58") (; ";")) (declaration "char *local_54;" (primitive_type "char") (pointer_declarator "*local_54" (* "*") (identifier "local_54")) (; ";")) (declaration "undefined4 *local_38;" (type_identifier "undefined4") (pointer_declarator "*local_38" (* "*") (identifier "local_38")) (; ";")) (declaration "undefined4 local_34;" (type_identifier "undefined4") (identifier "local_34") (; ";")) (declaration "undefined4 local_30;" (type_identifier "undefined4") (identifier "local_30") (; ";")) (declaration "undefined4 *local_2c;" (type_identifier "undefined4") (pointer_declarator "*local_2c" (* "*") (identifier "local_2c")) (; ";")) (declaration "undefined4 local_24;" (type_identifier "undefined4") (identifier "local_24") (; ";")) (declaration "undefined4 local_20;" (type_identifier "undefined4") (identifier "local_20") (; ";")) (expression_statement "bVar19 = 0;" (assignment_expression "bVar19 = 0" (identifier "bVar19") (= "=") (number_literal "0")) (; ";")) (expression_statement "pppuVar13 = &local_6c;" (assignment_expression "pppuVar13 = &local_6c" (identifier "pppuVar13") (= "=") (pointer_expression "&local_6c" (& "&") (identifier "local_6c"))) (; ";")) (expression_statement "local_6c = &__DT_PLTGOT;" (assignment_expression "local_6c = &__DT_PLTGOT" (identifier "local_6c") (= "=") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT"))) (; ";")) (expression_statement "local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (= "=") (pointer_expression "*(undefined4 *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(undefined4 *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (DAT_000d1718 == 0) {\n    FUN_000a62ce();\n  }" (if "if") (parenthesized_expression "(DAT_000d1718 == 0)" (( "(") (binary_expression "DAT_000d1718 == 0" (identifier "DAT_000d1718") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_000a62ce();\n  }" ({ "{") (expression_statement "FUN_000a62ce();" (call_expression "FUN_000a62ce()" (identifier "FUN_000a62ce") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_64 = &local_38;" (assignment_expression "local_64 = &local_38" (identifier "local_64") (= "=") (pointer_expression "&local_38" (& "&") (identifier "local_38"))) (; ";")) (expression_statement "ppuVar17 = local_64;" (assignment_expression "ppuVar17 = local_64" (identifier "ppuVar17") (= "=") (identifier "local_64")) (; ";")) (for_statement "for (iVar8 = 6; iVar8 != 0; iVar8 = iVar8 + -1) {\n    *ppuVar17 = (undefined4 *)0x0;\n    ppuVar17 = ppuVar17 + (uint)bVar19 * -2 + 1;\n  }" (for "for") (( "(") (assignment_expression "iVar8 = 6" (identifier "iVar8") (= "=") (number_literal "6")) (; ";") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar8 = iVar8 + -1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + -1" (identifier "iVar8") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n    *ppuVar17 = (undefined4 *)0x0;\n    ppuVar17 = ppuVar17 + (uint)bVar19 * -2 + 1;\n  }" ({ "{") (expression_statement "*ppuVar17 = (undefined4 *)0x0;" (assignment_expression "*ppuVar17 = (undefined4 *)0x0" (pointer_expression "*ppuVar17" (* "*") (identifier "ppuVar17")) (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppuVar17 = ppuVar17 + (uint)bVar19 * -2 + 1;" (assignment_expression "ppuVar17 = ppuVar17 + (uint)bVar19 * -2 + 1" (identifier "ppuVar17") (= "=") (binary_expression "ppuVar17 + (uint)bVar19 * -2 + 1" (binary_expression "ppuVar17 + (uint)bVar19 * -2" (identifier "ppuVar17") (+ "+") (binary_expression "(uint)bVar19 * -2" (cast_expression "(uint)bVar19" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar19")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "local_60 = (undefined4 *)FUN_00019b1c();" (assignment_expression "local_60 = (undefined4 *)FUN_00019b1c()" (identifier "local_60") (= "=") (cast_expression "(undefined4 *)FUN_00019b1c()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00019b1c()" (identifier "FUN_00019b1c") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "local_2c = local_60 + 0x800;" (assignment_expression "local_2c = local_60 + 0x800" (identifier "local_2c") (= "=") (binary_expression "local_60 + 0x800" (identifier "local_60") (+ "+") (number_literal "0x800"))) (; ";")) (expression_statement "local_24 = 0x2000;" (assignment_expression "local_24 = 0x2000" (identifier "local_24") (= "=") (number_literal "0x2000")) (; ";")) (if_statement "if ((local_54 == (char *)0x0) || (*local_54 != '\0')) {\n    *local_60 = 0x587a37fd;\n    *(undefined2 *)(local_60 + 1) = 0x5a;\n    local_30 = 6;\n  }" (if "if") (parenthesized_expression "((local_54 == (char *)0x0) || (*local_54 != '\0'))" (( "(") (binary_expression "(local_54 == (char *)0x0) || (*local_54 != '\0')" (parenthesized_expression "(local_54 == (char *)0x0)" (( "(") (binary_expression "local_54 == (char *)0x0" (identifier "local_54") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(*local_54 != '\0')" (( "(") (binary_expression "*local_54 != '\0'" (pointer_expression "*local_54" (* "*") (identifier "local_54")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n    *local_60 = 0x587a37fd;\n    *(undefined2 *)(local_60 + 1) = 0x5a;\n    local_30 = 6;\n  }" ({ "{") (expression_statement "*local_60 = 0x587a37fd;" (assignment_expression "*local_60 = 0x587a37fd" (pointer_expression "*local_60" (* "*") (identifier "local_60")) (= "=") (number_literal "0x587a37fd")) (; ";")) (expression_statement "*(undefined2 *)(local_60 + 1) = 0x5a;" (assignment_expression "*(undefined2 *)(local_60 + 1) = 0x5a" (pointer_expression "*(undefined2 *)(local_60 + 1)" (* "*") (cast_expression "(undefined2 *)(local_60 + 1)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_60 + 1)" (( "(") (binary_expression "local_60 + 1" (identifier "local_60") (+ "+") (number_literal "1")) () ")")))) (= "=") (number_literal "0x5a")) (; ";")) (expression_statement "local_30 = 6;" (assignment_expression "local_30 = 6" (identifier "local_30") (= "=") (number_literal "6")) (; ";")) (} "}"))) (expression_statement "local_38 = local_60;" (assignment_expression "local_38 = local_60" (identifier "local_38") (= "=") (identifier "local_60")) (; ";")) (expression_statement "__ptr = (uint *)malloc(0x49c);" (assignment_expression "__ptr = (uint *)malloc(0x49c)" (identifier "__ptr") (= "=") (cast_expression "(uint *)malloc(0x49c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "malloc(0x49c)" (identifier "malloc") (argument_list "(0x49c)" (( "(") (number_literal "0x49c") () ")"))))) (; ";")) (if_statement "if (__ptr != (uint *)0x0) {\n    __ptr[8] = 2;\n    pvVar4 = malloc(0x6f28);\n    if (pvVar4 == (void *)0x0) {\n      free(__ptr);\n      __ptr = (uint *)0x0;\n    }\n    else {\n      *(undefined4 *)((int)pvVar4 + 0x3c) = 2;\n      *(undefined4 *)((int)pvVar4 + 0x34) = 0x4000000;\n      *(undefined4 *)((int)pvVar4 + 0x18) = 0;\n      *(undefined4 *)((int)pvVar4 + 0x38) = 0;\n      __ptr[0x126] = (uint)pvVar4;\n      FUN_0007d0ea();\n    }\n  }" (if "if") (parenthesized_expression "(__ptr != (uint *)0x0)" (( "(") (binary_expression "__ptr != (uint *)0x0" (identifier "__ptr") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    __ptr[8] = 2;\n    pvVar4 = malloc(0x6f28);\n    if (pvVar4 == (void *)0x0) {\n      free(__ptr);\n      __ptr = (uint *)0x0;\n    }\n    else {\n      *(undefined4 *)((int)pvVar4 + 0x3c) = 2;\n      *(undefined4 *)((int)pvVar4 + 0x34) = 0x4000000;\n      *(undefined4 *)((int)pvVar4 + 0x18) = 0;\n      *(undefined4 *)((int)pvVar4 + 0x38) = 0;\n      __ptr[0x126] = (uint)pvVar4;\n      FUN_0007d0ea();\n    }\n  }" ({ "{") (expression_statement "__ptr[8] = 2;" (assignment_expression "__ptr[8] = 2" (subscript_expression "__ptr[8]" (identifier "__ptr") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "2")) (; ";")) (expression_statement "pvVar4 = malloc(0x6f28);" (assignment_expression "pvVar4 = malloc(0x6f28)" (identifier "pvVar4") (= "=") (call_expression "malloc(0x6f28)" (identifier "malloc") (argument_list "(0x6f28)" (( "(") (number_literal "0x6f28") () ")")))) (; ";")) (if_statement "if (pvVar4 == (void *)0x0) {\n      free(__ptr);\n      __ptr = (uint *)0x0;\n    }\n    else {\n      *(undefined4 *)((int)pvVar4 + 0x3c) = 2;\n      *(undefined4 *)((int)pvVar4 + 0x34) = 0x4000000;\n      *(undefined4 *)((int)pvVar4 + 0x18) = 0;\n      *(undefined4 *)((int)pvVar4 + 0x38) = 0;\n      __ptr[0x126] = (uint)pvVar4;\n      FUN_0007d0ea();\n    }" (if "if") (parenthesized_expression "(pvVar4 == (void *)0x0)" (( "(") (binary_expression "pvVar4 == (void *)0x0" (identifier "pvVar4") (== "==") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      free(__ptr);\n      __ptr = (uint *)0x0;\n    }" ({ "{") (expression_statement "free(__ptr);" (call_expression "free(__ptr)" (identifier "free") (argument_list "(__ptr)" (( "(") (identifier "__ptr") () ")"))) (; ";")) (expression_statement "__ptr = (uint *)0x0;" (assignment_expression "__ptr = (uint *)0x0" (identifier "__ptr") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n      *(undefined4 *)((int)pvVar4 + 0x3c) = 2;\n      *(undefined4 *)((int)pvVar4 + 0x34) = 0x4000000;\n      *(undefined4 *)((int)pvVar4 + 0x18) = 0;\n      *(undefined4 *)((int)pvVar4 + 0x38) = 0;\n      __ptr[0x126] = (uint)pvVar4;\n      FUN_0007d0ea();\n    }" (else "else") (compound_statement "{\n      *(undefined4 *)((int)pvVar4 + 0x3c) = 2;\n      *(undefined4 *)((int)pvVar4 + 0x34) = 0x4000000;\n      *(undefined4 *)((int)pvVar4 + 0x18) = 0;\n      *(undefined4 *)((int)pvVar4 + 0x38) = 0;\n      __ptr[0x126] = (uint)pvVar4;\n      FUN_0007d0ea();\n    }" ({ "{") (expression_statement "*(undefined4 *)((int)pvVar4 + 0x3c) = 2;" (assignment_expression "*(undefined4 *)((int)pvVar4 + 0x3c) = 2" (pointer_expression "*(undefined4 *)((int)pvVar4 + 0x3c)" (* "*") (cast_expression "(undefined4 *)((int)pvVar4 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar4 + 0x3c)" (( "(") (binary_expression "(int)pvVar4 + 0x3c" (cast_expression "(int)pvVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar4")) (+ "+") (number_literal "0x3c")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "*(undefined4 *)((int)pvVar4 + 0x34) = 0x4000000;" (assignment_expression "*(undefined4 *)((int)pvVar4 + 0x34) = 0x4000000" (pointer_expression "*(undefined4 *)((int)pvVar4 + 0x34)" (* "*") (cast_expression "(undefined4 *)((int)pvVar4 + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar4 + 0x34)" (( "(") (binary_expression "(int)pvVar4 + 0x34" (cast_expression "(int)pvVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar4")) (+ "+") (number_literal "0x34")) () ")")))) (= "=") (number_literal "0x4000000")) (; ";")) (expression_statement "*(undefined4 *)((int)pvVar4 + 0x18) = 0;" (assignment_expression "*(undefined4 *)((int)pvVar4 + 0x18) = 0" (pointer_expression "*(undefined4 *)((int)pvVar4 + 0x18)" (* "*") (cast_expression "(undefined4 *)((int)pvVar4 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar4 + 0x18)" (( "(") (binary_expression "(int)pvVar4 + 0x18" (cast_expression "(int)pvVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar4")) (+ "+") (number_literal "0x18")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)((int)pvVar4 + 0x38) = 0;" (assignment_expression "*(undefined4 *)((int)pvVar4 + 0x38) = 0" (pointer_expression "*(undefined4 *)((int)pvVar4 + 0x38)" (* "*") (cast_expression "(undefined4 *)((int)pvVar4 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar4 + 0x38)" (( "(") (binary_expression "(int)pvVar4 + 0x38" (cast_expression "(int)pvVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar4")) (+ "+") (number_literal "0x38")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "__ptr[0x126] = (uint)pvVar4;" (assignment_expression "__ptr[0x126] = (uint)pvVar4" (subscript_expression "__ptr[0x126]" (identifier "__ptr") ([ "[") (number_literal "0x126") (] "]")) (= "=") (cast_expression "(uint)pvVar4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pvVar4"))) (; ";")) (expression_statement "FUN_0007d0ea();" (call_expression "FUN_0007d0ea()" (identifier "FUN_0007d0ea") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (} "}"))) (expression_statement "local_68 = local_34;" (assignment_expression "local_68 = local_34" (identifier "local_68") (= "=") (identifier "local_34")) (; ";")) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" (identifier "local_5c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" (identifier "local_58") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" (identifier "iVar8") (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_0007daa8:\n  if (((int *)pppuVar13)[0xf] == ((int *)pppuVar13)[1]) {\n    ((int *)pppuVar13)[-1] = 0x7dacb;\n    iVar5 = FUN_0001ac64();\n    if (iVar5 < 0) {\n      ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x4f84;\n      ((int *)pppuVar13)[-5] = 0x7dae6;\n      FUN_000191bd();\n      ((int *)pppuVar13)[4] = -1;\n      ((int *)pppuVar13)[5] = -1;\n      if (__ptr != (uint *)0x0) goto LAB_0007dafd;\n      goto LAB_0007db27;\n    }\n    if ((iVar5 == 0) && (iVar8 == 1)) {\n      if (__ptr == (uint *)0x0) goto LAB_0007db27;\n      goto LAB_0007dafd;\n    }\n    ((int *)pppuVar13)[0xf] = iVar5;\n    ((int *)pppuVar13)[0xe] = 0;\n    ((int *)pppuVar13)[1] = 0;\n  }" (statement_identifier "LAB_0007daa8") (: ":") (if_statement "if (((int *)pppuVar13)[0xf] == ((int *)pppuVar13)[1]) {\n    ((int *)pppuVar13)[-1] = 0x7dacb;\n    iVar5 = FUN_0001ac64();\n    if (iVar5 < 0) {\n      ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x4f84;\n      ((int *)pppuVar13)[-5] = 0x7dae6;\n      FUN_000191bd();\n      ((int *)pppuVar13)[4] = -1;\n      ((int *)pppuVar13)[5] = -1;\n      if (__ptr != (uint *)0x0) goto LAB_0007dafd;\n      goto LAB_0007db27;\n    }\n    if ((iVar5 == 0) && (iVar8 == 1)) {\n      if (__ptr == (uint *)0x0) goto LAB_0007db27;\n      goto LAB_0007dafd;\n    }\n    ((int *)pppuVar13)[0xf] = iVar5;\n    ((int *)pppuVar13)[0xe] = 0;\n    ((int *)pppuVar13)[1] = 0;\n  }" (if "if") (parenthesized_expression "(((int *)pppuVar13)[0xf] == ((int *)pppuVar13)[1])" (( "(") (binary_expression "((int *)pppuVar13)[0xf] == ((int *)pppuVar13)[1]" (subscript_expression "((int *)pppuVar13)[0xf]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "0xf") (] "]")) (== "==") (subscript_expression "((int *)pppuVar13)[1]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "1") (] "]"))) () ")")) (compound_statement "{\n    ((int *)pppuVar13)[-1] = 0x7dacb;\n    iVar5 = FUN_0001ac64();\n    if (iVar5 < 0) {\n      ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x4f84;\n      ((int *)pppuVar13)[-5] = 0x7dae6;\n      FUN_000191bd();\n      ((int *)pppuVar13)[4] = -1;\n      ((int *)pppuVar13)[5] = -1;\n      if (__ptr != (uint *)0x0) goto LAB_0007dafd;\n      goto LAB_0007db27;\n    }\n    if ((iVar5 == 0) && (iVar8 == 1)) {\n      if (__ptr == (uint *)0x0) goto LAB_0007db27;\n      goto LAB_0007dafd;\n    }\n    ((int *)pppuVar13)[0xf] = iVar5;\n    ((int *)pppuVar13)[0xe] = 0;\n    ((int *)pppuVar13)[1] = 0;\n  }" ({ "{") (expression_statement "((int *)pppuVar13)[-1] = 0x7dacb;" (assignment_expression "((int *)pppuVar13)[-1] = 0x7dacb" (subscript_expression "((int *)pppuVar13)[-1]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "-1") (] "]")) (= "=") (number_literal "0x7dacb")) (; ";")) (expression_statement "iVar5 = FUN_0001ac64();" (assignment_expression "iVar5 = FUN_0001ac64()" (identifier "iVar5") (= "=") (call_expression "FUN_0001ac64()" (identifier "FUN_0001ac64") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar5 < 0) {\n      ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x4f84;\n      ((int *)pppuVar13)[-5] = 0x7dae6;\n      FUN_000191bd();\n      ((int *)pppuVar13)[4] = -1;\n      ((int *)pppuVar13)[5] = -1;\n      if (__ptr != (uint *)0x0) goto LAB_0007dafd;\n      goto LAB_0007db27;\n    }" (if "if") (parenthesized_expression "(iVar5 < 0)" (( "(") (binary_expression "iVar5 < 0" (identifier "iVar5") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x4f84;\n      ((int *)pppuVar13)[-5] = 0x7dae6;\n      FUN_000191bd();\n      ((int *)pppuVar13)[4] = -1;\n      ((int *)pppuVar13)[5] = -1;\n      if (__ptr != (uint *)0x0) goto LAB_0007dafd;\n      goto LAB_0007db27;\n    }" ({ "{") (expression_statement "((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x4f84;" (assignment_expression "((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x4f84" (subscript_expression "((int *)pppuVar13)[-4]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "-4") (] "]")) (= "=") (binary_expression "(int)*pppuVar13 + -0x4f84" (cast_expression "(int)*pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*pppuVar13" (* "*") (identifier "pppuVar13"))) (+ "+") (number_literal "-0x4f84"))) (; ";")) (expression_statement "((int *)pppuVar13)[-5] = 0x7dae6;" (assignment_expression "((int *)pppuVar13)[-5] = 0x7dae6" (subscript_expression "((int *)pppuVar13)[-5]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "-5") (] "]")) (= "=") (number_literal "0x7dae6")) (; ";")) (expression_statement "FUN_000191bd();" (call_expression "FUN_000191bd()" (identifier "FUN_000191bd") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "((int *)pppuVar13)[4] = -1;" (assignment_expression "((int *)pppuVar13)[4] = -1" (subscript_expression "((int *)pppuVar13)[4]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "((int *)pppuVar13)[5] = -1;" (assignment_expression "((int *)pppuVar13)[5] = -1" (subscript_expression "((int *)pppuVar13)[5]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "-1")) (; ";")) (if_statement "if (__ptr != (uint *)0x0) goto LAB_0007dafd;" (if "if") (parenthesized_expression "(__ptr != (uint *)0x0)" (( "(") (binary_expression "__ptr != (uint *)0x0" (identifier "__ptr") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0007dafd;" (goto "goto") (statement_identifier "LAB_0007dafd") (; ";"))) (goto_statement "goto LAB_0007db27;" (goto "goto") (statement_identifier "LAB_0007db27") (; ";")) (} "}"))) (if_statement "if ((iVar5 == 0) && (iVar8 == 1)) {\n      if (__ptr == (uint *)0x0) goto LAB_0007db27;\n      goto LAB_0007dafd;\n    }" (if "if") (parenthesized_expression "((iVar5 == 0) && (iVar8 == 1))" (( "(") (binary_expression "(iVar5 == 0) && (iVar8 == 1)" (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar8 == 1)" (( "(") (binary_expression "iVar8 == 1" (identifier "iVar8") (== "==") (number_literal "1")) () ")"))) () ")")) (compound_statement "{\n      if (__ptr == (uint *)0x0) goto LAB_0007db27;\n      goto LAB_0007dafd;\n    }" ({ "{") (if_statement "if (__ptr == (uint *)0x0) goto LAB_0007db27;" (if "if") (parenthesized_expression "(__ptr == (uint *)0x0)" (( "(") (binary_expression "__ptr == (uint *)0x0" (identifier "__ptr") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0007db27;" (goto "goto") (statement_identifier "LAB_0007db27") (; ";"))) (goto_statement "goto LAB_0007dafd;" (goto "goto") (statement_identifier "LAB_0007dafd") (; ";")) (} "}"))) (expression_statement "((int *)pppuVar13)[0xf] = iVar5;" (assignment_expression "((int *)pppuVar13)[0xf] = iVar5" (subscript_expression "((int *)pppuVar13)[0xf]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "0xf") (] "]")) (= "=") (identifier "iVar5")) (; ";")) (expression_statement "((int *)pppuVar13)[0xe] = 0;" (assignment_expression "((int *)pppuVar13)[0xe] = 0" (subscript_expression "((int *)pppuVar13)[0xe]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "0xe") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "((int *)pppuVar13)[1] = 0;" (assignment_expression "((int *)pppuVar13)[1] = 0" (subscript_expression "((int *)pppuVar13)[1]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}")))) (if_statement "if (iVar8 == 1) {\n    bVar2 = false;\n    do {\n      if (*(char *)(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1]) != '\0') {\n        if (bVar2) {\n          ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n        }\n        ((int *)pppuVar13)[-1] = 0x7dba9;\n        FUN_0007d0ea();\n        ((int *)pppuVar13)[1] = ((int *)pppuVar13)[0xe];\n        goto LAB_0007dbb1;\n      }\n      ((int *)pppuVar13)[1] = ((int *)pppuVar13)[1] + 1;\n      bVar2 = true;\n    } while ((uint)((int *)pppuVar13)[1] < (uint)((int *)pppuVar13)[0xf]);\n    ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n  }" (if "if") (parenthesized_expression "(iVar8 == 1)" (( "(") (binary_expression "iVar8 == 1" (identifier "iVar8") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n    bVar2 = false;\n    do {\n      if (*(char *)(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1]) != '\0') {\n        if (bVar2) {\n          ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n        }\n        ((int *)pppuVar13)[-1] = 0x7dba9;\n        FUN_0007d0ea();\n        ((int *)pppuVar13)[1] = ((int *)pppuVar13)[0xe];\n        goto LAB_0007dbb1;\n      }\n      ((int *)pppuVar13)[1] = ((int *)pppuVar13)[1] + 1;\n      bVar2 = true;\n    } while ((uint)((int *)pppuVar13)[1] < (uint)((int *)pppuVar13)[0xf]);\n    ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n  }" ({ "{") (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" (identifier "bVar2") (= "=") (false "false")) (; ";")) (do_statement "do {\n      if (*(char *)(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1]) != '\0') {\n        if (bVar2) {\n          ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n        }\n        ((int *)pppuVar13)[-1] = 0x7dba9;\n        FUN_0007d0ea();\n        ((int *)pppuVar13)[1] = ((int *)pppuVar13)[0xe];\n        goto LAB_0007dbb1;\n      }\n      ((int *)pppuVar13)[1] = ((int *)pppuVar13)[1] + 1;\n      bVar2 = true;\n    } while ((uint)((int *)pppuVar13)[1] < (uint)((int *)pppuVar13)[0xf]);" (do "do") (compound_statement "{\n      if (*(char *)(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1]) != '\0') {\n        if (bVar2) {\n          ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n        }\n        ((int *)pppuVar13)[-1] = 0x7dba9;\n        FUN_0007d0ea();\n        ((int *)pppuVar13)[1] = ((int *)pppuVar13)[0xe];\n        goto LAB_0007dbb1;\n      }\n      ((int *)pppuVar13)[1] = ((int *)pppuVar13)[1] + 1;\n      bVar2 = true;\n    }" ({ "{") (if_statement "if (*(char *)(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1]) != '\0') {\n        if (bVar2) {\n          ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n        }\n        ((int *)pppuVar13)[-1] = 0x7dba9;\n        FUN_0007d0ea();\n        ((int *)pppuVar13)[1] = ((int *)pppuVar13)[0xe];\n        goto LAB_0007dbb1;\n      }" (if "if") (parenthesized_expression "(*(char *)(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1]) != '\0')" (( "(") (binary_expression "*(char *)(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1]) != '\0'" (pointer_expression "*(char *)(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1])" (* "*") (cast_expression "(char *)(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1])" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1])" (( "(") (binary_expression "((int *)pppuVar13)[3] + ((int *)pppuVar13)[1]" (subscript_expression "((int *)pppuVar13)[3]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "3") (] "]")) (+ "+") (subscript_expression "((int *)pppuVar13)[1]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "1") (] "]"))) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        if (bVar2) {\n          ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n        }\n        ((int *)pppuVar13)[-1] = 0x7dba9;\n        FUN_0007d0ea();\n        ((int *)pppuVar13)[1] = ((int *)pppuVar13)[0xe];\n        goto LAB_0007dbb1;\n      }" ({ "{") (if_statement "if (bVar2) {\n          ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n        }" (if "if") (parenthesized_expression "(bVar2)" (( "(") (identifier "bVar2") () ")")) (compound_statement "{\n          ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];\n        }" ({ "{") (expression_statement "((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];" (assignment_expression "((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1]" (subscript_expression "((int *)pppuVar13)[0xe]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "0xe") (] "]")) (= "=") (subscript_expression "((int *)pppuVar13)[1]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "1") (] "]"))) (; ";")) (} "}"))) (expression_statement "((int *)pppuVar13)[-1] = 0x7dba9;" (assignment_expression "((int *)pppuVar13)[-1] = 0x7dba9" (subscript_expression "((int *)pppuVar13)[-1]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "-1") (] "]")) (= "=") (number_literal "0x7dba9")) (; ";")) (expression_statement "FUN_0007d0ea();" (call_expression "FUN_0007d0ea()" (identifier "FUN_0007d0ea") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "((int *)pppuVar13)[1] = ((int *)pppuVar13)[0xe];" (assignment_expression "((int *)pppuVar13)[1] = ((int *)pppuVar13)[0xe]" (subscript_expression "((int *)pppuVar13)[1]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "1") (] "]")) (= "=") (subscript_expression "((int *)pppuVar13)[0xe]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "0xe") (] "]"))) (; ";")) (goto_statement "goto LAB_0007dbb1;" (goto "goto") (statement_identifier "LAB_0007dbb1") (; ";")) (} "}"))) (expression_statement "((int *)pppuVar13)[1] = ((int *)pppuVar13)[1] + 1;" (assignment_expression "((int *)pppuVar13)[1] = ((int *)pppuVar13)[1] + 1" (subscript_expression "((int *)pppuVar13)[1]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "((int *)pppuVar13)[1] + 1" (subscript_expression "((int *)pppuVar13)[1]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" (identifier "bVar2") (= "=") (true "true")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((uint)((int *)pppuVar13)[1] < (uint)((int *)pppuVar13)[0xf])" (( "(") (binary_expression "(uint)((int *)pppuVar13)[1] < (uint)((int *)pppuVar13)[0xf]" (subscript_expression "(uint)((int *)pppuVar13)[1]" (call_expression "(uint)((int *)pppuVar13)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")"))) ([ "[") (number_literal "1") (] "]")) (< "<") (subscript_expression "(uint)((int *)pppuVar13)[0xf]" (call_expression "(uint)((int *)pppuVar13)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")"))) ([ "[") (number_literal "0xf") (] "]"))) () ")")) (; ";")) (expression_statement "((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];" (assignment_expression "((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1]" (subscript_expression "((int *)pppuVar13)[0xe]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "0xe") (] "]")) (= "=") (subscript_expression "((int *)pppuVar13)[1]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "1") (] "]"))) (; ";")) (} "}"))) (labeled_statement "LAB_0007dbb1:\n  ((int *)pppuVar13)[8] = ((int *)pppuVar13)[0x11];" (statement_identifier "LAB_0007dbb1") (: ":") (expression_statement "((int *)pppuVar13)[8] = ((int *)pppuVar13)[0x11];" (assignment_expression "((int *)pppuVar13)[8] = ((int *)pppuVar13)[0x11]" (subscript_expression "((int *)pppuVar13)[8]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "8") (] "]")) (= "=") (subscript_expression "((int *)pppuVar13)[0x11]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "0x11") (] "]"))) (; ";"))) (expression_statement "__ptr[4] = ((int *)pppuVar13)[1];" (assignment_expression "__ptr[4] = ((int *)pppuVar13)[1]" (subscript_expression "__ptr[4]" (identifier "__ptr") ([ "[") (number_literal "4") (] "]")) (= "=") (subscript_expression "((int *)pppuVar13)[1]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar7 = *__ptr;" (assignment_expression "uVar7 = *__ptr" (identifier "uVar7") (= "=") (pointer_expression "*__ptr" (* "*") (identifier "__ptr"))) (; ";")) (expression_statement "((int *)pppuVar13)[0xb] = (int)(__ptr + 0x15);" (assignment_expression "((int *)pppuVar13)[0xb] = (int)(__ptr + 0x15)" (subscript_expression "((int *)pppuVar13)[0xb]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "0xb") (] "]")) (= "=") (cast_expression "(int)(__ptr + 0x15)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(__ptr + 0x15)" (( "(") (binary_expression "__ptr + 0x15" (identifier "__ptr") (+ "+") (number_literal "0x15")) () ")")))) (; ";")) (do_statement "do {\n  } while (9 < uVar7);" (do "do") (compound_statement "{\n  }" ({ "{") (} "}")) (while "while") (parenthesized_expression "(9 < uVar7)" (( "(") (binary_expression "9 < uVar7" (number_literal "9") (< "<") (identifier "uVar7")) () ")")) (; ";")) (labeled_statement "LAB_0007dbcf:\n  piVar14 = (int *)pppuVar13;" (statement_identifier "LAB_0007dbcf") (: ":") (expression_statement "piVar14 = (int *)pppuVar13;" (assignment_expression "piVar14 = (int *)pppuVar13" (identifier "piVar14") (= "=") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13"))) (; ";"))) (switch_statement "switch(*(int *)((int)*pppuVar13 + -0x154d0 + uVar7 * 4) + (int)*pppuVar13) {\n  case 0x7dc1f:\n    goto switchD_0007dbdb_caseD_7dc1f;\n  case 0x7dc7d:\n    goto switchD_0007dbdb_caseD_7dc7d;\n  case 0x7dcd4:\n    goto switchD_0007dbdb_caseD_7dcd4;\n  case 0x7dd72:\n    goto switchD_0007dbdb_caseD_7dd72;\n  case 0x7dfc9:\n    ((int *)pppuVar13)[-1] = 0x7dfd4;\n    cVar3 = FUN_0007d93a();\n    if (cVar3 == '\0') goto LAB_0007dd81;\n    *__ptr = 1;\n    if ((__ptr[0x26] != 0x587a37fd) || ((short)__ptr[0x27] != 0x5a)) {\n      iVar5 = ((int *)pppuVar13)[0x11];\n      iVar8 = 5;\n      goto LAB_0007df05;\n    }\n    ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n    ((int *)pppuVar13)[-5] = 0x7e023;\n    uVar7 = FUN_000a62f1();\n    piVar14 = (int *)pppuVar13 + -1;\n    piVar15 = (int *)pppuVar13 + -1;\n    if (~uVar7 != __ptr[0x28]) goto LAB_0007defc;\n    piVar15 = (int *)pppuVar13 + -1;\n    if (*(char *)((int)__ptr + 0x9e) == '\0') {\n      uVar7 = (uint)*(byte *)((int)__ptr + 0x9f);\n      __ptr[7] = uVar7;\n      piVar15 = (int *)pppuVar13 + -1;\n      if (uVar7 < 0x10) {\n        if (uVar7 < 2) goto switchD_0007dbdb_caseD_7e05d;\n        iVar5 = ((int *)pppuVar13)[0x10];\n        iVar8 = 2;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n        goto LAB_0007df05;\n      }\n    }\n    break;\n  case 0x7e05d:\nswitchD_0007dbdb_caseD_7e05d:\n    uVar10 = *(uint *)((int)piVar14 + 0x38);\n    uVar7 = *(uint *)((int)piVar14 + 0x3c);\n    pppuVar13 = (undefined ***)piVar14;\n    if (uVar10 == uVar7) goto LAB_0007dd85;\n    if (*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) != 0) {\n      uVar7 = (uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) * 4 + 4;\n      __ptr[0xe] = uVar7;\n      __ptr[0x25] = uVar7;\n      __ptr[0x24] = 0;\n      *__ptr = 2;\n      goto switchD_0007dbdb_caseD_7e09e;\n    }\n    *(uint *)((int)piVar14 + 0x38) = uVar10 + 1;\n    __ptr[4] = uVar10;\n    *__ptr = 6;\n    uVar7 = 6;\n    goto LAB_0007dbcf;\n  case 0x7e09e:\nswitchD_0007dbdb_caseD_7e09e:\n    piVar14[-1] = 0x7e0a9;\n    cVar3 = FUN_0007d93a();\n    pppuVar13 = (undefined ***)piVar14;\n    if (cVar3 == '\0') goto LAB_0007dd81;\n    __ptr[0x25] = __ptr[0x25] - 4;\n    piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n    piVar14[-5] = 0x7e0df;\n    uVar10 = FUN_000a62f1();\n    uVar7 = __ptr[0x25];\n    pppuVar13 = (undefined ***)(piVar14 + -1);\n    piVar16 = piVar14 + -1;\n    piVar15 = piVar14 + -1;\n    if (~uVar10 != *(uint *)((int)__ptr + uVar7 + 0x98)) goto LAB_0007defc;\n    __ptr[0x24] = 2;\n    bVar19 = *(byte *)((int)__ptr + 0x99);\n    piVar15 = piVar14 + -1;\n    if ((bVar19 & 0x3f) == 0) {\n      if ((bVar19 & 0x40) == 0) {\n        __ptr[10] = 0xffffffff;\n        __ptr[0xb] = 0xffffffff;\n        if (-1 < (char)bVar19) goto LAB_0007e129;\nLAB_0007e572:\n        *(uint *)((int)piVar16 + -0x10) = uVar7;\n        *(undefined4 *)((int)piVar16 + -0x14) = 0x7e585;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)((int)piVar16 + -4);\n        piVar15 = (int *)((int)piVar16 + -4);\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[0xc] = __ptr[2];\n        __ptr[0xd] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      else {\n        piVar14[-5] = uVar7;\n        piVar14[-6] = 0x7e5cc;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)(piVar14 + -2);\n        piVar16 = piVar14 + -2;\n        piVar15 = piVar14 + -2;\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[10] = __ptr[2];\n        __ptr[0xb] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        if (*(char *)((int)__ptr + 0x99) < '\0') goto LAB_0007e572;\nLAB_0007e129:\n        __ptr[0xc] = 0xffffffff;\n        __ptr[0xd] = 0xffffffff;\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      piVar15 = (int *)pppuVar13;\n      if (uVar9 < 2) goto LAB_0007defc;\n      __ptr[0x24] = uVar10 + 1;\n      if (*(char *)((int)__ptr + uVar10 + 0x98) == '!') {\n        __ptr[0x24] = uVar10 + 2;\n        if (*(char *)((int)__ptr + uVar10 + 0x99) == '\x01') {\n          if (uVar10 + 2 == uVar7) goto LAB_0007defc;\n          uVar9 = uVar10 + 3;\n          __ptr[0x24] = uVar9;\n          bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);\n          if (bVar19 < 0x28) {\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }\n        }\n      }\n    }\n    break;\n  case 0x7e21b:\nswitchD_0007dbdb_caseD_7e21b:\n    __ptr[4] = ((int *)pppuVar13)[0xe];\n    __ptr[5] = ((int *)pppuVar13)[0x11];\n    ((int *)pppuVar13)[-1] = 0x7e238;\n    iVar8 = FUN_0007d17c();\n    ((int *)pppuVar13)[7] = iVar8;\n    uVar9 = (((int *)pppuVar13)[0xe] - __ptr[4]) + __ptr[0xf];\n    uVar18 = __ptr[0x10] + (uint)CARRY4(((int *)pppuVar13)[0xe] - __ptr[4],__ptr[0xf]);\n    __ptr[0xf] = uVar9;\n    __ptr[0x10] = uVar18;\n    iVar5 = ((int *)pppuVar13)[0x11];\n    uVar7 = __ptr[5];\n    ((int *)pppuVar13)[9] = uVar7;\n    uVar7 = iVar5 - uVar7;\n    ((int *)pppuVar13)[10] = uVar7;\n    uVar10 = uVar7 + __ptr[0x11];\n    uVar7 = __ptr[0x12] + (uint)CARRY4(uVar7,__ptr[0x11]);\n    __ptr[0x11] = uVar10;\n    __ptr[0x12] = uVar7;\n    if ((uVar18 <= __ptr[0xb] && (uint)(__ptr[10] < uVar9) <= __ptr[0xb] - uVar18) &&\n       (uVar7 <= __ptr[0xd] && (uint)(__ptr[0xc] < uVar10) <= __ptr[0xd] - uVar7)) {\n      if (__ptr[7] == 1) {\n        ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n        ((int *)pppuVar13)[-5] = 0x7e2b9;\n        uVar7 = FUN_000a62f1();\n        __ptr[6] = ~uVar7;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n      }\n      if (((int *)pppuVar13)[7] == 1) {\n        piVar15 = (int *)pppuVar13;\n        if (((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||\n           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])) {\n          uVar7 = __ptr[0x11];\n          if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }\n        }\n        goto LAB_0007defc;\n      }\n      iVar8 = ((int *)pppuVar13)[7];\n      goto LAB_0007dfbc;\n    }\n    iVar8 = 7;\n    goto LAB_0007df05;\n  case 0x7e360:\nswitchD_0007dbdb_caseD_7e360:\n    uVar10 = __ptr[0xf];\n    uVar9 = __ptr[0x10];\n    if ((uVar10 & 3) != 0) {\n      uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n      uVar7 = *(uint *)((int)pppuVar13 + 0x3c);\n      if (uVar18 == uVar7) goto LAB_0007dd85;\n      iVar8 = *(int *)((int)pppuVar13 + 0x34);\n      *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n      piVar15 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      uVar9 = uVar9 + (0xfffffffe < uVar10);\n      while( true ) {\n        uVar10 = uVar10 + 1;\n        __ptr[0xf] = uVar10;\n        __ptr[0x10] = uVar9;\n        if ((uVar10 & 3) == 0) break;\n        uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n        uVar9 = uVar9 + (0xfffffffe < uVar10);\n        if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      }\n    }\n    *__ptr = 5;\n    piVar14 = (int *)pppuVar13;\nswitchD_0007dbdb_caseD_7e3b0:\n    pppuVar13 = (undefined ***)piVar14;\n    if (__ptr[7] == 1) {\n      uVar10 = piVar14[0xf];\n      iVar8 = piVar14[0xd];\n      uVar7 = piVar14[0xe];\n      do {\n        if (uVar10 == uVar7) goto LAB_0007dd85;\n        uVar9 = __ptr[1];\n        uVar18 = __ptr[6];\n        uVar7 = uVar7 + 1;\n        piVar14[0xe] = uVar7;\n        if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))\n        goto LAB_0007dcff;\n        uVar9 = uVar9 + 8;\n        __ptr[1] = uVar9;\n      } while (uVar9 < 0x20);\n      __ptr[6] = 0;\n      __ptr[1] = 0;\n    }\n    else {\n      uVar10 = __ptr[1];\n      uVar9 = (uint)*(byte *)(*piVar14 + -0x154a8 + __ptr[7]);\n      if (uVar10 < uVar9) {\n        uVar18 = piVar14[0xe];\n        uVar7 = piVar14[0xf];\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        uVar11 = uVar18;\n        while( true ) {\n          uVar11 = uVar11 + 1;\n          if (uVar11 == (uVar18 - uVar10) + uVar9) break;\n          if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }\n        }\n        piVar14[0xe] = uVar11;\n      }\n      __ptr[1] = 0;\n    }\n    *__ptr = 1;\n    uVar7 = 1;\n    goto LAB_0007dbcf;\n  case 0x7e3b0:\n    goto switchD_0007dbdb_caseD_7e3b0;\n  }" (switch "switch") (parenthesized_expression "(*(int *)((int)*pppuVar13 + -0x154d0 + uVar7 * 4) + (int)*pppuVar13)" (( "(") (binary_expression "*(int *)((int)*pppuVar13 + -0x154d0 + uVar7 * 4) + (int)*pppuVar13" (pointer_expression "*(int *)((int)*pppuVar13 + -0x154d0 + uVar7 * 4)" (* "*") (cast_expression "(int *)((int)*pppuVar13 + -0x154d0 + uVar7 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)*pppuVar13 + -0x154d0 + uVar7 * 4)" (( "(") (binary_expression "(int)*pppuVar13 + -0x154d0 + uVar7 * 4" (binary_expression "(int)*pppuVar13 + -0x154d0" (cast_expression "(int)*pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*pppuVar13" (* "*") (identifier "pppuVar13"))) (+ "+") (number_literal "-0x154d0")) (+ "+") (binary_expression "uVar7 * 4" (identifier "uVar7") (* "*") (number_literal "4"))) () ")")))) (+ "+") (cast_expression "(int)*pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*pppuVar13" (* "*") (identifier "pppuVar13")))) () ")")) (compound_statement "{\n  case 0x7dc1f:\n    goto switchD_0007dbdb_caseD_7dc1f;\n  case 0x7dc7d:\n    goto switchD_0007dbdb_caseD_7dc7d;\n  case 0x7dcd4:\n    goto switchD_0007dbdb_caseD_7dcd4;\n  case 0x7dd72:\n    goto switchD_0007dbdb_caseD_7dd72;\n  case 0x7dfc9:\n    ((int *)pppuVar13)[-1] = 0x7dfd4;\n    cVar3 = FUN_0007d93a();\n    if (cVar3 == '\0') goto LAB_0007dd81;\n    *__ptr = 1;\n    if ((__ptr[0x26] != 0x587a37fd) || ((short)__ptr[0x27] != 0x5a)) {\n      iVar5 = ((int *)pppuVar13)[0x11];\n      iVar8 = 5;\n      goto LAB_0007df05;\n    }\n    ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n    ((int *)pppuVar13)[-5] = 0x7e023;\n    uVar7 = FUN_000a62f1();\n    piVar14 = (int *)pppuVar13 + -1;\n    piVar15 = (int *)pppuVar13 + -1;\n    if (~uVar7 != __ptr[0x28]) goto LAB_0007defc;\n    piVar15 = (int *)pppuVar13 + -1;\n    if (*(char *)((int)__ptr + 0x9e) == '\0') {\n      uVar7 = (uint)*(byte *)((int)__ptr + 0x9f);\n      __ptr[7] = uVar7;\n      piVar15 = (int *)pppuVar13 + -1;\n      if (uVar7 < 0x10) {\n        if (uVar7 < 2) goto switchD_0007dbdb_caseD_7e05d;\n        iVar5 = ((int *)pppuVar13)[0x10];\n        iVar8 = 2;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n        goto LAB_0007df05;\n      }\n    }\n    break;\n  case 0x7e05d:\nswitchD_0007dbdb_caseD_7e05d:\n    uVar10 = *(uint *)((int)piVar14 + 0x38);\n    uVar7 = *(uint *)((int)piVar14 + 0x3c);\n    pppuVar13 = (undefined ***)piVar14;\n    if (uVar10 == uVar7) goto LAB_0007dd85;\n    if (*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) != 0) {\n      uVar7 = (uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) * 4 + 4;\n      __ptr[0xe] = uVar7;\n      __ptr[0x25] = uVar7;\n      __ptr[0x24] = 0;\n      *__ptr = 2;\n      goto switchD_0007dbdb_caseD_7e09e;\n    }\n    *(uint *)((int)piVar14 + 0x38) = uVar10 + 1;\n    __ptr[4] = uVar10;\n    *__ptr = 6;\n    uVar7 = 6;\n    goto LAB_0007dbcf;\n  case 0x7e09e:\nswitchD_0007dbdb_caseD_7e09e:\n    piVar14[-1] = 0x7e0a9;\n    cVar3 = FUN_0007d93a();\n    pppuVar13 = (undefined ***)piVar14;\n    if (cVar3 == '\0') goto LAB_0007dd81;\n    __ptr[0x25] = __ptr[0x25] - 4;\n    piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n    piVar14[-5] = 0x7e0df;\n    uVar10 = FUN_000a62f1();\n    uVar7 = __ptr[0x25];\n    pppuVar13 = (undefined ***)(piVar14 + -1);\n    piVar16 = piVar14 + -1;\n    piVar15 = piVar14 + -1;\n    if (~uVar10 != *(uint *)((int)__ptr + uVar7 + 0x98)) goto LAB_0007defc;\n    __ptr[0x24] = 2;\n    bVar19 = *(byte *)((int)__ptr + 0x99);\n    piVar15 = piVar14 + -1;\n    if ((bVar19 & 0x3f) == 0) {\n      if ((bVar19 & 0x40) == 0) {\n        __ptr[10] = 0xffffffff;\n        __ptr[0xb] = 0xffffffff;\n        if (-1 < (char)bVar19) goto LAB_0007e129;\nLAB_0007e572:\n        *(uint *)((int)piVar16 + -0x10) = uVar7;\n        *(undefined4 *)((int)piVar16 + -0x14) = 0x7e585;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)((int)piVar16 + -4);\n        piVar15 = (int *)((int)piVar16 + -4);\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[0xc] = __ptr[2];\n        __ptr[0xd] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      else {\n        piVar14[-5] = uVar7;\n        piVar14[-6] = 0x7e5cc;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)(piVar14 + -2);\n        piVar16 = piVar14 + -2;\n        piVar15 = piVar14 + -2;\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[10] = __ptr[2];\n        __ptr[0xb] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        if (*(char *)((int)__ptr + 0x99) < '\0') goto LAB_0007e572;\nLAB_0007e129:\n        __ptr[0xc] = 0xffffffff;\n        __ptr[0xd] = 0xffffffff;\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      piVar15 = (int *)pppuVar13;\n      if (uVar9 < 2) goto LAB_0007defc;\n      __ptr[0x24] = uVar10 + 1;\n      if (*(char *)((int)__ptr + uVar10 + 0x98) == '!') {\n        __ptr[0x24] = uVar10 + 2;\n        if (*(char *)((int)__ptr + uVar10 + 0x99) == '\x01') {\n          if (uVar10 + 2 == uVar7) goto LAB_0007defc;\n          uVar9 = uVar10 + 3;\n          __ptr[0x24] = uVar9;\n          bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);\n          if (bVar19 < 0x28) {\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }\n        }\n      }\n    }\n    break;\n  case 0x7e21b:\nswitchD_0007dbdb_caseD_7e21b:\n    __ptr[4] = ((int *)pppuVar13)[0xe];\n    __ptr[5] = ((int *)pppuVar13)[0x11];\n    ((int *)pppuVar13)[-1] = 0x7e238;\n    iVar8 = FUN_0007d17c();\n    ((int *)pppuVar13)[7] = iVar8;\n    uVar9 = (((int *)pppuVar13)[0xe] - __ptr[4]) + __ptr[0xf];\n    uVar18 = __ptr[0x10] + (uint)CARRY4(((int *)pppuVar13)[0xe] - __ptr[4],__ptr[0xf]);\n    __ptr[0xf] = uVar9;\n    __ptr[0x10] = uVar18;\n    iVar5 = ((int *)pppuVar13)[0x11];\n    uVar7 = __ptr[5];\n    ((int *)pppuVar13)[9] = uVar7;\n    uVar7 = iVar5 - uVar7;\n    ((int *)pppuVar13)[10] = uVar7;\n    uVar10 = uVar7 + __ptr[0x11];\n    uVar7 = __ptr[0x12] + (uint)CARRY4(uVar7,__ptr[0x11]);\n    __ptr[0x11] = uVar10;\n    __ptr[0x12] = uVar7;\n    if ((uVar18 <= __ptr[0xb] && (uint)(__ptr[10] < uVar9) <= __ptr[0xb] - uVar18) &&\n       (uVar7 <= __ptr[0xd] && (uint)(__ptr[0xc] < uVar10) <= __ptr[0xd] - uVar7)) {\n      if (__ptr[7] == 1) {\n        ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n        ((int *)pppuVar13)[-5] = 0x7e2b9;\n        uVar7 = FUN_000a62f1();\n        __ptr[6] = ~uVar7;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n      }\n      if (((int *)pppuVar13)[7] == 1) {\n        piVar15 = (int *)pppuVar13;\n        if (((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||\n           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])) {\n          uVar7 = __ptr[0x11];\n          if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }\n        }\n        goto LAB_0007defc;\n      }\n      iVar8 = ((int *)pppuVar13)[7];\n      goto LAB_0007dfbc;\n    }\n    iVar8 = 7;\n    goto LAB_0007df05;\n  case 0x7e360:\nswitchD_0007dbdb_caseD_7e360:\n    uVar10 = __ptr[0xf];\n    uVar9 = __ptr[0x10];\n    if ((uVar10 & 3) != 0) {\n      uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n      uVar7 = *(uint *)((int)pppuVar13 + 0x3c);\n      if (uVar18 == uVar7) goto LAB_0007dd85;\n      iVar8 = *(int *)((int)pppuVar13 + 0x34);\n      *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n      piVar15 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      uVar9 = uVar9 + (0xfffffffe < uVar10);\n      while( true ) {\n        uVar10 = uVar10 + 1;\n        __ptr[0xf] = uVar10;\n        __ptr[0x10] = uVar9;\n        if ((uVar10 & 3) == 0) break;\n        uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n        uVar9 = uVar9 + (0xfffffffe < uVar10);\n        if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      }\n    }\n    *__ptr = 5;\n    piVar14 = (int *)pppuVar13;\nswitchD_0007dbdb_caseD_7e3b0:\n    pppuVar13 = (undefined ***)piVar14;\n    if (__ptr[7] == 1) {\n      uVar10 = piVar14[0xf];\n      iVar8 = piVar14[0xd];\n      uVar7 = piVar14[0xe];\n      do {\n        if (uVar10 == uVar7) goto LAB_0007dd85;\n        uVar9 = __ptr[1];\n        uVar18 = __ptr[6];\n        uVar7 = uVar7 + 1;\n        piVar14[0xe] = uVar7;\n        if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))\n        goto LAB_0007dcff;\n        uVar9 = uVar9 + 8;\n        __ptr[1] = uVar9;\n      } while (uVar9 < 0x20);\n      __ptr[6] = 0;\n      __ptr[1] = 0;\n    }\n    else {\n      uVar10 = __ptr[1];\n      uVar9 = (uint)*(byte *)(*piVar14 + -0x154a8 + __ptr[7]);\n      if (uVar10 < uVar9) {\n        uVar18 = piVar14[0xe];\n        uVar7 = piVar14[0xf];\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        uVar11 = uVar18;\n        while( true ) {\n          uVar11 = uVar11 + 1;\n          if (uVar11 == (uVar18 - uVar10) + uVar9) break;\n          if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }\n        }\n        piVar14[0xe] = uVar11;\n      }\n      __ptr[1] = 0;\n    }\n    *__ptr = 1;\n    uVar7 = 1;\n    goto LAB_0007dbcf;\n  case 0x7e3b0:\n    goto switchD_0007dbdb_caseD_7e3b0;\n  }" ({ "{") (case_statement "case 0x7dc1f:\n    goto switchD_0007dbdb_caseD_7dc1f;" (case "case") (number_literal "0x7dc1f") (: ":") (goto_statement "goto switchD_0007dbdb_caseD_7dc1f;" (goto "goto") (statement_identifier "switchD_0007dbdb_caseD_7dc1f") (; ";"))) (case_statement "case 0x7dc7d:\n    goto switchD_0007dbdb_caseD_7dc7d;" (case "case") (number_literal "0x7dc7d") (: ":") (goto_statement "goto switchD_0007dbdb_caseD_7dc7d;" (goto "goto") (statement_identifier "switchD_0007dbdb_caseD_7dc7d") (; ";"))) (case_statement "case 0x7dcd4:\n    goto switchD_0007dbdb_caseD_7dcd4;" (case "case") (number_literal "0x7dcd4") (: ":") (goto_statement "goto switchD_0007dbdb_caseD_7dcd4;" (goto "goto") (statement_identifier "switchD_0007dbdb_caseD_7dcd4") (; ";"))) (case_statement "case 0x7dd72:\n    goto switchD_0007dbdb_caseD_7dd72;" (case "case") (number_literal "0x7dd72") (: ":") (goto_statement "goto switchD_0007dbdb_caseD_7dd72;" (goto "goto") (statement_identifier "switchD_0007dbdb_caseD_7dd72") (; ";"))) (case_statement "case 0x7dfc9:\n    ((int *)pppuVar13)[-1] = 0x7dfd4;\n    cVar3 = FUN_0007d93a();\n    if (cVar3 == '\0') goto LAB_0007dd81;\n    *__ptr = 1;\n    if ((__ptr[0x26] != 0x587a37fd) || ((short)__ptr[0x27] != 0x5a)) {\n      iVar5 = ((int *)pppuVar13)[0x11];\n      iVar8 = 5;\n      goto LAB_0007df05;\n    }\n    ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n    ((int *)pppuVar13)[-5] = 0x7e023;\n    uVar7 = FUN_000a62f1();\n    piVar14 = (int *)pppuVar13 + -1;\n    piVar15 = (int *)pppuVar13 + -1;\n    if (~uVar7 != __ptr[0x28]) goto LAB_0007defc;\n    piVar15 = (int *)pppuVar13 + -1;\n    if (*(char *)((int)__ptr + 0x9e) == '\0') {\n      uVar7 = (uint)*(byte *)((int)__ptr + 0x9f);\n      __ptr[7] = uVar7;\n      piVar15 = (int *)pppuVar13 + -1;\n      if (uVar7 < 0x10) {\n        if (uVar7 < 2) goto switchD_0007dbdb_caseD_7e05d;\n        iVar5 = ((int *)pppuVar13)[0x10];\n        iVar8 = 2;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n        goto LAB_0007df05;\n      }\n    }\n    break;" (case "case") (number_literal "0x7dfc9") (: ":") (expression_statement "((int *)pppuVar13)[-1] = 0x7dfd4;" (assignment_expression "((int *)pppuVar13)[-1] = 0x7dfd4" (subscript_expression "((int *)pppuVar13)[-1]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "-1") (] "]")) (= "=") (number_literal "0x7dfd4")) (; ";")) (expression_statement "cVar3 = FUN_0007d93a();" (assignment_expression "cVar3 = FUN_0007d93a()" (identifier "cVar3") (= "=") (call_expression "FUN_0007d93a()" (identifier "FUN_0007d93a") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (cVar3 == '\0') goto LAB_0007dd81;" (if "if") (parenthesized_expression "(cVar3 == '\0')" (( "(") (binary_expression "cVar3 == '\0'" (identifier "cVar3") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0007dd81;" (goto "goto") (statement_identifier "LAB_0007dd81") (; ";"))) (expression_statement "*__ptr = 1;" (assignment_expression "*__ptr = 1" (pointer_expression "*__ptr" (* "*") (identifier "__ptr")) (= "=") (number_literal "1")) (; ";")) (if_statement "if ((__ptr[0x26] != 0x587a37fd) || ((short)__ptr[0x27] != 0x5a)) {\n      iVar5 = ((int *)pppuVar13)[0x11];\n      iVar8 = 5;\n      goto LAB_0007df05;\n    }" (if "if") (parenthesized_expression "((__ptr[0x26] != 0x587a37fd) || ((short)__ptr[0x27] != 0x5a))" (( "(") (binary_expression "(__ptr[0x26] != 0x587a37fd) || ((short)__ptr[0x27] != 0x5a)" (parenthesized_expression "(__ptr[0x26] != 0x587a37fd)" (( "(") (binary_expression "__ptr[0x26] != 0x587a37fd" (subscript_expression "__ptr[0x26]" (identifier "__ptr") ([ "[") (number_literal "0x26") (] "]")) (!= "!=") (number_literal "0x587a37fd")) () ")")) (|| "||") (parenthesized_expression "((short)__ptr[0x27] != 0x5a)" (( "(") (binary_expression "(short)__ptr[0x27] != 0x5a" (cast_expression "(short)__ptr[0x27]" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (subscript_expression "__ptr[0x27]" (identifier "__ptr") ([ "[") (number_literal "0x27") (] "]"))) (!= "!=") (number_literal "0x5a")) () ")"))) () ")")) (compound_statement "{\n      iVar5 = ((int *)pppuVar13)[0x11];\n      iVar8 = 5;\n      goto LAB_0007df05;\n    }" ({ "{") (expression_statement "iVar5 = ((int *)pppuVar13)[0x11];" (assignment_expression "iVar5 = ((int *)pppuVar13)[0x11]" (identifier "iVar5") (= "=") (subscript_expression "((int *)pppuVar13)[0x11]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "0x11") (] "]"))) (; ";")) (expression_statement "iVar8 = 5;" (assignment_expression "iVar8 = 5" (identifier "iVar8") (= "=") (number_literal "5")) (; ";")) (goto_statement "goto LAB_0007df05;" (goto "goto") (statement_identifier "LAB_0007df05") (; ";")) (} "}"))) (expression_statement "((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);" (assignment_expression "((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8)" (subscript_expression "((int *)pppuVar13)[-4]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "-4") (] "]")) (= "=") (pointer_expression "*(undefined4 *)((int)*pppuVar13 + 0xcf8)" (* "*") (cast_expression "(undefined4 *)((int)*pppuVar13 + 0xcf8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)*pppuVar13 + 0xcf8)" (( "(") (binary_expression "(int)*pppuVar13 + 0xcf8" (cast_expression "(int)*pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*pppuVar13" (* "*") (identifier "pppuVar13"))) (+ "+") (number_literal "0xcf8")) () ")"))))) (; ";")) (expression_statement "((int *)pppuVar13)[-5] = 0x7e023;" (assignment_expression "((int *)pppuVar13)[-5] = 0x7e023" (subscript_expression "((int *)pppuVar13)[-5]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "-5") (] "]")) (= "=") (number_literal "0x7e023")) (; ";")) (expression_statement "uVar7 = FUN_000a62f1();" (assignment_expression "uVar7 = FUN_000a62f1()" (identifier "uVar7") (= "=") (call_expression "FUN_000a62f1()" (identifier "FUN_000a62f1") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "piVar14 = (int *)pppuVar13 + -1;" (assignment_expression "piVar14 = (int *)pppuVar13 + -1" (identifier "piVar14") (= "=") (binary_expression "(int *)pppuVar13 + -1" (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "piVar15 = (int *)pppuVar13 + -1;" (assignment_expression "piVar15 = (int *)pppuVar13 + -1" (identifier "piVar15") (= "=") (binary_expression "(int *)pppuVar13 + -1" (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (~uVar7 != __ptr[0x28]) goto LAB_0007defc;" (if "if") (parenthesized_expression "(~uVar7 != __ptr[0x28])" (( "(") (binary_expression "~uVar7 != __ptr[0x28]" (unary_expression "~uVar7" (~ "~") (identifier "uVar7")) (!= "!=") (subscript_expression "__ptr[0x28]" (identifier "__ptr") ([ "[") (number_literal "0x28") (] "]"))) () ")")) (goto_statement "goto LAB_0007defc;" (goto "goto") (statement_identifier "LAB_0007defc") (; ";"))) (expression_statement "piVar15 = (int *)pppuVar13 + -1;" (assignment_expression "piVar15 = (int *)pppuVar13 + -1" (identifier "piVar15") (= "=") (binary_expression "(int *)pppuVar13 + -1" (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (*(char *)((int)__ptr + 0x9e) == '\0') {\n      uVar7 = (uint)*(byte *)((int)__ptr + 0x9f);\n      __ptr[7] = uVar7;\n      piVar15 = (int *)pppuVar13 + -1;\n      if (uVar7 < 0x10) {\n        if (uVar7 < 2) goto switchD_0007dbdb_caseD_7e05d;\n        iVar5 = ((int *)pppuVar13)[0x10];\n        iVar8 = 2;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n        goto LAB_0007df05;\n      }\n    }" (if "if") (parenthesized_expression "(*(char *)((int)__ptr + 0x9e) == '\0')" (( "(") (binary_expression "*(char *)((int)__ptr + 0x9e) == '\0'" (pointer_expression "*(char *)((int)__ptr + 0x9e)" (* "*") (cast_expression "(char *)((int)__ptr + 0x9e)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__ptr + 0x9e)" (( "(") (binary_expression "(int)__ptr + 0x9e" (cast_expression "(int)__ptr" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__ptr")) (+ "+") (number_literal "0x9e")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      uVar7 = (uint)*(byte *)((int)__ptr + 0x9f);\n      __ptr[7] = uVar7;\n      piVar15 = (int *)pppuVar13 + -1;\n      if (uVar7 < 0x10) {\n        if (uVar7 < 2) goto switchD_0007dbdb_caseD_7e05d;\n        iVar5 = ((int *)pppuVar13)[0x10];\n        iVar8 = 2;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n        goto LAB_0007df05;\n      }\n    }" ({ "{") (expression_statement "uVar7 = (uint)*(byte *)((int)__ptr + 0x9f);" (assignment_expression "uVar7 = (uint)*(byte *)((int)__ptr + 0x9f)" (identifier "uVar7") (= "=") (binary_expression "(uint)*(byte *)((int)__ptr + 0x9f)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)((int)__ptr + 0x9f)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__ptr + 0x9f)" (( "(") (binary_expression "(int)__ptr + 0x9f" (cast_expression "(int)__ptr" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__ptr")) (+ "+") (number_literal "0x9f")) () ")"))))) (; ";")) (expression_statement "__ptr[7] = uVar7;" (assignment_expression "__ptr[7] = uVar7" (subscript_expression "__ptr[7]" (identifier "__ptr") ([ "[") (number_literal "7") (] "]")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "piVar15 = (int *)pppuVar13 + -1;" (assignment_expression "piVar15 = (int *)pppuVar13 + -1" (identifier "piVar15") (= "=") (binary_expression "(int *)pppuVar13 + -1" (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (uVar7 < 0x10) {\n        if (uVar7 < 2) goto switchD_0007dbdb_caseD_7e05d;\n        iVar5 = ((int *)pppuVar13)[0x10];\n        iVar8 = 2;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n        goto LAB_0007df05;\n      }" (if "if") (parenthesized_expression "(uVar7 < 0x10)" (( "(") (binary_expression "uVar7 < 0x10" (identifier "uVar7") (< "<") (number_literal "0x10")) () ")")) (compound_statement "{\n        if (uVar7 < 2) goto switchD_0007dbdb_caseD_7e05d;\n        iVar5 = ((int *)pppuVar13)[0x10];\n        iVar8 = 2;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n        goto LAB_0007df05;\n      }" ({ "{") (if_statement "if (uVar7 < 2) goto switchD_0007dbdb_caseD_7e05d;" (if "if") (parenthesized_expression "(uVar7 < 2)" (( "(") (binary_expression "uVar7 < 2" (identifier "uVar7") (< "<") (number_literal "2")) () ")")) (goto_statement "goto switchD_0007dbdb_caseD_7e05d;" (goto "goto") (statement_identifier "switchD_0007dbdb_caseD_7e05d") (; ";"))) (expression_statement "iVar5 = ((int *)pppuVar13)[0x10];" (assignment_expression "iVar5 = ((int *)pppuVar13)[0x10]" (identifier "iVar5") (= "=") (subscript_expression "((int *)pppuVar13)[0x10]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "0x10") (] "]"))) (; ";")) (expression_statement "iVar8 = 2;" (assignment_expression "iVar8 = 2" (identifier "iVar8") (= "=") (number_literal "2")) (; ";")) (expression_statement "pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);" (assignment_expression "pppuVar13 = (undefined ***)((int *)pppuVar13 + -1)" (identifier "pppuVar13") (= "=") (cast_expression "(undefined ***)((int *)pppuVar13 + -1)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int *)pppuVar13 + -1)" (( "(") (binary_expression "(int *)pppuVar13 + -1" (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (goto_statement "goto LAB_0007df05;" (goto "goto") (statement_identifier "LAB_0007df05") (; ";")) (} "}"))) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x7e05d:\nswitchD_0007dbdb_caseD_7e05d:\n    uVar10 = *(uint *)((int)piVar14 + 0x38);\n    uVar7 = *(uint *)((int)piVar14 + 0x3c);\n    pppuVar13 = (undefined ***)piVar14;\n    if (uVar10 == uVar7) goto LAB_0007dd85;\n    if (*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) != 0) {\n      uVar7 = (uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) * 4 + 4;\n      __ptr[0xe] = uVar7;\n      __ptr[0x25] = uVar7;\n      __ptr[0x24] = 0;\n      *__ptr = 2;\n      goto switchD_0007dbdb_caseD_7e09e;\n    }\n    *(uint *)((int)piVar14 + 0x38) = uVar10 + 1;\n    __ptr[4] = uVar10;\n    *__ptr = 6;\n    uVar7 = 6;\n    goto LAB_0007dbcf;" (case "case") (number_literal "0x7e05d") (: ":") (labeled_statement "switchD_0007dbdb_caseD_7e05d:\n    uVar10 = *(uint *)((int)piVar14 + 0x38);" (statement_identifier "switchD_0007dbdb_caseD_7e05d") (: ":") (expression_statement "uVar10 = *(uint *)((int)piVar14 + 0x38);" (assignment_expression "uVar10 = *(uint *)((int)piVar14 + 0x38)" (identifier "uVar10") (= "=") (pointer_expression "*(uint *)((int)piVar14 + 0x38)" (* "*") (cast_expression "(uint *)((int)piVar14 + 0x38)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar14 + 0x38)" (( "(") (binary_expression "(int)piVar14 + 0x38" (cast_expression "(int)piVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar14")) (+ "+") (number_literal "0x38")) () ")"))))) (; ";"))) (expression_statement "uVar7 = *(uint *)((int)piVar14 + 0x3c);" (assignment_expression "uVar7 = *(uint *)((int)piVar14 + 0x3c)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)((int)piVar14 + 0x3c)" (* "*") (cast_expression "(uint *)((int)piVar14 + 0x3c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar14 + 0x3c)" (( "(") (binary_expression "(int)piVar14 + 0x3c" (cast_expression "(int)piVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar14")) (+ "+") (number_literal "0x3c")) () ")"))))) (; ";")) (expression_statement "pppuVar13 = (undefined ***)piVar14;" (assignment_expression "pppuVar13 = (undefined ***)piVar14" (identifier "pppuVar13") (= "=") (cast_expression "(undefined ***)piVar14" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "piVar14"))) (; ";")) (if_statement "if (uVar10 == uVar7) goto LAB_0007dd85;" (if "if") (parenthesized_expression "(uVar10 == uVar7)" (( "(") (binary_expression "uVar10 == uVar7" (identifier "uVar10") (== "==") (identifier "uVar7")) () ")")) (goto_statement "goto LAB_0007dd85;" (goto "goto") (statement_identifier "LAB_0007dd85") (; ";"))) (if_statement "if (*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) != 0) {\n      uVar7 = (uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) * 4 + 4;\n      __ptr[0xe] = uVar7;\n      __ptr[0x25] = uVar7;\n      __ptr[0x24] = 0;\n      *__ptr = 2;\n      goto switchD_0007dbdb_caseD_7e09e;\n    }" (if "if") (parenthesized_expression "(*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) != 0)" (( "(") (binary_expression "*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) != 0" (pointer_expression "*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10)" (* "*") (cast_expression "(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)((int)piVar14 + 0x34) + uVar10)" (( "(") (binary_expression "*(int *)((int)piVar14 + 0x34) + uVar10" (pointer_expression "*(int *)((int)piVar14 + 0x34)" (* "*") (cast_expression "(int *)((int)piVar14 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar14 + 0x34)" (( "(") (binary_expression "(int)piVar14 + 0x34" (cast_expression "(int)piVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar14")) (+ "+") (number_literal "0x34")) () ")")))) (+ "+") (identifier "uVar10")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      uVar7 = (uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) * 4 + 4;\n      __ptr[0xe] = uVar7;\n      __ptr[0x25] = uVar7;\n      __ptr[0x24] = 0;\n      *__ptr = 2;\n      goto switchD_0007dbdb_caseD_7e09e;\n    }" ({ "{") (expression_statement "uVar7 = (uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) * 4 + 4;" (assignment_expression "uVar7 = (uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) * 4 + 4" (identifier "uVar7") (= "=") (binary_expression "(uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) * 4 + 4" (binary_expression "(uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) * 4" (binary_expression "(uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)((int)piVar14 + 0x34) + uVar10)" (( "(") (binary_expression "*(int *)((int)piVar14 + 0x34) + uVar10" (pointer_expression "*(int *)((int)piVar14 + 0x34)" (* "*") (cast_expression "(int *)((int)piVar14 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar14 + 0x34)" (( "(") (binary_expression "(int)piVar14 + 0x34" (cast_expression "(int)piVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar14")) (+ "+") (number_literal "0x34")) () ")")))) (+ "+") (identifier "uVar10")) () ")")))) (* "*") (number_literal "4")) (+ "+") (number_literal "4"))) (; ";")) (expression_statement "__ptr[0xe] = uVar7;" (assignment_expression "__ptr[0xe] = uVar7" (subscript_expression "__ptr[0xe]" (identifier "__ptr") ([ "[") (number_literal "0xe") (] "]")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "__ptr[0x25] = uVar7;" (assignment_expression "__ptr[0x25] = uVar7" (subscript_expression "__ptr[0x25]" (identifier "__ptr") ([ "[") (number_literal "0x25") (] "]")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "__ptr[0x24] = 0;" (assignment_expression "__ptr[0x24] = 0" (subscript_expression "__ptr[0x24]" (identifier "__ptr") ([ "[") (number_literal "0x24") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*__ptr = 2;" (assignment_expression "*__ptr = 2" (pointer_expression "*__ptr" (* "*") (identifier "__ptr")) (= "=") (number_literal "2")) (; ";")) (goto_statement "goto switchD_0007dbdb_caseD_7e09e;" (goto "goto") (statement_identifier "switchD_0007dbdb_caseD_7e09e") (; ";")) (} "}"))) (expression_statement "*(uint *)((int)piVar14 + 0x38) = uVar10 + 1;" (assignment_expression "*(uint *)((int)piVar14 + 0x38) = uVar10 + 1" (pointer_expression "*(uint *)((int)piVar14 + 0x38)" (* "*") (cast_expression "(uint *)((int)piVar14 + 0x38)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar14 + 0x38)" (( "(") (binary_expression "(int)piVar14 + 0x38" (cast_expression "(int)piVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar14")) (+ "+") (number_literal "0x38")) () ")")))) (= "=") (binary_expression "uVar10 + 1" (identifier "uVar10") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "__ptr[4] = uVar10;" (assignment_expression "__ptr[4] = uVar10" (subscript_expression "__ptr[4]" (identifier "__ptr") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "uVar10")) (; ";")) (expression_statement "*__ptr = 6;" (assignment_expression "*__ptr = 6" (pointer_expression "*__ptr" (* "*") (identifier "__ptr")) (= "=") (number_literal "6")) (; ";")) (expression_statement "uVar7 = 6;" (assignment_expression "uVar7 = 6" (identifier "uVar7") (= "=") (number_literal "6")) (; ";")) (goto_statement "goto LAB_0007dbcf;" (goto "goto") (statement_identifier "LAB_0007dbcf") (; ";"))) (case_statement "case 0x7e09e:\nswitchD_0007dbdb_caseD_7e09e:\n    piVar14[-1] = 0x7e0a9;\n    cVar3 = FUN_0007d93a();\n    pppuVar13 = (undefined ***)piVar14;\n    if (cVar3 == '\0') goto LAB_0007dd81;\n    __ptr[0x25] = __ptr[0x25] - 4;\n    piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n    piVar14[-5] = 0x7e0df;\n    uVar10 = FUN_000a62f1();\n    uVar7 = __ptr[0x25];\n    pppuVar13 = (undefined ***)(piVar14 + -1);\n    piVar16 = piVar14 + -1;\n    piVar15 = piVar14 + -1;\n    if (~uVar10 != *(uint *)((int)__ptr + uVar7 + 0x98)) goto LAB_0007defc;\n    __ptr[0x24] = 2;\n    bVar19 = *(byte *)((int)__ptr + 0x99);\n    piVar15 = piVar14 + -1;\n    if ((bVar19 & 0x3f) == 0) {\n      if ((bVar19 & 0x40) == 0) {\n        __ptr[10] = 0xffffffff;\n        __ptr[0xb] = 0xffffffff;\n        if (-1 < (char)bVar19) goto LAB_0007e129;\nLAB_0007e572:\n        *(uint *)((int)piVar16 + -0x10) = uVar7;\n        *(undefined4 *)((int)piVar16 + -0x14) = 0x7e585;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)((int)piVar16 + -4);\n        piVar15 = (int *)((int)piVar16 + -4);\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[0xc] = __ptr[2];\n        __ptr[0xd] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      else {\n        piVar14[-5] = uVar7;\n        piVar14[-6] = 0x7e5cc;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)(piVar14 + -2);\n        piVar16 = piVar14 + -2;\n        piVar15 = piVar14 + -2;\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[10] = __ptr[2];\n        __ptr[0xb] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        if (*(char *)((int)__ptr + 0x99) < '\0') goto LAB_0007e572;\nLAB_0007e129:\n        __ptr[0xc] = 0xffffffff;\n        __ptr[0xd] = 0xffffffff;\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      piVar15 = (int *)pppuVar13;\n      if (uVar9 < 2) goto LAB_0007defc;\n      __ptr[0x24] = uVar10 + 1;\n      if (*(char *)((int)__ptr + uVar10 + 0x98) == '!') {\n        __ptr[0x24] = uVar10 + 2;\n        if (*(char *)((int)__ptr + uVar10 + 0x99) == '\x01') {\n          if (uVar10 + 2 == uVar7) goto LAB_0007defc;\n          uVar9 = uVar10 + 3;\n          __ptr[0x24] = uVar9;\n          bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);\n          if (bVar19 < 0x28) {\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }\n        }\n      }\n    }\n    break;" (case "case") (number_literal "0x7e09e") (: ":") (labeled_statement "switchD_0007dbdb_caseD_7e09e:\n    piVar14[-1] = 0x7e0a9;" (statement_identifier "switchD_0007dbdb_caseD_7e09e") (: ":") (expression_statement "piVar14[-1] = 0x7e0a9;" (assignment_expression "piVar14[-1] = 0x7e0a9" (subscript_expression "piVar14[-1]" (identifier "piVar14") ([ "[") (number_literal "-1") (] "]")) (= "=") (number_literal "0x7e0a9")) (; ";"))) (expression_statement "cVar3 = FUN_0007d93a();" (assignment_expression "cVar3 = FUN_0007d93a()" (identifier "cVar3") (= "=") (call_expression "FUN_0007d93a()" (identifier "FUN_0007d93a") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pppuVar13 = (undefined ***)piVar14;" (assignment_expression "pppuVar13 = (undefined ***)piVar14" (identifier "pppuVar13") (= "=") (cast_expression "(undefined ***)piVar14" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "piVar14"))) (; ";")) (if_statement "if (cVar3 == '\0') goto LAB_0007dd81;" (if "if") (parenthesized_expression "(cVar3 == '\0')" (( "(") (binary_expression "cVar3 == '\0'" (identifier "cVar3") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0007dd81;" (goto "goto") (statement_identifier "LAB_0007dd81") (; ";"))) (expression_statement "__ptr[0x25] = __ptr[0x25] - 4;" (assignment_expression "__ptr[0x25] = __ptr[0x25] - 4" (subscript_expression "__ptr[0x25]" (identifier "__ptr") ([ "[") (number_literal "0x25") (] "]")) (= "=") (binary_expression "__ptr[0x25] - 4" (subscript_expression "__ptr[0x25]" (identifier "__ptr") ([ "[") (number_literal "0x25") (] "]")) (- "-") (number_literal "4"))) (; ";")) (expression_statement "piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);" (assignment_expression "piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8)" (subscript_expression "piVar14[-4]" (identifier "piVar14") ([ "[") (number_literal "-4") (] "]")) (= "=") (pointer_expression "*(undefined4 *)(*piVar14 + 0xcf8)" (* "*") (cast_expression "(undefined4 *)(*piVar14 + 0xcf8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar14 + 0xcf8)" (( "(") (binary_expression "*piVar14 + 0xcf8" (pointer_expression "*piVar14" (* "*") (identifier "piVar14")) (+ "+") (number_literal "0xcf8")) () ")"))))) (; ";")) (expression_statement "piVar14[-5] = 0x7e0df;" (assignment_expression "piVar14[-5] = 0x7e0df" (subscript_expression "piVar14[-5]" (identifier "piVar14") ([ "[") (number_literal "-5") (] "]")) (= "=") (number_literal "0x7e0df")) (; ";")) (expression_statement "uVar10 = FUN_000a62f1();" (assignment_expression "uVar10 = FUN_000a62f1()" (identifier "uVar10") (= "=") (call_expression "FUN_000a62f1()" (identifier "FUN_000a62f1") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar7 = __ptr[0x25];" (assignment_expression "uVar7 = __ptr[0x25]" (identifier "uVar7") (= "=") (subscript_expression "__ptr[0x25]" (identifier "__ptr") ([ "[") (number_literal "0x25") (] "]"))) (; ";")) (expression_statement "pppuVar13 = (undefined ***)(piVar14 + -1);" (assignment_expression "pppuVar13 = (undefined ***)(piVar14 + -1)" (identifier "pppuVar13") (= "=") (cast_expression "(undefined ***)(piVar14 + -1)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(piVar14 + -1)" (( "(") (binary_expression "piVar14 + -1" (identifier "piVar14") (+ "+") (number_literal "-1")) () ")")))) (; ";")) (expression_statement "piVar16 = piVar14 + -1;" (assignment_expression "piVar16 = piVar14 + -1" (identifier "piVar16") (= "=") (binary_expression "piVar14 + -1" (identifier "piVar14") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "piVar15 = piVar14 + -1;" (assignment_expression "piVar15 = piVar14 + -1" (identifier "piVar15") (= "=") (binary_expression "piVar14 + -1" (identifier "piVar14") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (~uVar10 != *(uint *)((int)__ptr + uVar7 + 0x98)) goto LAB_0007defc;" (if "if") (parenthesized_expression "(~uVar10 != *(uint *)((int)__ptr + uVar7 + 0x98))" (( "(") (binary_expression "~uVar10 != *(uint *)((int)__ptr + uVar7 + 0x98)" (unary_expression "~uVar10" (~ "~") (identifier "uVar10")) (!= "!=") (pointer_expression "*(uint *)((int)__ptr + uVar7 + 0x98)" (* "*") (cast_expression "(uint *)((int)__ptr + uVar7 + 0x98)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__ptr + uVar7 + 0x98)" (( "(") (binary_expression "(int)__ptr + uVar7 + 0x98" (binary_expression "(int)__ptr + uVar7" (cast_expression "(int)__ptr" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__ptr")) (+ "+") (identifier "uVar7")) (+ "+") (number_literal "0x98")) () ")"))))) () ")")) (goto_statement "goto LAB_0007defc;" (goto "goto") (statement_identifier "LAB_0007defc") (; ";"))) (expression_statement "__ptr[0x24] = 2;" (assignment_expression "__ptr[0x24] = 2" (subscript_expression "__ptr[0x24]" (identifier "__ptr") ([ "[") (number_literal "0x24") (] "]")) (= "=") (number_literal "2")) (; ";")) (expression_statement "bVar19 = *(byte *)((int)__ptr + 0x99);" (assignment_expression "bVar19 = *(byte *)((int)__ptr + 0x99)" (identifier "bVar19") (= "=") (pointer_expression "*(byte *)((int)__ptr + 0x99)" (* "*") (cast_expression "(byte *)((int)__ptr + 0x99)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__ptr + 0x99)" (( "(") (binary_expression "(int)__ptr + 0x99" (cast_expression "(int)__ptr" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__ptr")) (+ "+") (number_literal "0x99")) () ")"))))) (; ";")) (expression_statement "piVar15 = piVar14 + -1;" (assignment_expression "piVar15 = piVar14 + -1" (identifier "piVar15") (= "=") (binary_expression "piVar14 + -1" (identifier "piVar14") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if ((bVar19 & 0x3f) == 0) {\n      if ((bVar19 & 0x40) == 0) {\n        __ptr[10] = 0xffffffff;\n        __ptr[0xb] = 0xffffffff;\n        if (-1 < (char)bVar19) goto LAB_0007e129;\nLAB_0007e572:\n        *(uint *)((int)piVar16 + -0x10) = uVar7;\n        *(undefined4 *)((int)piVar16 + -0x14) = 0x7e585;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)((int)piVar16 + -4);\n        piVar15 = (int *)((int)piVar16 + -4);\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[0xc] = __ptr[2];\n        __ptr[0xd] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      else {\n        piVar14[-5] = uVar7;\n        piVar14[-6] = 0x7e5cc;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)(piVar14 + -2);\n        piVar16 = piVar14 + -2;\n        piVar15 = piVar14 + -2;\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[10] = __ptr[2];\n        __ptr[0xb] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        if (*(char *)((int)__ptr + 0x99) < '\0') goto LAB_0007e572;\nLAB_0007e129:\n        __ptr[0xc] = 0xffffffff;\n        __ptr[0xd] = 0xffffffff;\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      piVar15 = (int *)pppuVar13;\n      if (uVar9 < 2) goto LAB_0007defc;\n      __ptr[0x24] = uVar10 + 1;\n      if (*(char *)((int)__ptr + uVar10 + 0x98) == '!') {\n        __ptr[0x24] = uVar10 + 2;\n        if (*(char *)((int)__ptr + uVar10 + 0x99) == '\x01') {\n          if (uVar10 + 2 == uVar7) goto LAB_0007defc;\n          uVar9 = uVar10 + 3;\n          __ptr[0x24] = uVar9;\n          bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);\n          if (bVar19 < 0x28) {\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }\n        }\n      }\n    }" (if "if") (parenthesized_expression "((bVar19 & 0x3f) == 0)" (( "(") (binary_expression "(bVar19 & 0x3f) == 0" (parenthesized_expression "(bVar19 & 0x3f)" (( "(") (binary_expression "bVar19 & 0x3f" (identifier "bVar19") (& "&") (number_literal "0x3f")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if ((bVar19 & 0x40) == 0) {\n        __ptr[10] = 0xffffffff;\n        __ptr[0xb] = 0xffffffff;\n        if (-1 < (char)bVar19) goto LAB_0007e129;\nLAB_0007e572:\n        *(uint *)((int)piVar16 + -0x10) = uVar7;\n        *(undefined4 *)((int)piVar16 + -0x14) = 0x7e585;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)((int)piVar16 + -4);\n        piVar15 = (int *)((int)piVar16 + -4);\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[0xc] = __ptr[2];\n        __ptr[0xd] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      else {\n        piVar14[-5] = uVar7;\n        piVar14[-6] = 0x7e5cc;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)(piVar14 + -2);\n        piVar16 = piVar14 + -2;\n        piVar15 = piVar14 + -2;\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[10] = __ptr[2];\n        __ptr[0xb] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        if (*(char *)((int)__ptr + 0x99) < '\0') goto LAB_0007e572;\nLAB_0007e129:\n        __ptr[0xc] = 0xffffffff;\n        __ptr[0xd] = 0xffffffff;\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      piVar15 = (int *)pppuVar13;\n      if (uVar9 < 2) goto LAB_0007defc;\n      __ptr[0x24] = uVar10 + 1;\n      if (*(char *)((int)__ptr + uVar10 + 0x98) == '!') {\n        __ptr[0x24] = uVar10 + 2;\n        if (*(char *)((int)__ptr + uVar10 + 0x99) == '\x01') {\n          if (uVar10 + 2 == uVar7) goto LAB_0007defc;\n          uVar9 = uVar10 + 3;\n          __ptr[0x24] = uVar9;\n          bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);\n          if (bVar19 < 0x28) {\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }\n        }\n      }\n    }" ({ "{") (if_statement "if ((bVar19 & 0x40) == 0) {\n        __ptr[10] = 0xffffffff;\n        __ptr[0xb] = 0xffffffff;\n        if (-1 < (char)bVar19) goto LAB_0007e129;\nLAB_0007e572:\n        *(uint *)((int)piVar16 + -0x10) = uVar7;\n        *(undefined4 *)((int)piVar16 + -0x14) = 0x7e585;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)((int)piVar16 + -4);\n        piVar15 = (int *)((int)piVar16 + -4);\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[0xc] = __ptr[2];\n        __ptr[0xd] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }\n      else {\n        piVar14[-5] = uVar7;\n        piVar14[-6] = 0x7e5cc;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)(piVar14 + -2);\n        piVar16 = piVar14 + -2;\n        piVar15 = piVar14 + -2;\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[10] = __ptr[2];\n        __ptr[0xb] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        if (*(char *)((int)__ptr + 0x99) < '\0') goto LAB_0007e572;\nLAB_0007e129:\n        __ptr[0xc] = 0xffffffff;\n        __ptr[0xd] = 0xffffffff;\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }" (if "if") (parenthesized_expression "((bVar19 & 0x40) == 0)" (( "(") (binary_expression "(bVar19 & 0x40) == 0" (parenthesized_expression "(bVar19 & 0x40)" (( "(") (binary_expression "bVar19 & 0x40" (identifier "bVar19") (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        __ptr[10] = 0xffffffff;\n        __ptr[0xb] = 0xffffffff;\n        if (-1 < (char)bVar19) goto LAB_0007e129;\nLAB_0007e572:\n        *(uint *)((int)piVar16 + -0x10) = uVar7;\n        *(undefined4 *)((int)piVar16 + -0x14) = 0x7e585;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)((int)piVar16 + -4);\n        piVar15 = (int *)((int)piVar16 + -4);\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[0xc] = __ptr[2];\n        __ptr[0xd] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }" ({ "{") (expression_statement "__ptr[10] = 0xffffffff;" (assignment_expression "__ptr[10] = 0xffffffff" (subscript_expression "__ptr[10]" (identifier "__ptr") ([ "[") (number_literal "10") (] "]")) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "__ptr[0xb] = 0xffffffff;" (assignment_expression "__ptr[0xb] = 0xffffffff" (subscript_expression "__ptr[0xb]" (identifier "__ptr") ([ "[") (number_literal "0xb") (] "]")) (= "=") (number_literal "0xffffffff")) (; ";")) (if_statement "if (-1 < (char)bVar19) goto LAB_0007e129;" (if "if") (parenthesized_expression "(-1 < (char)bVar19)" (( "(") (binary_expression "-1 < (char)bVar19" (number_literal "-1") (< "<") (cast_expression "(char)bVar19" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar19"))) () ")")) (goto_statement "goto LAB_0007e129;" (goto "goto") (statement_identifier "LAB_0007e129") (; ";"))) (labeled_statement "LAB_0007e572:\n        *(uint *)((int)piVar16 + -0x10) = uVar7;" (statement_identifier "LAB_0007e572") (: ":") (expression_statement "*(uint *)((int)piVar16 + -0x10) = uVar7;" (assignment_expression "*(uint *)((int)piVar16 + -0x10) = uVar7" (pointer_expression "*(uint *)((int)piVar16 + -0x10)" (* "*") (cast_expression "(uint *)((int)piVar16 + -0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar16 + -0x10)" (( "(") (binary_expression "(int)piVar16 + -0x10" (cast_expression "(int)piVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar16")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar7")) (; ";"))) (expression_statement "*(undefined4 *)((int)piVar16 + -0x14) = 0x7e585;" (assignment_expression "*(undefined4 *)((int)piVar16 + -0x14) = 0x7e585" (pointer_expression "*(undefined4 *)((int)piVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar16 + -0x14)" (( "(") (binary_expression "(int)piVar16 + -0x14" (cast_expression "(int)piVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar16")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x7e585")) (; ";")) (expression_statement "iVar8 = FUN_0007d044();" (assignment_expression "iVar8 = FUN_0007d044()" (identifier "iVar8") (= "=") (call_expression "FUN_0007d044()" (identifier "FUN_0007d044") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pppuVar13 = (undefined ***)((int)piVar16 + -4);" (assignment_expression "pppuVar13 = (undefined ***)((int)piVar16 + -4)" (identifier "pppuVar13") (= "=") (cast_expression "(undefined ***)((int)piVar16 + -4)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)piVar16 + -4)" (( "(") (binary_expression "(int)piVar16 + -4" (cast_expression "(int)piVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar16")) (+ "+") (number_literal "-4")) () ")")))) (; ";")) (expression_statement "piVar15 = (int *)((int)piVar16 + -4);" (assignment_expression "piVar15 = (int *)((int)piVar16 + -4)" (identifier "piVar15") (= "=") (cast_expression "(int *)((int)piVar16 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar16 + -4)" (( "(") (binary_expression "(int)piVar16 + -4" (cast_expression "(int)piVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar16")) (+ "+") (number_literal "-4")) () ")")))) (; ";")) (if_statement "if (iVar8 != 1) goto LAB_0007defc;" (if "if") (parenthesized_expression "(iVar8 != 1)" (( "(") (binary_expression "iVar8 != 1" (identifier "iVar8") (!= "!=") (number_literal "1")) () ")")) (goto_statement "goto LAB_0007defc;" (goto "goto") (statement_identifier "LAB_0007defc") (; ";"))) (expression_statement "__ptr[0xc] = __ptr[2];" (assignment_expression "__ptr[0xc] = __ptr[2]" (subscript_expression "__ptr[0xc]" (identifier "__ptr") ([ "[") (number_literal "0xc") (] "]")) (= "=") (subscript_expression "__ptr[2]" (identifier "__ptr") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "__ptr[0xd] = __ptr[3];" (assignment_expression "__ptr[0xd] = __ptr[3]" (subscript_expression "__ptr[0xd]" (identifier "__ptr") ([ "[") (number_literal "0xd") (] "]")) (= "=") (subscript_expression "__ptr[3]" (identifier "__ptr") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "uVar7 = __ptr[0x25];" (assignment_expression "uVar7 = __ptr[0x25]" (identifier "uVar7") (= "=") (subscript_expression "__ptr[0x25]" (identifier "__ptr") ([ "[") (number_literal "0x25") (] "]"))) (; ";")) (expression_statement "uVar10 = __ptr[0x24];" (assignment_expression "uVar10 = __ptr[0x24]" (identifier "uVar10") (= "=") (subscript_expression "__ptr[0x24]" (identifier "__ptr") ([ "[") (number_literal "0x24") (] "]"))) (; ";")) (expression_statement "uVar9 = uVar7 - uVar10;" (assignment_expression "uVar9 = uVar7 - uVar10" (identifier "uVar9") (= "=") (binary_expression "uVar7 - uVar10" (identifier "uVar7") (- "-") (identifier "uVar10"))) (; ";")) (} "}")) (else_clause "else {\n        piVar14[-5] = uVar7;\n        piVar14[-6] = 0x7e5cc;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)(piVar14 + -2);\n        piVar16 = piVar14 + -2;\n        piVar15 = piVar14 + -2;\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[10] = __ptr[2];\n        __ptr[0xb] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        if (*(char *)((int)__ptr + 0x99) < '\0') goto LAB_0007e572;\nLAB_0007e129:\n        __ptr[0xc] = 0xffffffff;\n        __ptr[0xd] = 0xffffffff;\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }" (else "else") (compound_statement "{\n        piVar14[-5] = uVar7;\n        piVar14[-6] = 0x7e5cc;\n        iVar8 = FUN_0007d044();\n        pppuVar13 = (undefined ***)(piVar14 + -2);\n        piVar16 = piVar14 + -2;\n        piVar15 = piVar14 + -2;\n        if (iVar8 != 1) goto LAB_0007defc;\n        __ptr[10] = __ptr[2];\n        __ptr[0xb] = __ptr[3];\n        uVar7 = __ptr[0x25];\n        if (*(char *)((int)__ptr + 0x99) < '\0') goto LAB_0007e572;\nLAB_0007e129:\n        __ptr[0xc] = 0xffffffff;\n        __ptr[0xd] = 0xffffffff;\n        uVar10 = __ptr[0x24];\n        uVar9 = uVar7 - uVar10;\n      }" ({ "{") (expression_statement "piVar14[-5] = uVar7;" (assignment_expression "piVar14[-5] = uVar7" (subscript_expression "piVar14[-5]" (identifier "piVar14") ([ "[") (number_literal "-5") (] "]")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "piVar14[-6] = 0x7e5cc;" (assignment_expression "piVar14[-6] = 0x7e5cc" (subscript_expression "piVar14[-6]" (identifier "piVar14") ([ "[") (number_literal "-6") (] "]")) (= "=") (number_literal "0x7e5cc")) (; ";")) (expression_statement "iVar8 = FUN_0007d044();" (assignment_expression "iVar8 = FUN_0007d044()" (identifier "iVar8") (= "=") (call_expression "FUN_0007d044()" (identifier "FUN_0007d044") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pppuVar13 = (undefined ***)(piVar14 + -2);" (assignment_expression "pppuVar13 = (undefined ***)(piVar14 + -2)" (identifier "pppuVar13") (= "=") (cast_expression "(undefined ***)(piVar14 + -2)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(piVar14 + -2)" (( "(") (binary_expression "piVar14 + -2" (identifier "piVar14") (+ "+") (number_literal "-2")) () ")")))) (; ";")) (expression_statement "piVar16 = piVar14 + -2;" (assignment_expression "piVar16 = piVar14 + -2" (identifier "piVar16") (= "=") (binary_expression "piVar14 + -2" (identifier "piVar14") (+ "+") (number_literal "-2"))) (; ";")) (expression_statement "piVar15 = piVar14 + -2;" (assignment_expression "piVar15 = piVar14 + -2" (identifier "piVar15") (= "=") (binary_expression "piVar14 + -2" (identifier "piVar14") (+ "+") (number_literal "-2"))) (; ";")) (if_statement "if (iVar8 != 1) goto LAB_0007defc;" (if "if") (parenthesized_expression "(iVar8 != 1)" (( "(") (binary_expression "iVar8 != 1" (identifier "iVar8") (!= "!=") (number_literal "1")) () ")")) (goto_statement "goto LAB_0007defc;" (goto "goto") (statement_identifier "LAB_0007defc") (; ";"))) (expression_statement "__ptr[10] = __ptr[2];" (assignment_expression "__ptr[10] = __ptr[2]" (subscript_expression "__ptr[10]" (identifier "__ptr") ([ "[") (number_literal "10") (] "]")) (= "=") (subscript_expression "__ptr[2]" (identifier "__ptr") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "__ptr[0xb] = __ptr[3];" (assignment_expression "__ptr[0xb] = __ptr[3]" (subscript_expression "__ptr[0xb]" (identifier "__ptr") ([ "[") (number_literal "0xb") (] "]")) (= "=") (subscript_expression "__ptr[3]" (identifier "__ptr") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "uVar7 = __ptr[0x25];" (assignment_expression "uVar7 = __ptr[0x25]" (identifier "uVar7") (= "=") (subscript_expression "__ptr[0x25]" (identifier "__ptr") ([ "[") (number_literal "0x25") (] "]"))) (; ";")) (if_statement "if (*(char *)((int)__ptr + 0x99) < '\0') goto LAB_0007e572;" (if "if") (parenthesized_expression "(*(char *)((int)__ptr + 0x99) < '\0')" (( "(") (binary_expression "*(char *)((int)__ptr + 0x99) < '\0'" (pointer_expression "*(char *)((int)__ptr + 0x99)" (* "*") (cast_expression "(char *)((int)__ptr + 0x99)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__ptr + 0x99)" (( "(") (binary_expression "(int)__ptr + 0x99" (cast_expression "(int)__ptr" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__ptr")) (+ "+") (number_literal "0x99")) () ")")))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0007e572;" (goto "goto") (statement_identifier "LAB_0007e572") (; ";"))) (labeled_statement "LAB_0007e129:\n        __ptr[0xc] = 0xffffffff;" (statement_identifier "LAB_0007e129") (: ":") (expression_statement "__ptr[0xc] = 0xffffffff;" (assignment_expression "__ptr[0xc] = 0xffffffff" (subscript_expression "__ptr[0xc]" (identifier "__ptr") ([ "[") (number_literal "0xc") (] "]")) (= "=") (number_literal "0xffffffff")) (; ";"))) (expression_statement "__ptr[0xd] = 0xffffffff;" (assignment_expression "__ptr[0xd] = 0xffffffff" (subscript_expression "__ptr[0xd]" (identifier "__ptr") ([ "[") (number_literal "0xd") (] "]")) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "uVar10 = __ptr[0x24];" (assignment_expression "uVar10 = __ptr[0x24]" (identifier "uVar10") (= "=") (subscript_expression "__ptr[0x24]" (identifier "__ptr") ([ "[") (number_literal "0x24") (] "]"))) (; ";")) (expression_statement "uVar9 = uVar7 - uVar10;" (assignment_expression "uVar9 = uVar7 - uVar10" (identifier "uVar9") (= "=") (binary_expression "uVar7 - uVar10" (identifier "uVar7") (- "-") (identifier "uVar10"))) (; ";")) (} "}")))) (expression_statement "piVar15 = (int *)pppuVar13;" (assignment_expression "piVar15 = (int *)pppuVar13" (identifier "piVar15") (= "=") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13"))) (; ";")) (if_statement "if (uVar9 < 2) goto LAB_0007defc;" (if "if") (parenthesized_expression "(uVar9 < 2)" (( "(") (binary_expression "uVar9 < 2" (identifier "uVar9") (< "<") (number_literal "2")) () ")")) (goto_statement "goto LAB_0007defc;" (goto "goto") (statement_identifier "LAB_0007defc") (; ";"))) (expression_statement "__ptr[0x24] = uVar10 + 1;" (assignment_expression "__ptr[0x24] = uVar10 + 1" (subscript_expression "__ptr[0x24]" (identifier "__ptr") ([ "[") (number_literal "0x24") (] "]")) (= "=") (binary_expression "uVar10 + 1" (identifier "uVar10") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (*(char *)((int)__ptr + uVar10 + 0x98) == '!') {\n        __ptr[0x24] = uVar10 + 2;\n        if (*(char *)((int)__ptr + uVar10 + 0x99) == '\x01') {\n          if (uVar10 + 2 == uVar7) goto LAB_0007defc;\n          uVar9 = uVar10 + 3;\n          __ptr[0x24] = uVar9;\n          bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);\n          if (bVar19 < 0x28) {\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(*(char *)((int)__ptr + uVar10 + 0x98) == '!')" (( "(") (binary_expression "*(char *)((int)__ptr + uVar10 + 0x98) == '!'" (pointer_expression "*(char *)((int)__ptr + uVar10 + 0x98)" (* "*") (cast_expression "(char *)((int)__ptr + uVar10 + 0x98)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__ptr + uVar10 + 0x98)" (( "(") (binary_expression "(int)__ptr + uVar10 + 0x98" (binary_expression "(int)__ptr + uVar10" (cast_expression "(int)__ptr" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__ptr")) (+ "+") (identifier "uVar10")) (+ "+") (number_literal "0x98")) () ")")))) (== "==") (char_literal "'!'" (' "'") (character "!") (' "'"))) () ")")) (compound_statement "{\n        __ptr[0x24] = uVar10 + 2;\n        if (*(char *)((int)__ptr + uVar10 + 0x99) == '\x01') {\n          if (uVar10 + 2 == uVar7) goto LAB_0007defc;\n          uVar9 = uVar10 + 3;\n          __ptr[0x24] = uVar9;\n          bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);\n          if (bVar19 < 0x28) {\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }\n        }\n      }" ({ "{") (expression_statement "__ptr[0x24] = uVar10 + 2;" (assignment_expression "__ptr[0x24] = uVar10 + 2" (subscript_expression "__ptr[0x24]" (identifier "__ptr") ([ "[") (number_literal "0x24") (] "]")) (= "=") (binary_expression "uVar10 + 2" (identifier "uVar10") (+ "+") (number_literal "2"))) (; ";")) (if_statement "if (*(char *)((int)__ptr + uVar10 + 0x99) == '\x01') {\n          if (uVar10 + 2 == uVar7) goto LAB_0007defc;\n          uVar9 = uVar10 + 3;\n          __ptr[0x24] = uVar9;\n          bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);\n          if (bVar19 < 0x28) {\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }\n        }" (if "if") (parenthesized_expression "(*(char *)((int)__ptr + uVar10 + 0x99) == '\x01')" (( "(") (binary_expression "*(char *)((int)__ptr + uVar10 + 0x99) == '\x01'" (pointer_expression "*(char *)((int)__ptr + uVar10 + 0x99)" (* "*") (cast_expression "(char *)((int)__ptr + uVar10 + 0x99)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__ptr + uVar10 + 0x99)" (( "(") (binary_expression "(int)__ptr + uVar10 + 0x99" (binary_expression "(int)__ptr + uVar10" (cast_expression "(int)__ptr" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__ptr")) (+ "+") (identifier "uVar10")) (+ "+") (number_literal "0x99")) () ")")))) (== "==") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")")) (compound_statement "{\n          if (uVar10 + 2 == uVar7) goto LAB_0007defc;\n          uVar9 = uVar10 + 3;\n          __ptr[0x24] = uVar9;\n          bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);\n          if (bVar19 < 0x28) {\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }\n        }" ({ "{") (if_statement "if (uVar10 + 2 == uVar7) goto LAB_0007defc;" (if "if") (parenthesized_expression "(uVar10 + 2 == uVar7)" (( "(") (binary_expression "uVar10 + 2 == uVar7" (binary_expression "uVar10 + 2" (identifier "uVar10") (+ "+") (number_literal "2")) (== "==") (identifier "uVar7")) () ")")) (goto_statement "goto LAB_0007defc;" (goto "goto") (statement_identifier "LAB_0007defc") (; ";"))) (expression_statement "uVar9 = uVar10 + 3;" (assignment_expression "uVar9 = uVar10 + 3" (identifier "uVar9") (= "=") (binary_expression "uVar10 + 3" (identifier "uVar10") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "__ptr[0x24] = uVar9;" (assignment_expression "__ptr[0x24] = uVar9" (subscript_expression "__ptr[0x24]" (identifier "__ptr") ([ "[") (number_literal "0x24") (] "]")) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);" (assignment_expression "bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a)" (identifier "bVar19") (= "=") (pointer_expression "*(byte *)((int)__ptr + uVar10 + 0x9a)" (* "*") (cast_expression "(byte *)((int)__ptr + uVar10 + 0x9a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__ptr + uVar10 + 0x9a)" (( "(") (binary_expression "(int)__ptr + uVar10 + 0x9a" (binary_expression "(int)__ptr + uVar10" (cast_expression "(int)__ptr" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__ptr")) (+ "+") (identifier "uVar10")) (+ "+") (number_literal "0x9a")) () ")"))))) (; ";")) (if_statement "if (bVar19 < 0x28) {\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }" (if "if") (parenthesized_expression "(bVar19 < 0x28)" (( "(") (binary_expression "bVar19 < 0x28" (identifier "bVar19") (< "<") (number_literal "0x28")) () ")")) (compound_statement "{\n            uVar10 = __ptr[0x126];\n            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);\n            *(uint *)(uVar10 + 0x30) = uVar18;\n            if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }\n            *(uint *)(uVar10 + 0x2c) = uVar18;\n            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }\n            *(undefined4 *)(uVar10 + 0x68) = 0;\n            *(undefined4 *)(uVar10 + 0x40) = 0;\n            *(undefined1 *)(uVar10 + 0x50) = 1;\n            *(undefined4 *)(uVar10 + 0x6ee4) = 0;\n            while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }\n            __ptr[0x24] = 0;\n            __ptr[0xf] = 0;\n            __ptr[0x10] = 0;\n            __ptr[0x11] = 0;\n            __ptr[0x12] = 0;\n            *__ptr = 3;\n            goto switchD_0007dbdb_caseD_7e21b;\n          }" ({ "{") (expression_statement "uVar10 = __ptr[0x126];" (assignment_expression "uVar10 = __ptr[0x126]" (identifier "uVar10") (= "=") (subscript_expression "__ptr[0x126]" (identifier "__ptr") ([ "[") (number_literal "0x126") (] "]"))) (; ";")) (expression_statement "uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);" (assignment_expression "uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f)" (identifier "uVar18") (= "=") (binary_expression "(bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f)" (binary_expression "(bVar19 & 1) + 2" (parenthesized_expression "(bVar19 & 1)" (( "(") (binary_expression "bVar19 & 1" (identifier "bVar19") (& "&") (number_literal "1")) () ")")) (+ "+") (number_literal "2")) (<< "<<") (parenthesized_expression "((bVar19 >> 1) + 0xb & 0x1f)" (( "(") (binary_expression "(bVar19 >> 1) + 0xb & 0x1f" (binary_expression "(bVar19 >> 1) + 0xb" (parenthesized_expression "(bVar19 >> 1)" (( "(") (binary_expression "bVar19 >> 1" (identifier "bVar19") (>> ">>") (number_literal "1")) () ")")) (+ "+") (number_literal "0xb")) (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "*(uint *)(uVar10 + 0x30) = uVar18;" (assignment_expression "*(uint *)(uVar10 + 0x30) = uVar18" (pointer_expression "*(uint *)(uVar10 + 0x30)" (* "*") (cast_expression "(uint *)(uVar10 + 0x30)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar10 + 0x30)" (( "(") (binary_expression "uVar10 + 0x30" (identifier "uVar10") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (identifier "uVar18")) (; ";")) (if_statement "if (*(uint *)(uVar10 + 0x34) < uVar18) {\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }" (if "if") (parenthesized_expression "(*(uint *)(uVar10 + 0x34) < uVar18)" (( "(") (binary_expression "*(uint *)(uVar10 + 0x34) < uVar18" (pointer_expression "*(uint *)(uVar10 + 0x34)" (* "*") (cast_expression "(uint *)(uVar10 + 0x34)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar10 + 0x34)" (( "(") (binary_expression "uVar10 + 0x34" (identifier "uVar10") (+ "+") (number_literal "0x34")) () ")")))) (< "<") (identifier "uVar18")) () ")")) (compound_statement "{\n              iVar5 = *(int *)((int)pppuVar13 + 0x44);\n              iVar8 = 4;\n              goto LAB_0007df05;\n            }" ({ "{") (expression_statement "iVar5 = *(int *)((int)pppuVar13 + 0x44);" (assignment_expression "iVar5 = *(int *)((int)pppuVar13 + 0x44)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)((int)pppuVar13 + 0x44)" (* "*") (cast_expression "(int *)((int)pppuVar13 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + 0x44)" (( "(") (binary_expression "(int)pppuVar13 + 0x44" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "0x44")) () ")"))))) (; ";")) (expression_statement "iVar8 = 4;" (assignment_expression "iVar8 = 4" (identifier "iVar8") (= "=") (number_literal "4")) (; ";")) (goto_statement "goto LAB_0007df05;" (goto "goto") (statement_identifier "LAB_0007df05") (; ";")) (} "}"))) (expression_statement "*(uint *)(uVar10 + 0x2c) = uVar18;" (assignment_expression "*(uint *)(uVar10 + 0x2c) = uVar18" (pointer_expression "*(uint *)(uVar10 + 0x2c)" (* "*") (cast_expression "(uint *)(uVar10 + 0x2c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar10 + 0x2c)" (( "(") (binary_expression "uVar10 + 0x2c" (identifier "uVar10") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (identifier "uVar18")) (; ";")) (if_statement "if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }" (if "if") (parenthesized_expression "((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18))" (( "(") (binary_expression "(*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)" (parenthesized_expression "(*(int *)(uVar10 + 0x3c) == 2)" (( "(") (binary_expression "*(int *)(uVar10 + 0x3c) == 2" (pointer_expression "*(int *)(uVar10 + 0x3c)" (* "*") (cast_expression "(int *)(uVar10 + 0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar10 + 0x3c)" (( "(") (binary_expression "uVar10 + 0x3c" (identifier "uVar10") (+ "+") (number_literal "0x3c")) () ")")))) (== "==") (number_literal "2")) () ")")) (&& "&&") (parenthesized_expression "(*(uint *)(uVar10 + 0x38) < uVar18)" (( "(") (binary_expression "*(uint *)(uVar10 + 0x38) < uVar18" (pointer_expression "*(uint *)(uVar10 + 0x38)" (* "*") (cast_expression "(uint *)(uVar10 + 0x38)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar10 + 0x38)" (( "(") (binary_expression "uVar10 + 0x38" (identifier "uVar10") (+ "+") (number_literal "0x38")) () ")")))) (< "<") (identifier "uVar18")) () ")"))) () ")")) (compound_statement "{\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;\n              free(*(void **)((int)pppuVar13 + -0x10));\n              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);\n              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;\n              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));\n              *(void **)(uVar10 + 0x18) = pvVar4;\n              if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }\n              uVar7 = __ptr[0x25];\n              uVar9 = __ptr[0x24];\n            }" ({ "{") (expression_statement "*(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18)" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)pppuVar13 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + -0x10)" (( "(") (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(uVar10 + 0x18)" (* "*") (cast_expression "(undefined4 *)(uVar10 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar10 + 0x18)" (( "(") (binary_expression "uVar10 + 0x18" (identifier "uVar10") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)pppuVar13 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + -0x14)" (( "(") (binary_expression "(int)pppuVar13 + -0x14" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x7e51f")) (; ";")) (expression_statement "free(*(void **)((int)pppuVar13 + -0x10));" (call_expression "free(*(void **)((int)pppuVar13 + -0x10))" (identifier "free") (argument_list "(*(void **)((int)pppuVar13 + -0x10))" (( "(") (pointer_expression "*(void **)((int)pppuVar13 + -0x10)" (* "*") (cast_expression "(void **)((int)pppuVar13 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pppuVar13 + -0x10)" (( "(") (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "*(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30)" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)pppuVar13 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + -0x10)" (( "(") (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(uVar10 + 0x30)" (* "*") (cast_expression "(undefined4 *)(uVar10 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar10 + 0x30)" (( "(") (binary_expression "uVar10 + 0x30" (identifier "uVar10") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)pppuVar13 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + -0x14)" (( "(") (binary_expression "(int)pppuVar13 + -0x14" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x7e528")) (; ";")) (expression_statement "pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));" (assignment_expression "pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10))" (identifier "pvVar4") (= "=") (call_expression "malloc(*(size_t *)((int)pppuVar13 + -0x10))" (identifier "malloc") (argument_list "(*(size_t *)((int)pppuVar13 + -0x10))" (( "(") (pointer_expression "*(size_t *)((int)pppuVar13 + -0x10)" (* "*") (cast_expression "(size_t *)((int)pppuVar13 + -0x10)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + -0x10)" (( "(") (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "*(void **)(uVar10 + 0x18) = pvVar4;" (assignment_expression "*(void **)(uVar10 + 0x18) = pvVar4" (pointer_expression "*(void **)(uVar10 + 0x18)" (* "*") (cast_expression "(void **)(uVar10 + 0x18)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(uVar10 + 0x18)" (( "(") (binary_expression "uVar10 + 0x18" (identifier "uVar10") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "pvVar4")) (; ";")) (if_statement "if (pvVar4 == (void *)0x0) {\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }" (if "if") (parenthesized_expression "(pvVar4 == (void *)0x0)" (( "(") (binary_expression "pvVar4 == (void *)0x0" (identifier "pvVar4") (== "==") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                *(undefined4 *)(uVar10 + 0x38) = 0;\n                *(undefined1 *)(__ptr + 9) = 0;\n                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n                iVar8 = 3;\n                goto LAB_0007de61;\n              }" ({ "{") (expression_statement "*(undefined4 *)(uVar10 + 0x38) = 0;" (assignment_expression "*(undefined4 *)(uVar10 + 0x38) = 0" (pointer_expression "*(undefined4 *)(uVar10 + 0x38)" (* "*") (cast_expression "(undefined4 *)(uVar10 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar10 + 0x38)" (( "(") (binary_expression "uVar10 + 0x38" (identifier "uVar10") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(__ptr + 9) = 0;" (assignment_expression "*(undefined1 *)(__ptr + 9) = 0" (pointer_expression "*(undefined1 *)(__ptr + 9)" (* "*") (cast_expression "(undefined1 *)(__ptr + 9)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(__ptr + 9)" (( "(") (binary_expression "__ptr + 9" (identifier "__ptr") (+ "+") (number_literal "9")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;" (if "if") (parenthesized_expression "(*(int *)((int)pppuVar13 + 0x44) == 0)" (( "(") (binary_expression "*(int *)((int)pppuVar13 + 0x44) == 0" (pointer_expression "*(int *)((int)pppuVar13 + 0x44)" (* "*") (cast_expression "(int *)((int)pppuVar13 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + 0x44)" (( "(") (binary_expression "(int)pppuVar13 + 0x44" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "0x44")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0007dd1d;" (goto "goto") (statement_identifier "LAB_0007dd1d") (; ";"))) (expression_statement "iVar8 = 3;" (assignment_expression "iVar8 = 3" (identifier "iVar8") (= "=") (number_literal "3")) (; ";")) (goto_statement "goto LAB_0007de61;" (goto "goto") (statement_identifier "LAB_0007de61") (; ";")) (} "}"))) (expression_statement "uVar7 = __ptr[0x25];" (assignment_expression "uVar7 = __ptr[0x25]" (identifier "uVar7") (= "=") (subscript_expression "__ptr[0x25]" (identifier "__ptr") ([ "[") (number_literal "0x25") (] "]"))) (; ";")) (expression_statement "uVar9 = __ptr[0x24];" (assignment_expression "uVar9 = __ptr[0x24]" (identifier "uVar9") (= "=") (subscript_expression "__ptr[0x24]" (identifier "__ptr") ([ "[") (number_literal "0x24") (] "]"))) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(uVar10 + 0x68) = 0;" (assignment_expression "*(undefined4 *)(uVar10 + 0x68) = 0" (pointer_expression "*(undefined4 *)(uVar10 + 0x68)" (* "*") (cast_expression "(undefined4 *)(uVar10 + 0x68)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar10 + 0x68)" (( "(") (binary_expression "uVar10 + 0x68" (identifier "uVar10") (+ "+") (number_literal "0x68")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(uVar10 + 0x40) = 0;" (assignment_expression "*(undefined4 *)(uVar10 + 0x40) = 0" (pointer_expression "*(undefined4 *)(uVar10 + 0x40)" (* "*") (cast_expression "(undefined4 *)(uVar10 + 0x40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar10 + 0x40)" (( "(") (binary_expression "uVar10 + 0x40" (identifier "uVar10") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(uVar10 + 0x50) = 1;" (assignment_expression "*(undefined1 *)(uVar10 + 0x50) = 1" (pointer_expression "*(undefined1 *)(uVar10 + 0x50)" (* "*") (cast_expression "(undefined1 *)(uVar10 + 0x50)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar10 + 0x50)" (( "(") (binary_expression "uVar10 + 0x50" (identifier "uVar10") (+ "+") (number_literal "0x50")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(uVar10 + 0x6ee4) = 0;" (assignment_expression "*(undefined4 *)(uVar10 + 0x6ee4) = 0" (pointer_expression "*(undefined4 *)(uVar10 + 0x6ee4)" (* "*") (cast_expression "(undefined4 *)(uVar10 + 0x6ee4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar10 + 0x6ee4)" (( "(") (binary_expression "uVar10 + 0x6ee4" (identifier "uVar10") (+ "+") (number_literal "0x6ee4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (while_statement "while (uVar9 < uVar7) {\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }" (while "while") (parenthesized_expression "(uVar9 < uVar7)" (( "(") (binary_expression "uVar9 < uVar7" (identifier "uVar9") (< "<") (identifier "uVar7")) () ")")) (compound_statement "{\n              __ptr[0x24] = uVar9 + 1;\n              iVar8 = uVar9 + 0x98;\n              uVar9 = uVar9 + 1;\n              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;\n            }" ({ "{") (expression_statement "__ptr[0x24] = uVar9 + 1;" (assignment_expression "__ptr[0x24] = uVar9 + 1" (subscript_expression "__ptr[0x24]" (identifier "__ptr") ([ "[") (number_literal "0x24") (] "]")) (= "=") (binary_expression "uVar9 + 1" (identifier "uVar9") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar8 = uVar9 + 0x98;" (assignment_expression "iVar8 = uVar9 + 0x98" (identifier "iVar8") (= "=") (binary_expression "uVar9 + 0x98" (identifier "uVar9") (+ "+") (number_literal "0x98"))) (; ";")) (expression_statement "uVar9 = uVar9 + 1;" (assignment_expression "uVar9 = uVar9 + 1" (identifier "uVar9") (= "=") (binary_expression "uVar9 + 1" (identifier "uVar9") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;" (if "if") (parenthesized_expression "(*(char *)((int)__ptr + iVar8) != '\0')" (( "(") (binary_expression "*(char *)((int)__ptr + iVar8) != '\0'" (pointer_expression "*(char *)((int)__ptr + iVar8)" (* "*") (cast_expression "(char *)((int)__ptr + iVar8)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__ptr + iVar8)" (( "(") (binary_expression "(int)__ptr + iVar8" (cast_expression "(int)__ptr" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__ptr")) (+ "+") (identifier "iVar8")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0007e4e9;" (goto "goto") (statement_identifier "LAB_0007e4e9") (; ";"))) (} "}"))) (expression_statement "__ptr[0x24] = 0;" (assignment_expression "__ptr[0x24] = 0" (subscript_expression "__ptr[0x24]" (identifier "__ptr") ([ "[") (number_literal "0x24") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "__ptr[0xf] = 0;" (assignment_expression "__ptr[0xf] = 0" (subscript_expression "__ptr[0xf]" (identifier "__ptr") ([ "[") (number_literal "0xf") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "__ptr[0x10] = 0;" (assignment_expression "__ptr[0x10] = 0" (subscript_expression "__ptr[0x10]" (identifier "__ptr") ([ "[") (number_literal "0x10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "__ptr[0x11] = 0;" (assignment_expression "__ptr[0x11] = 0" (subscript_expression "__ptr[0x11]" (identifier "__ptr") ([ "[") (number_literal "0x11") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "__ptr[0x12] = 0;" (assignment_expression "__ptr[0x12] = 0" (subscript_expression "__ptr[0x12]" (identifier "__ptr") ([ "[") (number_literal "0x12") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*__ptr = 3;" (assignment_expression "*__ptr = 3" (pointer_expression "*__ptr" (* "*") (identifier "__ptr")) (= "=") (number_literal "3")) (; ";")) (goto_statement "goto switchD_0007dbdb_caseD_7e21b;" (goto "goto") (statement_identifier "switchD_0007dbdb_caseD_7e21b") (; ";")) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x7e21b:\nswitchD_0007dbdb_caseD_7e21b:\n    __ptr[4] = ((int *)pppuVar13)[0xe];\n    __ptr[5] = ((int *)pppuVar13)[0x11];\n    ((int *)pppuVar13)[-1] = 0x7e238;\n    iVar8 = FUN_0007d17c();\n    ((int *)pppuVar13)[7] = iVar8;\n    uVar9 = (((int *)pppuVar13)[0xe] - __ptr[4]) + __ptr[0xf];\n    uVar18 = __ptr[0x10] + (uint)CARRY4(((int *)pppuVar13)[0xe] - __ptr[4],__ptr[0xf]);\n    __ptr[0xf] = uVar9;\n    __ptr[0x10] = uVar18;\n    iVar5 = ((int *)pppuVar13)[0x11];\n    uVar7 = __ptr[5];\n    ((int *)pppuVar13)[9] = uVar7;\n    uVar7 = iVar5 - uVar7;\n    ((int *)pppuVar13)[10] = uVar7;\n    uVar10 = uVar7 + __ptr[0x11];\n    uVar7 = __ptr[0x12] + (uint)CARRY4(uVar7,__ptr[0x11]);\n    __ptr[0x11] = uVar10;\n    __ptr[0x12] = uVar7;\n    if ((uVar18 <= __ptr[0xb] && (uint)(__ptr[10] < uVar9) <= __ptr[0xb] - uVar18) &&\n       (uVar7 <= __ptr[0xd] && (uint)(__ptr[0xc] < uVar10) <= __ptr[0xd] - uVar7)) {\n      if (__ptr[7] == 1) {\n        ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n        ((int *)pppuVar13)[-5] = 0x7e2b9;\n        uVar7 = FUN_000a62f1();\n        __ptr[6] = ~uVar7;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n      }\n      if (((int *)pppuVar13)[7] == 1) {\n        piVar15 = (int *)pppuVar13;\n        if (((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||\n           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])) {\n          uVar7 = __ptr[0x11];\n          if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }\n        }\n        goto LAB_0007defc;\n      }\n      iVar8 = ((int *)pppuVar13)[7];\n      goto LAB_0007dfbc;\n    }\n    iVar8 = 7;\n    goto LAB_0007df05;" (case "case") (number_literal "0x7e21b") (: ":") (labeled_statement "switchD_0007dbdb_caseD_7e21b:\n    __ptr[4] = ((int *)pppuVar13)[0xe];" (statement_identifier "switchD_0007dbdb_caseD_7e21b") (: ":") (expression_statement "__ptr[4] = ((int *)pppuVar13)[0xe];" (assignment_expression "__ptr[4] = ((int *)pppuVar13)[0xe]" (subscript_expression "__ptr[4]" (identifier "__ptr") ([ "[") (number_literal "4") (] "]")) (= "=") (subscript_expression "((int *)pppuVar13)[0xe]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "0xe") (] "]"))) (; ";"))) (expression_statement "__ptr[5] = ((int *)pppuVar13)[0x11];" (assignment_expression "__ptr[5] = ((int *)pppuVar13)[0x11]" (subscript_expression "__ptr[5]" (identifier "__ptr") ([ "[") (number_literal "5") (] "]")) (= "=") (subscript_expression "((int *)pppuVar13)[0x11]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "0x11") (] "]"))) (; ";")) (expression_statement "((int *)pppuVar13)[-1] = 0x7e238;" (assignment_expression "((int *)pppuVar13)[-1] = 0x7e238" (subscript_expression "((int *)pppuVar13)[-1]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "-1") (] "]")) (= "=") (number_literal "0x7e238")) (; ";")) (expression_statement "iVar8 = FUN_0007d17c();" (assignment_expression "iVar8 = FUN_0007d17c()" (identifier "iVar8") (= "=") (call_expression "FUN_0007d17c()" (identifier "FUN_0007d17c") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "((int *)pppuVar13)[7] = iVar8;" (assignment_expression "((int *)pppuVar13)[7] = iVar8" (subscript_expression "((int *)pppuVar13)[7]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "7") (] "]")) (= "=") (identifier "iVar8")) (; ";")) (expression_statement "uVar9 = (((int *)pppuVar13)[0xe] - __ptr[4]) + __ptr[0xf];" (assignment_expression "uVar9 = (((int *)pppuVar13)[0xe] - __ptr[4]) + __ptr[0xf]" (identifier "uVar9") (= "=") (binary_expression "(((int *)pppuVar13)[0xe] - __ptr[4]) + __ptr[0xf]" (parenthesized_expression "(((int *)pppuVar13)[0xe] - __ptr[4])" (( "(") (binary_expression "((int *)pppuVar13)[0xe] - __ptr[4]" (subscript_expression "((int *)pppuVar13)[0xe]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "0xe") (] "]")) (- "-") (subscript_expression "__ptr[4]" (identifier "__ptr") ([ "[") (number_literal "4") (] "]"))) () ")")) (+ "+") (subscript_expression "__ptr[0xf]" (identifier "__ptr") ([ "[") (number_literal "0xf") (] "]")))) (; ";")) (expression_statement "uVar18 = __ptr[0x10] + (uint)CARRY4(((int *)pppuVar13)[0xe] - __ptr[4],__ptr[0xf]);" (assignment_expression "uVar18 = __ptr[0x10] + (uint)CARRY4(((int *)pppuVar13)[0xe] - __ptr[4],__ptr[0xf])" (identifier "uVar18") (= "=") (binary_expression "__ptr[0x10] + (uint)CARRY4(((int *)pppuVar13)[0xe] - __ptr[4],__ptr[0xf])" (subscript_expression "__ptr[0x10]" (identifier "__ptr") ([ "[") (number_literal "0x10") (] "]")) (+ "+") (cast_expression "(uint)CARRY4(((int *)pppuVar13)[0xe] - __ptr[4],__ptr[0xf])" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(((int *)pppuVar13)[0xe] - __ptr[4],__ptr[0xf])" (identifier "CARRY4") (argument_list "(((int *)pppuVar13)[0xe] - __ptr[4],__ptr[0xf])" (( "(") (binary_expression "((int *)pppuVar13)[0xe] - __ptr[4]" (subscript_expression "((int *)pppuVar13)[0xe]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "0xe") (] "]")) (- "-") (subscript_expression "__ptr[4]" (identifier "__ptr") ([ "[") (number_literal "4") (] "]"))) (, ",") (subscript_expression "__ptr[0xf]" (identifier "__ptr") ([ "[") (number_literal "0xf") (] "]")) () ")")))))) (; ";")) (expression_statement "__ptr[0xf] = uVar9;" (assignment_expression "__ptr[0xf] = uVar9" (subscript_expression "__ptr[0xf]" (identifier "__ptr") ([ "[") (number_literal "0xf") (] "]")) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "__ptr[0x10] = uVar18;" (assignment_expression "__ptr[0x10] = uVar18" (subscript_expression "__ptr[0x10]" (identifier "__ptr") ([ "[") (number_literal "0x10") (] "]")) (= "=") (identifier "uVar18")) (; ";")) (expression_statement "iVar5 = ((int *)pppuVar13)[0x11];" (assignment_expression "iVar5 = ((int *)pppuVar13)[0x11]" (identifier "iVar5") (= "=") (subscript_expression "((int *)pppuVar13)[0x11]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "0x11") (] "]"))) (; ";")) (expression_statement "uVar7 = __ptr[5];" (assignment_expression "uVar7 = __ptr[5]" (identifier "uVar7") (= "=") (subscript_expression "__ptr[5]" (identifier "__ptr") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "((int *)pppuVar13)[9] = uVar7;" (assignment_expression "((int *)pppuVar13)[9] = uVar7" (subscript_expression "((int *)pppuVar13)[9]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "uVar7 = iVar5 - uVar7;" (assignment_expression "uVar7 = iVar5 - uVar7" (identifier "uVar7") (= "=") (binary_expression "iVar5 - uVar7" (identifier "iVar5") (- "-") (identifier "uVar7"))) (; ";")) (expression_statement "((int *)pppuVar13)[10] = uVar7;" (assignment_expression "((int *)pppuVar13)[10] = uVar7" (subscript_expression "((int *)pppuVar13)[10]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "10") (] "]")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "uVar10 = uVar7 + __ptr[0x11];" (assignment_expression "uVar10 = uVar7 + __ptr[0x11]" (identifier "uVar10") (= "=") (binary_expression "uVar7 + __ptr[0x11]" (identifier "uVar7") (+ "+") (subscript_expression "__ptr[0x11]" (identifier "__ptr") ([ "[") (number_literal "0x11") (] "]")))) (; ";")) (expression_statement "uVar7 = __ptr[0x12] + (uint)CARRY4(uVar7,__ptr[0x11]);" (assignment_expression "uVar7 = __ptr[0x12] + (uint)CARRY4(uVar7,__ptr[0x11])" (identifier "uVar7") (= "=") (binary_expression "__ptr[0x12] + (uint)CARRY4(uVar7,__ptr[0x11])" (subscript_expression "__ptr[0x12]" (identifier "__ptr") ([ "[") (number_literal "0x12") (] "]")) (+ "+") (cast_expression "(uint)CARRY4(uVar7,__ptr[0x11])" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar7,__ptr[0x11])" (identifier "CARRY4") (argument_list "(uVar7,__ptr[0x11])" (( "(") (identifier "uVar7") (, ",") (subscript_expression "__ptr[0x11]" (identifier "__ptr") ([ "[") (number_literal "0x11") (] "]")) () ")")))))) (; ";")) (expression_statement "__ptr[0x11] = uVar10;" (assignment_expression "__ptr[0x11] = uVar10" (subscript_expression "__ptr[0x11]" (identifier "__ptr") ([ "[") (number_literal "0x11") (] "]")) (= "=") (identifier "uVar10")) (; ";")) (expression_statement "__ptr[0x12] = uVar7;" (assignment_expression "__ptr[0x12] = uVar7" (subscript_expression "__ptr[0x12]" (identifier "__ptr") ([ "[") (number_literal "0x12") (] "]")) (= "=") (identifier "uVar7")) (; ";")) (if_statement "if ((uVar18 <= __ptr[0xb] && (uint)(__ptr[10] < uVar9) <= __ptr[0xb] - uVar18) &&\n       (uVar7 <= __ptr[0xd] && (uint)(__ptr[0xc] < uVar10) <= __ptr[0xd] - uVar7)) {\n      if (__ptr[7] == 1) {\n        ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n        ((int *)pppuVar13)[-5] = 0x7e2b9;\n        uVar7 = FUN_000a62f1();\n        __ptr[6] = ~uVar7;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n      }\n      if (((int *)pppuVar13)[7] == 1) {\n        piVar15 = (int *)pppuVar13;\n        if (((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||\n           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])) {\n          uVar7 = __ptr[0x11];\n          if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }\n        }\n        goto LAB_0007defc;\n      }\n      iVar8 = ((int *)pppuVar13)[7];\n      goto LAB_0007dfbc;\n    }" (if "if") (parenthesized_expression "((uVar18 <= __ptr[0xb] && (uint)(__ptr[10] < uVar9) <= __ptr[0xb] - uVar18) &&\n       (uVar7 <= __ptr[0xd] && (uint)(__ptr[0xc] < uVar10) <= __ptr[0xd] - uVar7))" (( "(") (binary_expression "(uVar18 <= __ptr[0xb] && (uint)(__ptr[10] < uVar9) <= __ptr[0xb] - uVar18) &&\n       (uVar7 <= __ptr[0xd] && (uint)(__ptr[0xc] < uVar10) <= __ptr[0xd] - uVar7)" (parenthesized_expression "(uVar18 <= __ptr[0xb] && (uint)(__ptr[10] < uVar9) <= __ptr[0xb] - uVar18)" (( "(") (binary_expression "uVar18 <= __ptr[0xb] && (uint)(__ptr[10] < uVar9) <= __ptr[0xb] - uVar18" (binary_expression "uVar18 <= __ptr[0xb]" (identifier "uVar18") (<= "<=") (subscript_expression "__ptr[0xb]" (identifier "__ptr") ([ "[") (number_literal "0xb") (] "]"))) (&& "&&") (binary_expression "(uint)(__ptr[10] < uVar9) <= __ptr[0xb] - uVar18" (call_expression "(uint)(__ptr[10] < uVar9)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(__ptr[10] < uVar9)" (( "(") (binary_expression "__ptr[10] < uVar9" (subscript_expression "__ptr[10]" (identifier "__ptr") ([ "[") (number_literal "10") (] "]")) (< "<") (identifier "uVar9")) () ")"))) (<= "<=") (binary_expression "__ptr[0xb] - uVar18" (subscript_expression "__ptr[0xb]" (identifier "__ptr") ([ "[") (number_literal "0xb") (] "]")) (- "-") (identifier "uVar18")))) () ")")) (&& "&&") (parenthesized_expression "(uVar7 <= __ptr[0xd] && (uint)(__ptr[0xc] < uVar10) <= __ptr[0xd] - uVar7)" (( "(") (binary_expression "uVar7 <= __ptr[0xd] && (uint)(__ptr[0xc] < uVar10) <= __ptr[0xd] - uVar7" (binary_expression "uVar7 <= __ptr[0xd]" (identifier "uVar7") (<= "<=") (subscript_expression "__ptr[0xd]" (identifier "__ptr") ([ "[") (number_literal "0xd") (] "]"))) (&& "&&") (binary_expression "(uint)(__ptr[0xc] < uVar10) <= __ptr[0xd] - uVar7" (call_expression "(uint)(__ptr[0xc] < uVar10)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(__ptr[0xc] < uVar10)" (( "(") (binary_expression "__ptr[0xc] < uVar10" (subscript_expression "__ptr[0xc]" (identifier "__ptr") ([ "[") (number_literal "0xc") (] "]")) (< "<") (identifier "uVar10")) () ")"))) (<= "<=") (binary_expression "__ptr[0xd] - uVar7" (subscript_expression "__ptr[0xd]" (identifier "__ptr") ([ "[") (number_literal "0xd") (] "]")) (- "-") (identifier "uVar7")))) () ")"))) () ")")) (compound_statement "{\n      if (__ptr[7] == 1) {\n        ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n        ((int *)pppuVar13)[-5] = 0x7e2b9;\n        uVar7 = FUN_000a62f1();\n        __ptr[6] = ~uVar7;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n      }\n      if (((int *)pppuVar13)[7] == 1) {\n        piVar15 = (int *)pppuVar13;\n        if (((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||\n           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])) {\n          uVar7 = __ptr[0x11];\n          if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }\n        }\n        goto LAB_0007defc;\n      }\n      iVar8 = ((int *)pppuVar13)[7];\n      goto LAB_0007dfbc;\n    }" ({ "{") (if_statement "if (__ptr[7] == 1) {\n        ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n        ((int *)pppuVar13)[-5] = 0x7e2b9;\n        uVar7 = FUN_000a62f1();\n        __ptr[6] = ~uVar7;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n      }" (if "if") (parenthesized_expression "(__ptr[7] == 1)" (( "(") (binary_expression "__ptr[7] == 1" (subscript_expression "__ptr[7]" (identifier "__ptr") ([ "[") (number_literal "7") (] "]")) (== "==") (number_literal "1")) () ")")) (compound_statement "{\n        ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n        ((int *)pppuVar13)[-5] = 0x7e2b9;\n        uVar7 = FUN_000a62f1();\n        __ptr[6] = ~uVar7;\n        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n      }" ({ "{") (expression_statement "((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);" (assignment_expression "((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8)" (subscript_expression "((int *)pppuVar13)[-4]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "-4") (] "]")) (= "=") (pointer_expression "*(undefined4 *)((int)*pppuVar13 + 0xcf8)" (* "*") (cast_expression "(undefined4 *)((int)*pppuVar13 + 0xcf8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)*pppuVar13 + 0xcf8)" (( "(") (binary_expression "(int)*pppuVar13 + 0xcf8" (cast_expression "(int)*pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*pppuVar13" (* "*") (identifier "pppuVar13"))) (+ "+") (number_literal "0xcf8")) () ")"))))) (; ";")) (expression_statement "((int *)pppuVar13)[-5] = 0x7e2b9;" (assignment_expression "((int *)pppuVar13)[-5] = 0x7e2b9" (subscript_expression "((int *)pppuVar13)[-5]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "-5") (] "]")) (= "=") (number_literal "0x7e2b9")) (; ";")) (expression_statement "uVar7 = FUN_000a62f1();" (assignment_expression "uVar7 = FUN_000a62f1()" (identifier "uVar7") (= "=") (call_expression "FUN_000a62f1()" (identifier "FUN_000a62f1") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "__ptr[6] = ~uVar7;" (assignment_expression "__ptr[6] = ~uVar7" (subscript_expression "__ptr[6]" (identifier "__ptr") ([ "[") (number_literal "6") (] "]")) (= "=") (unary_expression "~uVar7" (~ "~") (identifier "uVar7"))) (; ";")) (expression_statement "pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);" (assignment_expression "pppuVar13 = (undefined ***)((int *)pppuVar13 + -1)" (identifier "pppuVar13") (= "=") (cast_expression "(undefined ***)((int *)pppuVar13 + -1)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int *)pppuVar13 + -1)" (( "(") (binary_expression "(int *)pppuVar13 + -1" (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (} "}"))) (if_statement "if (((int *)pppuVar13)[7] == 1) {\n        piVar15 = (int *)pppuVar13;\n        if (((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||\n           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])) {\n          uVar7 = __ptr[0x11];\n          if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }\n        }\n        goto LAB_0007defc;\n      }" (if "if") (parenthesized_expression "(((int *)pppuVar13)[7] == 1)" (( "(") (binary_expression "((int *)pppuVar13)[7] == 1" (subscript_expression "((int *)pppuVar13)[7]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "7") (] "]")) (== "==") (number_literal "1")) () ")")) (compound_statement "{\n        piVar15 = (int *)pppuVar13;\n        if (((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||\n           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])) {\n          uVar7 = __ptr[0x11];\n          if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }\n        }\n        goto LAB_0007defc;\n      }" ({ "{") (expression_statement "piVar15 = (int *)pppuVar13;" (assignment_expression "piVar15 = (int *)pppuVar13" (identifier "piVar15") (= "=") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13"))) (; ";")) (if_statement "if (((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||\n           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])) {\n          uVar7 = __ptr[0x11];\n          if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }\n        }" (if "if") (parenthesized_expression "(((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||\n           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf]))" (( "(") (binary_expression "((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||\n           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])" (parenthesized_expression "((__ptr[0xb] & __ptr[10]) == 0xffffffff)" (( "(") (binary_expression "(__ptr[0xb] & __ptr[10]) == 0xffffffff" (parenthesized_expression "(__ptr[0xb] & __ptr[10])" (( "(") (binary_expression "__ptr[0xb] & __ptr[10]" (subscript_expression "__ptr[0xb]" (identifier "__ptr") ([ "[") (number_literal "0xb") (] "]")) (& "&") (subscript_expression "__ptr[10]" (identifier "__ptr") ([ "[") (number_literal "10") (] "]"))) () ")")) (== "==") (number_literal "0xffffffff")) () ")")) (|| "||") (parenthesized_expression "(__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])" (( "(") (binary_expression "__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf]" (binary_expression "__ptr[0xb] == __ptr[0x10]" (subscript_expression "__ptr[0xb]" (identifier "__ptr") ([ "[") (number_literal "0xb") (] "]")) (== "==") (subscript_expression "__ptr[0x10]" (identifier "__ptr") ([ "[") (number_literal "0x10") (] "]"))) (&& "&&") (binary_expression "__ptr[10] == __ptr[0xf]" (subscript_expression "__ptr[10]" (identifier "__ptr") ([ "[") (number_literal "10") (] "]")) (== "==") (subscript_expression "__ptr[0xf]" (identifier "__ptr") ([ "[") (number_literal "0xf") (] "]")))) () ")"))) () ")")) (compound_statement "{\n          uVar7 = __ptr[0x11];\n          if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }\n        }" ({ "{") (expression_statement "uVar7 = __ptr[0x11];" (assignment_expression "uVar7 = __ptr[0x11]" (identifier "uVar7") (= "=") (subscript_expression "__ptr[0x11]" (identifier "__ptr") ([ "[") (number_literal "0x11") (] "]"))) (; ";")) (if_statement "if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }" (if "if") (parenthesized_expression "(((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7))" (( "(") (binary_expression "((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||\n             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)" (parenthesized_expression "((__ptr[0xd] & __ptr[0xc]) == 0xffffffff)" (( "(") (binary_expression "(__ptr[0xd] & __ptr[0xc]) == 0xffffffff" (parenthesized_expression "(__ptr[0xd] & __ptr[0xc])" (( "(") (binary_expression "__ptr[0xd] & __ptr[0xc]" (subscript_expression "__ptr[0xd]" (identifier "__ptr") ([ "[") (number_literal "0xd") (] "]")) (& "&") (subscript_expression "__ptr[0xc]" (identifier "__ptr") ([ "[") (number_literal "0xc") (] "]"))) () ")")) (== "==") (number_literal "0xffffffff")) () ")")) (|| "||") (parenthesized_expression "(__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)" (( "(") (binary_expression "__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7" (binary_expression "__ptr[0xd] == __ptr[0x12]" (subscript_expression "__ptr[0xd]" (identifier "__ptr") ([ "[") (number_literal "0xd") (] "]")) (== "==") (subscript_expression "__ptr[0x12]" (identifier "__ptr") ([ "[") (number_literal "0x12") (] "]"))) (&& "&&") (binary_expression "__ptr[0xc] == uVar7" (subscript_expression "__ptr[0xc]" (identifier "__ptr") ([ "[") (number_literal "0xc") (] "]")) (== "==") (identifier "uVar7"))) () ")"))) () ")")) (compound_statement "{\n            uVar10 = __ptr[0x15];\n            uVar18 = __ptr[0xf] + __ptr[0x15];\n            uVar9 = __ptr[0xe] + uVar18;\n            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);\n            __ptr[0x15] = uVar9 + bVar19;\n            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);\n            puVar1 = __ptr + 0x17;\n            uVar10 = *puVar1;\n            *puVar1 = *puVar1 + uVar7;\n            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);\n            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);\n            ((int *)pppuVar13)[-5] = 0x7e349;\n            uVar7 = FUN_000a62f1();\n            __ptr[0x19] = ~uVar7;\n            puVar1 = __ptr + 0x13;\n            uVar7 = *puVar1;\n            *puVar1 = *puVar1 + 1;\n            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);\n            *__ptr = 4;\n            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);\n            goto switchD_0007dbdb_caseD_7e360;\n          }" ({ "{") (expression_statement "uVar10 = __ptr[0x15];" (assignment_expression "uVar10 = __ptr[0x15]" (identifier "uVar10") (= "=") (subscript_expression "__ptr[0x15]" (identifier "__ptr") ([ "[") (number_literal "0x15") (] "]"))) (; ";")) (expression_statement "uVar18 = __ptr[0xf] + __ptr[0x15];" (assignment_expression "uVar18 = __ptr[0xf] + __ptr[0x15]" (identifier "uVar18") (= "=") (binary_expression "__ptr[0xf] + __ptr[0x15]" (subscript_expression "__ptr[0xf]" (identifier "__ptr") ([ "[") (number_literal "0xf") (] "]")) (+ "+") (subscript_expression "__ptr[0x15]" (identifier "__ptr") ([ "[") (number_literal "0x15") (] "]")))) (; ";")) (expression_statement "uVar9 = __ptr[0xe] + uVar18;" (assignment_expression "uVar9 = __ptr[0xe] + uVar18" (identifier "uVar9") (= "=") (binary_expression "__ptr[0xe] + uVar18" (subscript_expression "__ptr[0xe]" (identifier "__ptr") ([ "[") (number_literal "0xe") (] "]")) (+ "+") (identifier "uVar18"))) (; ";")) (expression_statement "bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);" (assignment_expression "bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7])" (identifier "bVar19") (= "=") (pointer_expression "*(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7])" (* "*") (cast_expression "(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7])" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)*pppuVar13 + -0x154a8 + __ptr[7])" (( "(") (binary_expression "(int)*pppuVar13 + -0x154a8 + __ptr[7]" (binary_expression "(int)*pppuVar13 + -0x154a8" (cast_expression "(int)*pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*pppuVar13" (* "*") (identifier "pppuVar13"))) (+ "+") (number_literal "-0x154a8")) (+ "+") (subscript_expression "__ptr[7]" (identifier "__ptr") ([ "[") (number_literal "7") (] "]"))) () ")"))))) (; ";")) (expression_statement "__ptr[0x15] = uVar9 + bVar19;" (assignment_expression "__ptr[0x15] = uVar9 + bVar19" (subscript_expression "__ptr[0x15]" (identifier "__ptr") ([ "[") (number_literal "0x15") (] "]")) (= "=") (binary_expression "uVar9 + bVar19" (identifier "uVar9") (+ "+") (identifier "bVar19"))) (; ";")) (expression_statement "__ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);" (assignment_expression "__ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19)" (subscript_expression "__ptr[0x16]" (identifier "__ptr") ([ "[") (number_literal "0x16") (] "]")) (= "=") (binary_expression "__ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19)" (binary_expression "__ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +\n                          (uint)CARRY4(__ptr[0xe],uVar18)" (binary_expression "__ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10)" (binary_expression "__ptr[0x10] + __ptr[0x16]" (subscript_expression "__ptr[0x10]" (identifier "__ptr") ([ "[") (number_literal "0x10") (] "]")) (+ "+") (subscript_expression "__ptr[0x16]" (identifier "__ptr") ([ "[") (number_literal "0x16") (] "]"))) (+ "+") (cast_expression "(uint)CARRY4(__ptr[0xf],uVar10)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(__ptr[0xf],uVar10)" (identifier "CARRY4") (argument_list "(__ptr[0xf],uVar10)" (( "(") (subscript_expression "__ptr[0xf]" (identifier "__ptr") ([ "[") (number_literal "0xf") (] "]")) (, ",") (identifier "uVar10") () ")"))))) (+ "+") (cast_expression "(uint)CARRY4(__ptr[0xe],uVar18)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(__ptr[0xe],uVar18)" (identifier "CARRY4") (argument_list "(__ptr[0xe],uVar18)" (( "(") (subscript_expression "__ptr[0xe]" (identifier "__ptr") ([ "[") (number_literal "0xe") (] "]")) (, ",") (identifier "uVar18") () ")"))))) (+ "+") (cast_expression "(uint)CARRY4(uVar9,(uint)bVar19)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar9,(uint)bVar19)" (identifier "CARRY4") (argument_list "(uVar9,(uint)bVar19)" (( "(") (identifier "uVar9") (, ",") (cast_expression "(uint)bVar19" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar19")) () ")")))))) (; ";")) (expression_statement "puVar1 = __ptr + 0x17;" (assignment_expression "puVar1 = __ptr + 0x17" (identifier "puVar1") (= "=") (binary_expression "__ptr + 0x17" (identifier "__ptr") (+ "+") (number_literal "0x17"))) (; ";")) (expression_statement "uVar10 = *puVar1;" (assignment_expression "uVar10 = *puVar1" (identifier "uVar10") (= "=") (pointer_expression "*puVar1" (* "*") (identifier "puVar1"))) (; ";")) (expression_statement "*puVar1 = *puVar1 + uVar7;" (assignment_expression "*puVar1 = *puVar1 + uVar7" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (binary_expression "*puVar1 + uVar7" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (+ "+") (identifier "uVar7"))) (; ";")) (expression_statement "__ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);" (assignment_expression "__ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7)" (subscript_expression "__ptr[0x18]" (identifier "__ptr") ([ "[") (number_literal "0x18") (] "]")) (= "=") (binary_expression "__ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7)" (binary_expression "__ptr[0x18] + __ptr[0x12]" (subscript_expression "__ptr[0x18]" (identifier "__ptr") ([ "[") (number_literal "0x18") (] "]")) (+ "+") (subscript_expression "__ptr[0x12]" (identifier "__ptr") ([ "[") (number_literal "0x12") (] "]"))) (+ "+") (cast_expression "(uint)CARRY4(uVar10,uVar7)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar10,uVar7)" (identifier "CARRY4") (argument_list "(uVar10,uVar7)" (( "(") (identifier "uVar10") (, ",") (identifier "uVar7") () ")")))))) (; ";")) (expression_statement "((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);" (assignment_expression "((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8)" (subscript_expression "((int *)pppuVar13)[-4]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "-4") (] "]")) (= "=") (pointer_expression "*(undefined4 *)((int)*pppuVar13 + 0xcf8)" (* "*") (cast_expression "(undefined4 *)((int)*pppuVar13 + 0xcf8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)*pppuVar13 + 0xcf8)" (( "(") (binary_expression "(int)*pppuVar13 + 0xcf8" (cast_expression "(int)*pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*pppuVar13" (* "*") (identifier "pppuVar13"))) (+ "+") (number_literal "0xcf8")) () ")"))))) (; ";")) (expression_statement "((int *)pppuVar13)[-5] = 0x7e349;" (assignment_expression "((int *)pppuVar13)[-5] = 0x7e349" (subscript_expression "((int *)pppuVar13)[-5]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "-5") (] "]")) (= "=") (number_literal "0x7e349")) (; ";")) (expression_statement "uVar7 = FUN_000a62f1();" (assignment_expression "uVar7 = FUN_000a62f1()" (identifier "uVar7") (= "=") (call_expression "FUN_000a62f1()" (identifier "FUN_000a62f1") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "__ptr[0x19] = ~uVar7;" (assignment_expression "__ptr[0x19] = ~uVar7" (subscript_expression "__ptr[0x19]" (identifier "__ptr") ([ "[") (number_literal "0x19") (] "]")) (= "=") (unary_expression "~uVar7" (~ "~") (identifier "uVar7"))) (; ";")) (expression_statement "puVar1 = __ptr + 0x13;" (assignment_expression "puVar1 = __ptr + 0x13" (identifier "puVar1") (= "=") (binary_expression "__ptr + 0x13" (identifier "__ptr") (+ "+") (number_literal "0x13"))) (; ";")) (expression_statement "uVar7 = *puVar1;" (assignment_expression "uVar7 = *puVar1" (identifier "uVar7") (= "=") (pointer_expression "*puVar1" (* "*") (identifier "puVar1"))) (; ";")) (expression_statement "*puVar1 = *puVar1 + 1;" (assignment_expression "*puVar1 = *puVar1 + 1" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (binary_expression "*puVar1 + 1" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "__ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);" (assignment_expression "__ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7)" (subscript_expression "__ptr[0x14]" (identifier "__ptr") ([ "[") (number_literal "0x14") (] "]")) (= "=") (binary_expression "__ptr[0x14] + (uint)(0xfffffffe < uVar7)" (subscript_expression "__ptr[0x14]" (identifier "__ptr") ([ "[") (number_literal "0x14") (] "]")) (+ "+") (call_expression "(uint)(0xfffffffe < uVar7)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0xfffffffe < uVar7)" (( "(") (binary_expression "0xfffffffe < uVar7" (number_literal "0xfffffffe") (< "<") (identifier "uVar7")) () ")"))))) (; ";")) (expression_statement "*__ptr = 4;" (assignment_expression "*__ptr = 4" (pointer_expression "*__ptr" (* "*") (identifier "__ptr")) (= "=") (number_literal "4")) (; ";")) (expression_statement "pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);" (assignment_expression "pppuVar13 = (undefined ***)((int *)pppuVar13 + -1)" (identifier "pppuVar13") (= "=") (cast_expression "(undefined ***)((int *)pppuVar13 + -1)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int *)pppuVar13 + -1)" (( "(") (binary_expression "(int *)pppuVar13 + -1" (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (goto_statement "goto switchD_0007dbdb_caseD_7e360;" (goto "goto") (statement_identifier "switchD_0007dbdb_caseD_7e360") (; ";")) (} "}"))) (} "}"))) (goto_statement "goto LAB_0007defc;" (goto "goto") (statement_identifier "LAB_0007defc") (; ";")) (} "}"))) (expression_statement "iVar8 = ((int *)pppuVar13)[7];" (assignment_expression "iVar8 = ((int *)pppuVar13)[7]" (identifier "iVar8") (= "=") (subscript_expression "((int *)pppuVar13)[7]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "7") (] "]"))) (; ";")) (goto_statement "goto LAB_0007dfbc;" (goto "goto") (statement_identifier "LAB_0007dfbc") (; ";")) (} "}"))) (expression_statement "iVar8 = 7;" (assignment_expression "iVar8 = 7" (identifier "iVar8") (= "=") (number_literal "7")) (; ";")) (goto_statement "goto LAB_0007df05;" (goto "goto") (statement_identifier "LAB_0007df05") (; ";"))) (case_statement "case 0x7e360:\nswitchD_0007dbdb_caseD_7e360:\n    uVar10 = __ptr[0xf];\n    uVar9 = __ptr[0x10];\n    if ((uVar10 & 3) != 0) {\n      uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n      uVar7 = *(uint *)((int)pppuVar13 + 0x3c);\n      if (uVar18 == uVar7) goto LAB_0007dd85;\n      iVar8 = *(int *)((int)pppuVar13 + 0x34);\n      *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n      piVar15 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      uVar9 = uVar9 + (0xfffffffe < uVar10);\n      while( true ) {\n        uVar10 = uVar10 + 1;\n        __ptr[0xf] = uVar10;\n        __ptr[0x10] = uVar9;\n        if ((uVar10 & 3) == 0) break;\n        uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n        uVar9 = uVar9 + (0xfffffffe < uVar10);\n        if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      }\n    }\n    *__ptr = 5;\n    piVar14 = (int *)pppuVar13;\nswitchD_0007dbdb_caseD_7e3b0:\n    pppuVar13 = (undefined ***)piVar14;\n    if (__ptr[7] == 1) {\n      uVar10 = piVar14[0xf];\n      iVar8 = piVar14[0xd];\n      uVar7 = piVar14[0xe];\n      do {\n        if (uVar10 == uVar7) goto LAB_0007dd85;\n        uVar9 = __ptr[1];\n        uVar18 = __ptr[6];\n        uVar7 = uVar7 + 1;\n        piVar14[0xe] = uVar7;\n        if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))\n        goto LAB_0007dcff;\n        uVar9 = uVar9 + 8;\n        __ptr[1] = uVar9;\n      } while (uVar9 < 0x20);\n      __ptr[6] = 0;\n      __ptr[1] = 0;\n    }\n    else {\n      uVar10 = __ptr[1];\n      uVar9 = (uint)*(byte *)(*piVar14 + -0x154a8 + __ptr[7]);\n      if (uVar10 < uVar9) {\n        uVar18 = piVar14[0xe];\n        uVar7 = piVar14[0xf];\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        uVar11 = uVar18;\n        while( true ) {\n          uVar11 = uVar11 + 1;\n          if (uVar11 == (uVar18 - uVar10) + uVar9) break;\n          if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }\n        }\n        piVar14[0xe] = uVar11;\n      }\n      __ptr[1] = 0;\n    }\n    *__ptr = 1;\n    uVar7 = 1;\n    goto LAB_0007dbcf;" (case "case") (number_literal "0x7e360") (: ":") (labeled_statement "switchD_0007dbdb_caseD_7e360:\n    uVar10 = __ptr[0xf];" (statement_identifier "switchD_0007dbdb_caseD_7e360") (: ":") (expression_statement "uVar10 = __ptr[0xf];" (assignment_expression "uVar10 = __ptr[0xf]" (identifier "uVar10") (= "=") (subscript_expression "__ptr[0xf]" (identifier "__ptr") ([ "[") (number_literal "0xf") (] "]"))) (; ";"))) (expression_statement "uVar9 = __ptr[0x10];" (assignment_expression "uVar9 = __ptr[0x10]" (identifier "uVar9") (= "=") (subscript_expression "__ptr[0x10]" (identifier "__ptr") ([ "[") (number_literal "0x10") (] "]"))) (; ";")) (if_statement "if ((uVar10 & 3) != 0) {\n      uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n      uVar7 = *(uint *)((int)pppuVar13 + 0x3c);\n      if (uVar18 == uVar7) goto LAB_0007dd85;\n      iVar8 = *(int *)((int)pppuVar13 + 0x34);\n      *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n      piVar15 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      uVar9 = uVar9 + (0xfffffffe < uVar10);\n      while( true ) {\n        uVar10 = uVar10 + 1;\n        __ptr[0xf] = uVar10;\n        __ptr[0x10] = uVar9;\n        if ((uVar10 & 3) == 0) break;\n        uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n        uVar9 = uVar9 + (0xfffffffe < uVar10);\n        if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      }\n    }" (if "if") (parenthesized_expression "((uVar10 & 3) != 0)" (( "(") (binary_expression "(uVar10 & 3) != 0" (parenthesized_expression "(uVar10 & 3)" (( "(") (binary_expression "uVar10 & 3" (identifier "uVar10") (& "&") (number_literal "3")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n      uVar7 = *(uint *)((int)pppuVar13 + 0x3c);\n      if (uVar18 == uVar7) goto LAB_0007dd85;\n      iVar8 = *(int *)((int)pppuVar13 + 0x34);\n      *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n      piVar15 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      uVar9 = uVar9 + (0xfffffffe < uVar10);\n      while( true ) {\n        uVar10 = uVar10 + 1;\n        __ptr[0xf] = uVar10;\n        __ptr[0x10] = uVar9;\n        if ((uVar10 & 3) == 0) break;\n        uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n        uVar9 = uVar9 + (0xfffffffe < uVar10);\n        if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      }\n    }" ({ "{") (expression_statement "uVar18 = *(uint *)((int)pppuVar13 + 0x38);" (assignment_expression "uVar18 = *(uint *)((int)pppuVar13 + 0x38)" (identifier "uVar18") (= "=") (pointer_expression "*(uint *)((int)pppuVar13 + 0x38)" (* "*") (cast_expression "(uint *)((int)pppuVar13 + 0x38)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + 0x38)" (( "(") (binary_expression "(int)pppuVar13 + 0x38" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "uVar7 = *(uint *)((int)pppuVar13 + 0x3c);" (assignment_expression "uVar7 = *(uint *)((int)pppuVar13 + 0x3c)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)((int)pppuVar13 + 0x3c)" (* "*") (cast_expression "(uint *)((int)pppuVar13 + 0x3c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + 0x3c)" (( "(") (binary_expression "(int)pppuVar13 + 0x3c" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "0x3c")) () ")"))))) (; ";")) (if_statement "if (uVar18 == uVar7) goto LAB_0007dd85;" (if "if") (parenthesized_expression "(uVar18 == uVar7)" (( "(") (binary_expression "uVar18 == uVar7" (identifier "uVar18") (== "==") (identifier "uVar7")) () ")")) (goto_statement "goto LAB_0007dd85;" (goto "goto") (statement_identifier "LAB_0007dd85") (; ";"))) (expression_statement "iVar8 = *(int *)((int)pppuVar13 + 0x34);" (assignment_expression "iVar8 = *(int *)((int)pppuVar13 + 0x34)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)((int)pppuVar13 + 0x34)" (* "*") (cast_expression "(int *)((int)pppuVar13 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + 0x34)" (( "(") (binary_expression "(int)pppuVar13 + 0x34" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "*(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;" (assignment_expression "*(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1" (pointer_expression "*(uint *)((int)pppuVar13 + 0x38)" (* "*") (cast_expression "(uint *)((int)pppuVar13 + 0x38)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + 0x38)" (( "(") (binary_expression "(int)pppuVar13 + 0x38" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "0x38")) () ")")))) (= "=") (binary_expression "uVar18 + 1" (identifier "uVar18") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar15 = (int *)pppuVar13;" (assignment_expression "piVar15 = (int *)pppuVar13" (identifier "piVar15") (= "=") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13"))) (; ";")) (if_statement "if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;" (if "if") (parenthesized_expression "(*(char *)(iVar8 + uVar18) != '\0')" (( "(") (binary_expression "*(char *)(iVar8 + uVar18) != '\0'" (pointer_expression "*(char *)(iVar8 + uVar18)" (* "*") (cast_expression "(char *)(iVar8 + uVar18)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + uVar18)" (( "(") (binary_expression "iVar8 + uVar18" (identifier "iVar8") (+ "+") (identifier "uVar18")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0007defc;" (goto "goto") (statement_identifier "LAB_0007defc") (; ";"))) (expression_statement "uVar9 = uVar9 + (0xfffffffe < uVar10);" (assignment_expression "uVar9 = uVar9 + (0xfffffffe < uVar10)" (identifier "uVar9") (= "=") (binary_expression "uVar9 + (0xfffffffe < uVar10)" (identifier "uVar9") (+ "+") (parenthesized_expression "(0xfffffffe < uVar10)" (( "(") (binary_expression "0xfffffffe < uVar10" (number_literal "0xfffffffe") (< "<") (identifier "uVar10")) () ")")))) (; ";")) (while_statement "while( true ) {\n        uVar10 = uVar10 + 1;\n        __ptr[0xf] = uVar10;\n        __ptr[0x10] = uVar9;\n        if ((uVar10 & 3) == 0) break;\n        uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n        uVar9 = uVar9 + (0xfffffffe < uVar10);\n        if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        uVar10 = uVar10 + 1;\n        __ptr[0xf] = uVar10;\n        __ptr[0x10] = uVar9;\n        if ((uVar10 & 3) == 0) break;\n        uVar18 = *(uint *)((int)pppuVar13 + 0x38);\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;\n        uVar9 = uVar9 + (0xfffffffe < uVar10);\n        if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;\n      }" ({ "{") (expression_statement "uVar10 = uVar10 + 1;" (assignment_expression "uVar10 = uVar10 + 1" (identifier "uVar10") (= "=") (binary_expression "uVar10 + 1" (identifier "uVar10") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "__ptr[0xf] = uVar10;" (assignment_expression "__ptr[0xf] = uVar10" (subscript_expression "__ptr[0xf]" (identifier "__ptr") ([ "[") (number_literal "0xf") (] "]")) (= "=") (identifier "uVar10")) (; ";")) (expression_statement "__ptr[0x10] = uVar9;" (assignment_expression "__ptr[0x10] = uVar9" (subscript_expression "__ptr[0x10]" (identifier "__ptr") ([ "[") (number_literal "0x10") (] "]")) (= "=") (identifier "uVar9")) (; ";")) (if_statement "if ((uVar10 & 3) == 0) break;" (if "if") (parenthesized_expression "((uVar10 & 3) == 0)" (( "(") (binary_expression "(uVar10 & 3) == 0" (parenthesized_expression "(uVar10 & 3)" (( "(") (binary_expression "uVar10 & 3" (identifier "uVar10") (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar18 = *(uint *)((int)pppuVar13 + 0x38);" (assignment_expression "uVar18 = *(uint *)((int)pppuVar13 + 0x38)" (identifier "uVar18") (= "=") (pointer_expression "*(uint *)((int)pppuVar13 + 0x38)" (* "*") (cast_expression "(uint *)((int)pppuVar13 + 0x38)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + 0x38)" (( "(") (binary_expression "(int)pppuVar13 + 0x38" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (if_statement "if (uVar18 == uVar7) goto LAB_0007dd85;" (if "if") (parenthesized_expression "(uVar18 == uVar7)" (( "(") (binary_expression "uVar18 == uVar7" (identifier "uVar18") (== "==") (identifier "uVar7")) () ")")) (goto_statement "goto LAB_0007dd85;" (goto "goto") (statement_identifier "LAB_0007dd85") (; ";"))) (expression_statement "*(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;" (assignment_expression "*(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1" (pointer_expression "*(uint *)((int)pppuVar13 + 0x38)" (* "*") (cast_expression "(uint *)((int)pppuVar13 + 0x38)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + 0x38)" (( "(") (binary_expression "(int)pppuVar13 + 0x38" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "0x38")) () ")")))) (= "=") (binary_expression "uVar18 + 1" (identifier "uVar18") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar9 = uVar9 + (0xfffffffe < uVar10);" (assignment_expression "uVar9 = uVar9 + (0xfffffffe < uVar10)" (identifier "uVar9") (= "=") (binary_expression "uVar9 + (0xfffffffe < uVar10)" (identifier "uVar9") (+ "+") (parenthesized_expression "(0xfffffffe < uVar10)" (( "(") (binary_expression "0xfffffffe < uVar10" (number_literal "0xfffffffe") (< "<") (identifier "uVar10")) () ")")))) (; ";")) (if_statement "if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;" (if "if") (parenthesized_expression "(*(char *)(iVar8 + uVar18) != '\0')" (( "(") (binary_expression "*(char *)(iVar8 + uVar18) != '\0'" (pointer_expression "*(char *)(iVar8 + uVar18)" (* "*") (cast_expression "(char *)(iVar8 + uVar18)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + uVar18)" (( "(") (binary_expression "iVar8 + uVar18" (identifier "iVar8") (+ "+") (identifier "uVar18")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0007defc;" (goto "goto") (statement_identifier "LAB_0007defc") (; ";"))) (} "}"))) (} "}"))) (expression_statement "*__ptr = 5;" (assignment_expression "*__ptr = 5" (pointer_expression "*__ptr" (* "*") (identifier "__ptr")) (= "=") (number_literal "5")) (; ";")) (expression_statement "piVar14 = (int *)pppuVar13;" (assignment_expression "piVar14 = (int *)pppuVar13" (identifier "piVar14") (= "=") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13"))) (; ";")) (labeled_statement "switchD_0007dbdb_caseD_7e3b0:\n    pppuVar13 = (undefined ***)piVar14;" (statement_identifier "switchD_0007dbdb_caseD_7e3b0") (: ":") (expression_statement "pppuVar13 = (undefined ***)piVar14;" (assignment_expression "pppuVar13 = (undefined ***)piVar14" (identifier "pppuVar13") (= "=") (cast_expression "(undefined ***)piVar14" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "piVar14"))) (; ";"))) (if_statement "if (__ptr[7] == 1) {\n      uVar10 = piVar14[0xf];\n      iVar8 = piVar14[0xd];\n      uVar7 = piVar14[0xe];\n      do {\n        if (uVar10 == uVar7) goto LAB_0007dd85;\n        uVar9 = __ptr[1];\n        uVar18 = __ptr[6];\n        uVar7 = uVar7 + 1;\n        piVar14[0xe] = uVar7;\n        if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))\n        goto LAB_0007dcff;\n        uVar9 = uVar9 + 8;\n        __ptr[1] = uVar9;\n      } while (uVar9 < 0x20);\n      __ptr[6] = 0;\n      __ptr[1] = 0;\n    }\n    else {\n      uVar10 = __ptr[1];\n      uVar9 = (uint)*(byte *)(*piVar14 + -0x154a8 + __ptr[7]);\n      if (uVar10 < uVar9) {\n        uVar18 = piVar14[0xe];\n        uVar7 = piVar14[0xf];\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        uVar11 = uVar18;\n        while( true ) {\n          uVar11 = uVar11 + 1;\n          if (uVar11 == (uVar18 - uVar10) + uVar9) break;\n          if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }\n        }\n        piVar14[0xe] = uVar11;\n      }\n      __ptr[1] = 0;\n    }" (if "if") (parenthesized_expression "(__ptr[7] == 1)" (( "(") (binary_expression "__ptr[7] == 1" (subscript_expression "__ptr[7]" (identifier "__ptr") ([ "[") (number_literal "7") (] "]")) (== "==") (number_literal "1")) () ")")) (compound_statement "{\n      uVar10 = piVar14[0xf];\n      iVar8 = piVar14[0xd];\n      uVar7 = piVar14[0xe];\n      do {\n        if (uVar10 == uVar7) goto LAB_0007dd85;\n        uVar9 = __ptr[1];\n        uVar18 = __ptr[6];\n        uVar7 = uVar7 + 1;\n        piVar14[0xe] = uVar7;\n        if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))\n        goto LAB_0007dcff;\n        uVar9 = uVar9 + 8;\n        __ptr[1] = uVar9;\n      } while (uVar9 < 0x20);\n      __ptr[6] = 0;\n      __ptr[1] = 0;\n    }" ({ "{") (expression_statement "uVar10 = piVar14[0xf];" (assignment_expression "uVar10 = piVar14[0xf]" (identifier "uVar10") (= "=") (subscript_expression "piVar14[0xf]" (identifier "piVar14") ([ "[") (number_literal "0xf") (] "]"))) (; ";")) (expression_statement "iVar8 = piVar14[0xd];" (assignment_expression "iVar8 = piVar14[0xd]" (identifier "iVar8") (= "=") (subscript_expression "piVar14[0xd]" (identifier "piVar14") ([ "[") (number_literal "0xd") (] "]"))) (; ";")) (expression_statement "uVar7 = piVar14[0xe];" (assignment_expression "uVar7 = piVar14[0xe]" (identifier "uVar7") (= "=") (subscript_expression "piVar14[0xe]" (identifier "piVar14") ([ "[") (number_literal "0xe") (] "]"))) (; ";")) (do_statement "do {\n        if (uVar10 == uVar7) goto LAB_0007dd85;\n        uVar9 = __ptr[1];\n        uVar18 = __ptr[6];\n        uVar7 = uVar7 + 1;\n        piVar14[0xe] = uVar7;\n        if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))\n        goto LAB_0007dcff;\n        uVar9 = uVar9 + 8;\n        __ptr[1] = uVar9;\n      } while (uVar9 < 0x20);" (do "do") (compound_statement "{\n        if (uVar10 == uVar7) goto LAB_0007dd85;\n        uVar9 = __ptr[1];\n        uVar18 = __ptr[6];\n        uVar7 = uVar7 + 1;\n        piVar14[0xe] = uVar7;\n        if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))\n        goto LAB_0007dcff;\n        uVar9 = uVar9 + 8;\n        __ptr[1] = uVar9;\n      }" ({ "{") (if_statement "if (uVar10 == uVar7) goto LAB_0007dd85;" (if "if") (parenthesized_expression "(uVar10 == uVar7)" (( "(") (binary_expression "uVar10 == uVar7" (identifier "uVar10") (== "==") (identifier "uVar7")) () ")")) (goto_statement "goto LAB_0007dd85;" (goto "goto") (statement_identifier "LAB_0007dd85") (; ";"))) (expression_statement "uVar9 = __ptr[1];" (assignment_expression "uVar9 = __ptr[1]" (identifier "uVar9") (= "=") (subscript_expression "__ptr[1]" (identifier "__ptr") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar18 = __ptr[6];" (assignment_expression "uVar18 = __ptr[6]" (identifier "uVar18") (= "=") (subscript_expression "__ptr[6]" (identifier "__ptr") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "uVar7 = uVar7 + 1;" (assignment_expression "uVar7 = uVar7 + 1" (identifier "uVar7") (= "=") (binary_expression "uVar7 + 1" (identifier "uVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar14[0xe] = uVar7;" (assignment_expression "piVar14[0xe] = uVar7" (subscript_expression "piVar14[0xe]" (identifier "piVar14") ([ "[") (number_literal "0xe") (] "]")) (= "=") (identifier "uVar7")) (; ";")) (if_statement "if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))\n        goto LAB_0007dcff;" (if "if") (parenthesized_expression "(*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))" (( "(") (binary_expression "*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f))" (pointer_expression "*(char *)(iVar8 + -1 + uVar7)" (* "*") (cast_expression "(char *)(iVar8 + -1 + uVar7)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + -1 + uVar7)" (( "(") (binary_expression "iVar8 + -1 + uVar7" (binary_expression "iVar8 + -1" (identifier "iVar8") (+ "+") (number_literal "-1")) (+ "+") (identifier "uVar7")) () ")")))) (!= "!=") (cast_expression "(char)(uVar18 >> ((byte)uVar9 & 0x1f))" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "(uVar18 >> ((byte)uVar9 & 0x1f))" (( "(") (binary_expression "uVar18 >> ((byte)uVar9 & 0x1f)" (identifier "uVar18") (>> ">>") (parenthesized_expression "((byte)uVar9 & 0x1f)" (( "(") (binary_expression "(byte)uVar9 & 0x1f" (cast_expression "(byte)uVar9" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar9")) (& "&") (number_literal "0x1f")) () ")"))) () ")")))) () ")")) (goto_statement "goto LAB_0007dcff;" (goto "goto") (statement_identifier "LAB_0007dcff") (; ";"))) (expression_statement "uVar9 = uVar9 + 8;" (assignment_expression "uVar9 = uVar9 + 8" (identifier "uVar9") (= "=") (binary_expression "uVar9 + 8" (identifier "uVar9") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "__ptr[1] = uVar9;" (assignment_expression "__ptr[1] = uVar9" (subscript_expression "__ptr[1]" (identifier "__ptr") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar9")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar9 < 0x20)" (( "(") (binary_expression "uVar9 < 0x20" (identifier "uVar9") (< "<") (number_literal "0x20")) () ")")) (; ";")) (expression_statement "__ptr[6] = 0;" (assignment_expression "__ptr[6] = 0" (subscript_expression "__ptr[6]" (identifier "__ptr") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "__ptr[1] = 0;" (assignment_expression "__ptr[1] = 0" (subscript_expression "__ptr[1]" (identifier "__ptr") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      uVar10 = __ptr[1];\n      uVar9 = (uint)*(byte *)(*piVar14 + -0x154a8 + __ptr[7]);\n      if (uVar10 < uVar9) {\n        uVar18 = piVar14[0xe];\n        uVar7 = piVar14[0xf];\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        uVar11 = uVar18;\n        while( true ) {\n          uVar11 = uVar11 + 1;\n          if (uVar11 == (uVar18 - uVar10) + uVar9) break;\n          if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }\n        }\n        piVar14[0xe] = uVar11;\n      }\n      __ptr[1] = 0;\n    }" (else "else") (compound_statement "{\n      uVar10 = __ptr[1];\n      uVar9 = (uint)*(byte *)(*piVar14 + -0x154a8 + __ptr[7]);\n      if (uVar10 < uVar9) {\n        uVar18 = piVar14[0xe];\n        uVar7 = piVar14[0xf];\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        uVar11 = uVar18;\n        while( true ) {\n          uVar11 = uVar11 + 1;\n          if (uVar11 == (uVar18 - uVar10) + uVar9) break;\n          if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }\n        }\n        piVar14[0xe] = uVar11;\n      }\n      __ptr[1] = 0;\n    }" ({ "{") (expression_statement "uVar10 = __ptr[1];" (assignment_expression "uVar10 = __ptr[1]" (identifier "uVar10") (= "=") (subscript_expression "__ptr[1]" (identifier "__ptr") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar9 = (uint)*(byte *)(*piVar14 + -0x154a8 + __ptr[7]);" (assignment_expression "uVar9 = (uint)*(byte *)(*piVar14 + -0x154a8 + __ptr[7])" (identifier "uVar9") (= "=") (binary_expression "(uint)*(byte *)(*piVar14 + -0x154a8 + __ptr[7])" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(*piVar14 + -0x154a8 + __ptr[7])" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar14 + -0x154a8 + __ptr[7])" (( "(") (binary_expression "*piVar14 + -0x154a8 + __ptr[7]" (binary_expression "*piVar14 + -0x154a8" (pointer_expression "*piVar14" (* "*") (identifier "piVar14")) (+ "+") (number_literal "-0x154a8")) (+ "+") (subscript_expression "__ptr[7]" (identifier "__ptr") ([ "[") (number_literal "7") (] "]"))) () ")"))))) (; ";")) (if_statement "if (uVar10 < uVar9) {\n        uVar18 = piVar14[0xe];\n        uVar7 = piVar14[0xf];\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        uVar11 = uVar18;\n        while( true ) {\n          uVar11 = uVar11 + 1;\n          if (uVar11 == (uVar18 - uVar10) + uVar9) break;\n          if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }\n        }\n        piVar14[0xe] = uVar11;\n      }" (if "if") (parenthesized_expression "(uVar10 < uVar9)" (( "(") (binary_expression "uVar10 < uVar9" (identifier "uVar10") (< "<") (identifier "uVar9")) () ")")) (compound_statement "{\n        uVar18 = piVar14[0xe];\n        uVar7 = piVar14[0xf];\n        if (uVar18 == uVar7) goto LAB_0007dd85;\n        uVar11 = uVar18;\n        while( true ) {\n          uVar11 = uVar11 + 1;\n          if (uVar11 == (uVar18 - uVar10) + uVar9) break;\n          if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }\n        }\n        piVar14[0xe] = uVar11;\n      }" ({ "{") (expression_statement "uVar18 = piVar14[0xe];" (assignment_expression "uVar18 = piVar14[0xe]" (identifier "uVar18") (= "=") (subscript_expression "piVar14[0xe]" (identifier "piVar14") ([ "[") (number_literal "0xe") (] "]"))) (; ";")) (expression_statement "uVar7 = piVar14[0xf];" (assignment_expression "uVar7 = piVar14[0xf]" (identifier "uVar7") (= "=") (subscript_expression "piVar14[0xf]" (identifier "piVar14") ([ "[") (number_literal "0xf") (] "]"))) (; ";")) (if_statement "if (uVar18 == uVar7) goto LAB_0007dd85;" (if "if") (parenthesized_expression "(uVar18 == uVar7)" (( "(") (binary_expression "uVar18 == uVar7" (identifier "uVar18") (== "==") (identifier "uVar7")) () ")")) (goto_statement "goto LAB_0007dd85;" (goto "goto") (statement_identifier "LAB_0007dd85") (; ";"))) (expression_statement "uVar11 = uVar18;" (assignment_expression "uVar11 = uVar18" (identifier "uVar11") (= "=") (identifier "uVar18")) (; ";")) (while_statement "while( true ) {\n          uVar11 = uVar11 + 1;\n          if (uVar11 == (uVar18 - uVar10) + uVar9) break;\n          if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }\n        }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n          uVar11 = uVar11 + 1;\n          if (uVar11 == (uVar18 - uVar10) + uVar9) break;\n          if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }\n        }" ({ "{") (expression_statement "uVar11 = uVar11 + 1;" (assignment_expression "uVar11 = uVar11 + 1" (identifier "uVar11") (= "=") (binary_expression "uVar11 + 1" (identifier "uVar11") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (uVar11 == (uVar18 - uVar10) + uVar9) break;" (if "if") (parenthesized_expression "(uVar11 == (uVar18 - uVar10) + uVar9)" (( "(") (binary_expression "uVar11 == (uVar18 - uVar10) + uVar9" (identifier "uVar11") (== "==") (binary_expression "(uVar18 - uVar10) + uVar9" (parenthesized_expression "(uVar18 - uVar10)" (( "(") (binary_expression "uVar18 - uVar10" (identifier "uVar18") (- "-") (identifier "uVar10")) () ")")) (+ "+") (identifier "uVar9"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (uVar11 == uVar7) {\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }" (if "if") (parenthesized_expression "(uVar11 == uVar7)" (( "(") (binary_expression "uVar11 == uVar7" (identifier "uVar11") (== "==") (identifier "uVar7")) () ")")) (compound_statement "{\n            piVar14[0xe] = uVar7;\n            __ptr[1] = (uVar11 - uVar18) + uVar10;\n            goto LAB_0007dd85;\n          }" ({ "{") (expression_statement "piVar14[0xe] = uVar7;" (assignment_expression "piVar14[0xe] = uVar7" (subscript_expression "piVar14[0xe]" (identifier "piVar14") ([ "[") (number_literal "0xe") (] "]")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "__ptr[1] = (uVar11 - uVar18) + uVar10;" (assignment_expression "__ptr[1] = (uVar11 - uVar18) + uVar10" (subscript_expression "__ptr[1]" (identifier "__ptr") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "(uVar11 - uVar18) + uVar10" (parenthesized_expression "(uVar11 - uVar18)" (( "(") (binary_expression "uVar11 - uVar18" (identifier "uVar11") (- "-") (identifier "uVar18")) () ")")) (+ "+") (identifier "uVar10"))) (; ";")) (goto_statement "goto LAB_0007dd85;" (goto "goto") (statement_identifier "LAB_0007dd85") (; ";")) (} "}"))) (} "}"))) (expression_statement "piVar14[0xe] = uVar11;" (assignment_expression "piVar14[0xe] = uVar11" (subscript_expression "piVar14[0xe]" (identifier "piVar14") ([ "[") (number_literal "0xe") (] "]")) (= "=") (identifier "uVar11")) (; ";")) (} "}"))) (expression_statement "__ptr[1] = 0;" (assignment_expression "__ptr[1] = 0" (subscript_expression "__ptr[1]" (identifier "__ptr") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}")))) (expression_statement "*__ptr = 1;" (assignment_expression "*__ptr = 1" (pointer_expression "*__ptr" (* "*") (identifier "__ptr")) (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar7 = 1;" (assignment_expression "uVar7 = 1" (identifier "uVar7") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_0007dbcf;" (goto "goto") (statement_identifier "LAB_0007dbcf") (; ";"))) (case_statement "case 0x7e3b0:\n    goto switchD_0007dbdb_caseD_7e3b0;" (case "case") (number_literal "0x7e3b0") (: ":") (goto_statement "goto switchD_0007dbdb_caseD_7e3b0;" (goto "goto") (statement_identifier "switchD_0007dbdb_caseD_7e3b0") (; ";"))) (} "}"))) (labeled_statement "LAB_0007e4e9:\n  iVar5 = *(int *)((int)piVar15 + 0x44);" (statement_identifier "LAB_0007e4e9") (: ":") (expression_statement "iVar5 = *(int *)((int)piVar15 + 0x44);" (assignment_expression "iVar5 = *(int *)((int)piVar15 + 0x44)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)((int)piVar15 + 0x44)" (* "*") (cast_expression "(int *)((int)piVar15 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x44)" (( "(") (binary_expression "(int)piVar15 + 0x44" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x44")) () ")"))))) (; ";"))) (expression_statement "iVar8 = 6;" (assignment_expression "iVar8 = 6" (identifier "iVar8") (= "=") (number_literal "6")) (; ";")) (expression_statement "pppuVar13 = (undefined ***)piVar15;" (assignment_expression "pppuVar13 = (undefined ***)piVar15" (identifier "pppuVar13") (= "=") (cast_expression "(undefined ***)piVar15" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "piVar15"))) (; ";")) (goto_statement "goto LAB_0007df05;" (goto "goto") (statement_identifier "LAB_0007df05") (; ";")) (labeled_statement "switchD_0007dbdb_caseD_7dc1f:\n  piVar15 = (int *)pppuVar13;" (statement_identifier "switchD_0007dbdb_caseD_7dc1f") (: ":") (expression_statement "piVar15 = (int *)pppuVar13;" (assignment_expression "piVar15 = (int *)pppuVar13" (identifier "piVar15") (= "=") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13"))) (; ";"))) (do_statement "do {\n    *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x3c);\n    *(undefined4 *)((int)piVar15 + -0x14) = 0x7dc3a;\n    iVar8 = FUN_0007d044();\n    piVar14 = (int *)((int)piVar15 + -4);\n    pppuVar13 = (undefined ***)((int)piVar15 + -4);\n    if (iVar8 != 1) {\n      *(undefined4 *)((int)piVar15 + -8) = 0x7dfbc;\n      FUN_0007d137();\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\nLAB_0007dfbc:\n      if (iVar8 == 0) goto LAB_0007dd81;\n      goto LAB_0007dd04;\n    }\n    uVar7 = __ptr[0x1a];\n    if (uVar7 == 1) {\n      puVar1 = __ptr + 0x1f;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x20] = __ptr[0x20] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      __ptr[0x1a] = 2;\nLAB_0007dc68:\n      uVar7 = __ptr[0x1d];\n      uVar10 = __ptr[0x1e];\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\n    }\n    else {\n      if (uVar7 == 0) {\n        uVar7 = __ptr[2];\n        uVar10 = __ptr[3];\n        __ptr[0x1d] = uVar7;\n        __ptr[0x1e] = uVar10;\n        if (__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7) {\n          __ptr[0x1a] = 1;\n          goto LAB_0007dc6e;\n        }\n        goto LAB_0007dcff;\n      }\n      if (uVar7 != 2) goto LAB_0007dc68;\n      puVar1 = __ptr + 0x21;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x22] = __ptr[0x22] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)(*(int *)((int)piVar15 + -4) + 0xcf8);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7df5c;\n      uVar7 = FUN_000a62f1();\n      __ptr[0x23] = ~uVar7;\n      uVar7 = __ptr[0x1d] - 1;\n      uVar10 = (__ptr[0x1e] - 1) + (uint)(__ptr[0x1d] != 0);\n      __ptr[0x1d] = uVar7;\n      __ptr[0x1e] = uVar10;\n      __ptr[0x1a] = 1;\n      pppuVar13 = (undefined ***)((int)piVar15 + -8);\n    }\nLAB_0007dc6e:\n    piVar15 = (int *)pppuVar13;\n  } while (uVar10 != 0 || uVar7 != 0);" (do "do") (compound_statement "{\n    *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x3c);\n    *(undefined4 *)((int)piVar15 + -0x14) = 0x7dc3a;\n    iVar8 = FUN_0007d044();\n    piVar14 = (int *)((int)piVar15 + -4);\n    pppuVar13 = (undefined ***)((int)piVar15 + -4);\n    if (iVar8 != 1) {\n      *(undefined4 *)((int)piVar15 + -8) = 0x7dfbc;\n      FUN_0007d137();\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\nLAB_0007dfbc:\n      if (iVar8 == 0) goto LAB_0007dd81;\n      goto LAB_0007dd04;\n    }\n    uVar7 = __ptr[0x1a];\n    if (uVar7 == 1) {\n      puVar1 = __ptr + 0x1f;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x20] = __ptr[0x20] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      __ptr[0x1a] = 2;\nLAB_0007dc68:\n      uVar7 = __ptr[0x1d];\n      uVar10 = __ptr[0x1e];\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\n    }\n    else {\n      if (uVar7 == 0) {\n        uVar7 = __ptr[2];\n        uVar10 = __ptr[3];\n        __ptr[0x1d] = uVar7;\n        __ptr[0x1e] = uVar10;\n        if (__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7) {\n          __ptr[0x1a] = 1;\n          goto LAB_0007dc6e;\n        }\n        goto LAB_0007dcff;\n      }\n      if (uVar7 != 2) goto LAB_0007dc68;\n      puVar1 = __ptr + 0x21;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x22] = __ptr[0x22] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)(*(int *)((int)piVar15 + -4) + 0xcf8);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7df5c;\n      uVar7 = FUN_000a62f1();\n      __ptr[0x23] = ~uVar7;\n      uVar7 = __ptr[0x1d] - 1;\n      uVar10 = (__ptr[0x1e] - 1) + (uint)(__ptr[0x1d] != 0);\n      __ptr[0x1d] = uVar7;\n      __ptr[0x1e] = uVar10;\n      __ptr[0x1a] = 1;\n      pppuVar13 = (undefined ***)((int)piVar15 + -8);\n    }\nLAB_0007dc6e:\n    piVar15 = (int *)pppuVar13;\n  }" ({ "{") (expression_statement "*(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x3c);" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x3c)" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x10)" (( "(") (binary_expression "(int)piVar15 + -0x10" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)piVar15 + 0x3c)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x3c)" (( "(") (binary_expression "(int)piVar15 + 0x3c" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x3c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = 0x7dc3a;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = 0x7dc3a" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x14)" (( "(") (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x7dc3a")) (; ";")) (expression_statement "iVar8 = FUN_0007d044();" (assignment_expression "iVar8 = FUN_0007d044()" (identifier "iVar8") (= "=") (call_expression "FUN_0007d044()" (identifier "FUN_0007d044") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "piVar14 = (int *)((int)piVar15 + -4);" (assignment_expression "piVar14 = (int *)((int)piVar15 + -4)" (identifier "piVar14") (= "=") (cast_expression "(int *)((int)piVar15 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -4)" (( "(") (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-4")) () ")")))) (; ";")) (expression_statement "pppuVar13 = (undefined ***)((int)piVar15 + -4);" (assignment_expression "pppuVar13 = (undefined ***)((int)piVar15 + -4)" (identifier "pppuVar13") (= "=") (cast_expression "(undefined ***)((int)piVar15 + -4)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)piVar15 + -4)" (( "(") (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-4")) () ")")))) (; ";")) (if_statement "if (iVar8 != 1) {\n      *(undefined4 *)((int)piVar15 + -8) = 0x7dfbc;\n      FUN_0007d137();\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\nLAB_0007dfbc:\n      if (iVar8 == 0) goto LAB_0007dd81;\n      goto LAB_0007dd04;\n    }" (if "if") (parenthesized_expression "(iVar8 != 1)" (( "(") (binary_expression "iVar8 != 1" (identifier "iVar8") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n      *(undefined4 *)((int)piVar15 + -8) = 0x7dfbc;\n      FUN_0007d137();\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\nLAB_0007dfbc:\n      if (iVar8 == 0) goto LAB_0007dd81;\n      goto LAB_0007dd04;\n    }" ({ "{") (expression_statement "*(undefined4 *)((int)piVar15 + -8) = 0x7dfbc;" (assignment_expression "*(undefined4 *)((int)piVar15 + -8) = 0x7dfbc" (pointer_expression "*(undefined4 *)((int)piVar15 + -8)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -8)" (( "(") (binary_expression "(int)piVar15 + -8" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x7dfbc")) (; ";")) (expression_statement "FUN_0007d137();" (call_expression "FUN_0007d137()" (identifier "FUN_0007d137") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pppuVar13 = (undefined ***)((int)piVar15 + -4);" (assignment_expression "pppuVar13 = (undefined ***)((int)piVar15 + -4)" (identifier "pppuVar13") (= "=") (cast_expression "(undefined ***)((int)piVar15 + -4)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)piVar15 + -4)" (( "(") (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-4")) () ")")))) (; ";")) (labeled_statement "LAB_0007dfbc:\n      if (iVar8 == 0) goto LAB_0007dd81;" (statement_identifier "LAB_0007dfbc") (: ":") (if_statement "if (iVar8 == 0) goto LAB_0007dd81;" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0007dd81;" (goto "goto") (statement_identifier "LAB_0007dd81") (; ";")))) (goto_statement "goto LAB_0007dd04;" (goto "goto") (statement_identifier "LAB_0007dd04") (; ";")) (} "}"))) (expression_statement "uVar7 = __ptr[0x1a];" (assignment_expression "uVar7 = __ptr[0x1a]" (identifier "uVar7") (= "=") (subscript_expression "__ptr[0x1a]" (identifier "__ptr") ([ "[") (number_literal "0x1a") (] "]"))) (; ";")) (if_statement "if (uVar7 == 1) {\n      puVar1 = __ptr + 0x1f;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x20] = __ptr[0x20] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      __ptr[0x1a] = 2;\nLAB_0007dc68:\n      uVar7 = __ptr[0x1d];\n      uVar10 = __ptr[0x1e];\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\n    }\n    else {\n      if (uVar7 == 0) {\n        uVar7 = __ptr[2];\n        uVar10 = __ptr[3];\n        __ptr[0x1d] = uVar7;\n        __ptr[0x1e] = uVar10;\n        if (__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7) {\n          __ptr[0x1a] = 1;\n          goto LAB_0007dc6e;\n        }\n        goto LAB_0007dcff;\n      }\n      if (uVar7 != 2) goto LAB_0007dc68;\n      puVar1 = __ptr + 0x21;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x22] = __ptr[0x22] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)(*(int *)((int)piVar15 + -4) + 0xcf8);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7df5c;\n      uVar7 = FUN_000a62f1();\n      __ptr[0x23] = ~uVar7;\n      uVar7 = __ptr[0x1d] - 1;\n      uVar10 = (__ptr[0x1e] - 1) + (uint)(__ptr[0x1d] != 0);\n      __ptr[0x1d] = uVar7;\n      __ptr[0x1e] = uVar10;\n      __ptr[0x1a] = 1;\n      pppuVar13 = (undefined ***)((int)piVar15 + -8);\n    }" (if "if") (parenthesized_expression "(uVar7 == 1)" (( "(") (binary_expression "uVar7 == 1" (identifier "uVar7") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n      puVar1 = __ptr + 0x1f;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x20] = __ptr[0x20] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      __ptr[0x1a] = 2;\nLAB_0007dc68:\n      uVar7 = __ptr[0x1d];\n      uVar10 = __ptr[0x1e];\n      pppuVar13 = (undefined ***)((int)piVar15 + -4);\n    }" ({ "{") (expression_statement "puVar1 = __ptr + 0x1f;" (assignment_expression "puVar1 = __ptr + 0x1f" (identifier "puVar1") (= "=") (binary_expression "__ptr + 0x1f" (identifier "__ptr") (+ "+") (number_literal "0x1f"))) (; ";")) (expression_statement "uVar7 = *puVar1;" (assignment_expression "uVar7 = *puVar1" (identifier "uVar7") (= "=") (pointer_expression "*puVar1" (* "*") (identifier "puVar1"))) (; ";")) (expression_statement "*puVar1 = *puVar1 + __ptr[2];" (assignment_expression "*puVar1 = *puVar1 + __ptr[2]" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (binary_expression "*puVar1 + __ptr[2]" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (+ "+") (subscript_expression "__ptr[2]" (identifier "__ptr") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "__ptr[0x20] = __ptr[0x20] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);" (assignment_expression "__ptr[0x20] = __ptr[0x20] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2])" (subscript_expression "__ptr[0x20]" (identifier "__ptr") ([ "[") (number_literal "0x20") (] "]")) (= "=") (binary_expression "__ptr[0x20] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2])" (binary_expression "__ptr[0x20] + __ptr[3]" (subscript_expression "__ptr[0x20]" (identifier "__ptr") ([ "[") (number_literal "0x20") (] "]")) (+ "+") (subscript_expression "__ptr[3]" (identifier "__ptr") ([ "[") (number_literal "3") (] "]"))) (+ "+") (cast_expression "(uint)CARRY4(uVar7,__ptr[2])" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar7,__ptr[2])" (identifier "CARRY4") (argument_list "(uVar7,__ptr[2])" (( "(") (identifier "uVar7") (, ",") (subscript_expression "__ptr[2]" (identifier "__ptr") ([ "[") (number_literal "2") (] "]")) () ")")))))) (; ";")) (expression_statement "__ptr[0x1a] = 2;" (assignment_expression "__ptr[0x1a] = 2" (subscript_expression "__ptr[0x1a]" (identifier "__ptr") ([ "[") (number_literal "0x1a") (] "]")) (= "=") (number_literal "2")) (; ";")) (labeled_statement "LAB_0007dc68:\n      uVar7 = __ptr[0x1d];" (statement_identifier "LAB_0007dc68") (: ":") (expression_statement "uVar7 = __ptr[0x1d];" (assignment_expression "uVar7 = __ptr[0x1d]" (identifier "uVar7") (= "=") (subscript_expression "__ptr[0x1d]" (identifier "__ptr") ([ "[") (number_literal "0x1d") (] "]"))) (; ";"))) (expression_statement "uVar10 = __ptr[0x1e];" (assignment_expression "uVar10 = __ptr[0x1e]" (identifier "uVar10") (= "=") (subscript_expression "__ptr[0x1e]" (identifier "__ptr") ([ "[") (number_literal "0x1e") (] "]"))) (; ";")) (expression_statement "pppuVar13 = (undefined ***)((int)piVar15 + -4);" (assignment_expression "pppuVar13 = (undefined ***)((int)piVar15 + -4)" (identifier "pppuVar13") (= "=") (cast_expression "(undefined ***)((int)piVar15 + -4)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)piVar15 + -4)" (( "(") (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-4")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n      if (uVar7 == 0) {\n        uVar7 = __ptr[2];\n        uVar10 = __ptr[3];\n        __ptr[0x1d] = uVar7;\n        __ptr[0x1e] = uVar10;\n        if (__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7) {\n          __ptr[0x1a] = 1;\n          goto LAB_0007dc6e;\n        }\n        goto LAB_0007dcff;\n      }\n      if (uVar7 != 2) goto LAB_0007dc68;\n      puVar1 = __ptr + 0x21;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x22] = __ptr[0x22] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)(*(int *)((int)piVar15 + -4) + 0xcf8);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7df5c;\n      uVar7 = FUN_000a62f1();\n      __ptr[0x23] = ~uVar7;\n      uVar7 = __ptr[0x1d] - 1;\n      uVar10 = (__ptr[0x1e] - 1) + (uint)(__ptr[0x1d] != 0);\n      __ptr[0x1d] = uVar7;\n      __ptr[0x1e] = uVar10;\n      __ptr[0x1a] = 1;\n      pppuVar13 = (undefined ***)((int)piVar15 + -8);\n    }" (else "else") (compound_statement "{\n      if (uVar7 == 0) {\n        uVar7 = __ptr[2];\n        uVar10 = __ptr[3];\n        __ptr[0x1d] = uVar7;\n        __ptr[0x1e] = uVar10;\n        if (__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7) {\n          __ptr[0x1a] = 1;\n          goto LAB_0007dc6e;\n        }\n        goto LAB_0007dcff;\n      }\n      if (uVar7 != 2) goto LAB_0007dc68;\n      puVar1 = __ptr + 0x21;\n      uVar7 = *puVar1;\n      *puVar1 = *puVar1 + __ptr[2];\n      __ptr[0x22] = __ptr[0x22] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);\n      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)(*(int *)((int)piVar15 + -4) + 0xcf8);\n      *(undefined4 *)((int)piVar15 + -0x18) = 0x7df5c;\n      uVar7 = FUN_000a62f1();\n      __ptr[0x23] = ~uVar7;\n      uVar7 = __ptr[0x1d] - 1;\n      uVar10 = (__ptr[0x1e] - 1) + (uint)(__ptr[0x1d] != 0);\n      __ptr[0x1d] = uVar7;\n      __ptr[0x1e] = uVar10;\n      __ptr[0x1a] = 1;\n      pppuVar13 = (undefined ***)((int)piVar15 + -8);\n    }" ({ "{") (if_statement "if (uVar7 == 0) {\n        uVar7 = __ptr[2];\n        uVar10 = __ptr[3];\n        __ptr[0x1d] = uVar7;\n        __ptr[0x1e] = uVar10;\n        if (__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7) {\n          __ptr[0x1a] = 1;\n          goto LAB_0007dc6e;\n        }\n        goto LAB_0007dcff;\n      }" (if "if") (parenthesized_expression "(uVar7 == 0)" (( "(") (binary_expression "uVar7 == 0" (identifier "uVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar7 = __ptr[2];\n        uVar10 = __ptr[3];\n        __ptr[0x1d] = uVar7;\n        __ptr[0x1e] = uVar10;\n        if (__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7) {\n          __ptr[0x1a] = 1;\n          goto LAB_0007dc6e;\n        }\n        goto LAB_0007dcff;\n      }" ({ "{") (expression_statement "uVar7 = __ptr[2];" (assignment_expression "uVar7 = __ptr[2]" (identifier "uVar7") (= "=") (subscript_expression "__ptr[2]" (identifier "__ptr") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar10 = __ptr[3];" (assignment_expression "uVar10 = __ptr[3]" (identifier "uVar10") (= "=") (subscript_expression "__ptr[3]" (identifier "__ptr") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "__ptr[0x1d] = uVar7;" (assignment_expression "__ptr[0x1d] = uVar7" (subscript_expression "__ptr[0x1d]" (identifier "__ptr") ([ "[") (number_literal "0x1d") (] "]")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "__ptr[0x1e] = uVar10;" (assignment_expression "__ptr[0x1e] = uVar10" (subscript_expression "__ptr[0x1e]" (identifier "__ptr") ([ "[") (number_literal "0x1e") (] "]")) (= "=") (identifier "uVar10")) (; ";")) (if_statement "if (__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7) {\n          __ptr[0x1a] = 1;\n          goto LAB_0007dc6e;\n        }" (if "if") (parenthesized_expression "(__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7)" (( "(") (binary_expression "__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7" (binary_expression "__ptr[0x14] == uVar10" (subscript_expression "__ptr[0x14]" (identifier "__ptr") ([ "[") (number_literal "0x14") (] "]")) (== "==") (identifier "uVar10")) (&& "&&") (binary_expression "__ptr[0x13] == uVar7" (subscript_expression "__ptr[0x13]" (identifier "__ptr") ([ "[") (number_literal "0x13") (] "]")) (== "==") (identifier "uVar7"))) () ")")) (compound_statement "{\n          __ptr[0x1a] = 1;\n          goto LAB_0007dc6e;\n        }" ({ "{") (expression_statement "__ptr[0x1a] = 1;" (assignment_expression "__ptr[0x1a] = 1" (subscript_expression "__ptr[0x1a]" (identifier "__ptr") ([ "[") (number_literal "0x1a") (] "]")) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_0007dc6e;" (goto "goto") (statement_identifier "LAB_0007dc6e") (; ";")) (} "}"))) (goto_statement "goto LAB_0007dcff;" (goto "goto") (statement_identifier "LAB_0007dcff") (; ";")) (} "}"))) (if_statement "if (uVar7 != 2) goto LAB_0007dc68;" (if "if") (parenthesized_expression "(uVar7 != 2)" (( "(") (binary_expression "uVar7 != 2" (identifier "uVar7") (!= "!=") (number_literal "2")) () ")")) (goto_statement "goto LAB_0007dc68;" (goto "goto") (statement_identifier "LAB_0007dc68") (; ";"))) (expression_statement "puVar1 = __ptr + 0x21;" (assignment_expression "puVar1 = __ptr + 0x21" (identifier "puVar1") (= "=") (binary_expression "__ptr + 0x21" (identifier "__ptr") (+ "+") (number_literal "0x21"))) (; ";")) (expression_statement "uVar7 = *puVar1;" (assignment_expression "uVar7 = *puVar1" (identifier "uVar7") (= "=") (pointer_expression "*puVar1" (* "*") (identifier "puVar1"))) (; ";")) (expression_statement "*puVar1 = *puVar1 + __ptr[2];" (assignment_expression "*puVar1 = *puVar1 + __ptr[2]" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (binary_expression "*puVar1 + __ptr[2]" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (+ "+") (subscript_expression "__ptr[2]" (identifier "__ptr") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "__ptr[0x22] = __ptr[0x22] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);" (assignment_expression "__ptr[0x22] = __ptr[0x22] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2])" (subscript_expression "__ptr[0x22]" (identifier "__ptr") ([ "[") (number_literal "0x22") (] "]")) (= "=") (binary_expression "__ptr[0x22] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2])" (binary_expression "__ptr[0x22] + __ptr[3]" (subscript_expression "__ptr[0x22]" (identifier "__ptr") ([ "[") (number_literal "0x22") (] "]")) (+ "+") (subscript_expression "__ptr[3]" (identifier "__ptr") ([ "[") (number_literal "3") (] "]"))) (+ "+") (cast_expression "(uint)CARRY4(uVar7,__ptr[2])" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar7,__ptr[2])" (identifier "CARRY4") (argument_list "(uVar7,__ptr[2])" (( "(") (identifier "uVar7") (, ",") (subscript_expression "__ptr[2]" (identifier "__ptr") ([ "[") (number_literal "2") (] "]")) () ")")))))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)(*(int *)((int)piVar15 + -4) + 0xcf8);" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)(*(int *)((int)piVar15 + -4) + 0xcf8)" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x14)" (( "(") (binary_expression "(int)piVar15 + -0x14" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(*(int *)((int)piVar15 + -4) + 0xcf8)" (* "*") (cast_expression "(undefined4 *)(*(int *)((int)piVar15 + -4) + 0xcf8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)((int)piVar15 + -4) + 0xcf8)" (( "(") (binary_expression "*(int *)((int)piVar15 + -4) + 0xcf8" (pointer_expression "*(int *)((int)piVar15 + -4)" (* "*") (cast_expression "(int *)((int)piVar15 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -4)" (( "(") (binary_expression "(int)piVar15 + -4" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-4")) () ")")))) (+ "+") (number_literal "0xcf8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)piVar15 + -0x18) = 0x7df5c;" (assignment_expression "*(undefined4 *)((int)piVar15 + -0x18) = 0x7df5c" (pointer_expression "*(undefined4 *)((int)piVar15 + -0x18)" (* "*") (cast_expression "(undefined4 *)((int)piVar15 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + -0x18)" (( "(") (binary_expression "(int)piVar15 + -0x18" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x7df5c")) (; ";")) (expression_statement "uVar7 = FUN_000a62f1();" (assignment_expression "uVar7 = FUN_000a62f1()" (identifier "uVar7") (= "=") (call_expression "FUN_000a62f1()" (identifier "FUN_000a62f1") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "__ptr[0x23] = ~uVar7;" (assignment_expression "__ptr[0x23] = ~uVar7" (subscript_expression "__ptr[0x23]" (identifier "__ptr") ([ "[") (number_literal "0x23") (] "]")) (= "=") (unary_expression "~uVar7" (~ "~") (identifier "uVar7"))) (; ";")) (expression_statement "uVar7 = __ptr[0x1d] - 1;" (assignment_expression "uVar7 = __ptr[0x1d] - 1" (identifier "uVar7") (= "=") (binary_expression "__ptr[0x1d] - 1" (subscript_expression "__ptr[0x1d]" (identifier "__ptr") ([ "[") (number_literal "0x1d") (] "]")) (- "-") (number_literal "1"))) (; ";")) (expression_statement "uVar10 = (__ptr[0x1e] - 1) + (uint)(__ptr[0x1d] != 0);" (assignment_expression "uVar10 = (__ptr[0x1e] - 1) + (uint)(__ptr[0x1d] != 0)" (identifier "uVar10") (= "=") (binary_expression "(__ptr[0x1e] - 1) + (uint)(__ptr[0x1d] != 0)" (parenthesized_expression "(__ptr[0x1e] - 1)" (( "(") (binary_expression "__ptr[0x1e] - 1" (subscript_expression "__ptr[0x1e]" (identifier "__ptr") ([ "[") (number_literal "0x1e") (] "]")) (- "-") (number_literal "1")) () ")")) (+ "+") (call_expression "(uint)(__ptr[0x1d] != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(__ptr[0x1d] != 0)" (( "(") (binary_expression "__ptr[0x1d] != 0" (subscript_expression "__ptr[0x1d]" (identifier "__ptr") ([ "[") (number_literal "0x1d") (] "]")) (!= "!=") (number_literal "0")) () ")"))))) (; ";")) (expression_statement "__ptr[0x1d] = uVar7;" (assignment_expression "__ptr[0x1d] = uVar7" (subscript_expression "__ptr[0x1d]" (identifier "__ptr") ([ "[") (number_literal "0x1d") (] "]")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "__ptr[0x1e] = uVar10;" (assignment_expression "__ptr[0x1e] = uVar10" (subscript_expression "__ptr[0x1e]" (identifier "__ptr") ([ "[") (number_literal "0x1e") (] "]")) (= "=") (identifier "uVar10")) (; ";")) (expression_statement "__ptr[0x1a] = 1;" (assignment_expression "__ptr[0x1a] = 1" (subscript_expression "__ptr[0x1a]" (identifier "__ptr") ([ "[") (number_literal "0x1a") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "pppuVar13 = (undefined ***)((int)piVar15 + -8);" (assignment_expression "pppuVar13 = (undefined ***)((int)piVar15 + -8)" (identifier "pppuVar13") (= "=") (cast_expression "(undefined ***)((int)piVar15 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)piVar15 + -8)" (( "(") (binary_expression "(int)piVar15 + -8" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "-8")) () ")")))) (; ";")) (} "}")))) (labeled_statement "LAB_0007dc6e:\n    piVar15 = (int *)pppuVar13;" (statement_identifier "LAB_0007dc6e") (: ":") (expression_statement "piVar15 = (int *)pppuVar13;" (assignment_expression "piVar15 = (int *)pppuVar13" (identifier "piVar15") (= "=") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13"))) (; ";"))) (} "}")) (while "while") (parenthesized_expression "(uVar10 != 0 || uVar7 != 0)" (( "(") (binary_expression "uVar10 != 0 || uVar7 != 0" (binary_expression "uVar10 != 0" (identifier "uVar10") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "uVar7 != 0" (identifier "uVar7") (!= "!=") (number_literal "0"))) () ")")) (; ";")) (expression_statement "*__ptr = 7;" (assignment_expression "*__ptr = 7" (pointer_expression "*__ptr" (* "*") (identifier "__ptr")) (= "=") (number_literal "7")) (; ";")) (labeled_statement "switchD_0007dbdb_caseD_7dc7d:\n  uVar7 = __ptr[0x1b];" (statement_identifier "switchD_0007dbdb_caseD_7dc7d") (: ":") (expression_statement "uVar7 = __ptr[0x1b];" (assignment_expression "uVar7 = __ptr[0x1b]" (identifier "uVar7") (= "=") (subscript_expression "__ptr[0x1b]" (identifier "__ptr") ([ "[") (number_literal "0x1b") (] "]"))) (; ";"))) (expression_statement "iVar8 = *(int *)((int)pppuVar13 + 0x38) + 1;" (assignment_expression "iVar8 = *(int *)((int)pppuVar13 + 0x38) + 1" (identifier "iVar8") (= "=") (binary_expression "*(int *)((int)pppuVar13 + 0x38) + 1" (pointer_expression "*(int *)((int)pppuVar13 + 0x38)" (* "*") (cast_expression "(int *)((int)pppuVar13 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + 0x38)" (( "(") (binary_expression "(int)pppuVar13 + 0x38" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar10 = __ptr[4];" (assignment_expression "uVar10 = __ptr[4]" (identifier "uVar10") (= "=") (subscript_expression "__ptr[4]" (identifier "__ptr") ([ "[") (number_literal "4") (] "]"))) (; ";")) (labeled_statement "LAB_0007dc95:\n  if ((~uVar10 + iVar8 + uVar7 & 3) == 0) {\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dcae;\n    uVar6 = FUN_0007d137();\n    *(undefined4 *)((int)pppuVar13 + -4) = uVar6;\n    *(undefined4 *)((int)pppuVar13 + -8) = 0x14;\n    *(uint **)((int)pppuVar13 + -0xc) = __ptr + 0x1f;\n    *(uint **)((int)pppuVar13 + -0x10) = __ptr + 0x15;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7dcc2;\n    iVar8 = memcmp(*(void **)((int)pppuVar13 + -0x10),*(void **)((int)pppuVar13 + -0xc),\n                   *(size_t *)((int)pppuVar13 + -8));\n    piVar15 = (int *)pppuVar13;\n    if (iVar8 != 0) goto LAB_0007ddc4;\n    *__ptr = 8;\nswitchD_0007dbdb_caseD_7dcd4:\n    uVar10 = *(uint *)((int)pppuVar13 + 0x3c);\n    iVar8 = *(int *)((int)pppuVar13 + 0x34);\n    uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n    while (uVar10 != uVar7) {\n      uVar9 = __ptr[1];\n      uVar18 = __ptr[6];\n      uVar7 = uVar7 + 1;\n      *(uint *)((int)pppuVar13 + 0x38) = uVar7;\n      piVar14 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f))) {\nLAB_0007dcff:\n        iVar8 = 7;\n        pppuVar13 = (undefined ***)piVar14;\nLAB_0007dd04:\n        *(undefined1 *)(__ptr + 9) = 0;\n        iVar5 = *(int *)((int)pppuVar13 + 0x44);\n        goto joined_r0x0007dd0e;\n      }\n      uVar9 = uVar9 + 8;\n      __ptr[1] = uVar9;\n      if (0x1f < uVar9) {\n        __ptr[6] = 0;\n        __ptr[1] = 0;\n        __ptr[0x25] = 0xc;\n        *__ptr = 9;\nswitchD_0007dbdb_caseD_7dd72:\n        piVar14[-1] = 0x7dd7d;\n        cVar3 = FUN_0007d93a();\n        pppuVar13 = (undefined ***)piVar14;\n        if (cVar3 == '\0') {\nLAB_0007dd81:\n          uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n          break;\n        }\n        piVar15 = piVar14;\n        if (*(short *)((int)__ptr + 0xa2) == 0x5a59) {\n          piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n          piVar14[-5] = 0x7de00;\n          uVar7 = FUN_000a62f1();\n          piVar12 = piVar14 + -1;\n          pppuVar13 = (undefined ***)(piVar14 + -1);\n          piVar15 = piVar14 + -1;\n          if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;\n          iVar8 = piVar14[0x10];\n          if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }\n          *(undefined1 *)(__ptr + 9) = 0;\n          if (iVar8 != 0) {\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }\n          goto LAB_0007de8b;\n        }\nLAB_0007ddc4:\n        pppuVar13 = (undefined ***)piVar15;\n        *(undefined1 *)(__ptr + 9) = 0;\n        if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n        iVar8 = 7;\n        goto LAB_0007de61;\n      }\n    }\n  }\n  else {\n    if (*(int *)((int)pppuVar13 + 0x3c) + 1 != iVar8) goto LAB_0007deec;\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dee3;\n    FUN_0007d137();\n    uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n  }" (statement_identifier "LAB_0007dc95") (: ":") (if_statement "if ((~uVar10 + iVar8 + uVar7 & 3) == 0) {\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dcae;\n    uVar6 = FUN_0007d137();\n    *(undefined4 *)((int)pppuVar13 + -4) = uVar6;\n    *(undefined4 *)((int)pppuVar13 + -8) = 0x14;\n    *(uint **)((int)pppuVar13 + -0xc) = __ptr + 0x1f;\n    *(uint **)((int)pppuVar13 + -0x10) = __ptr + 0x15;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7dcc2;\n    iVar8 = memcmp(*(void **)((int)pppuVar13 + -0x10),*(void **)((int)pppuVar13 + -0xc),\n                   *(size_t *)((int)pppuVar13 + -8));\n    piVar15 = (int *)pppuVar13;\n    if (iVar8 != 0) goto LAB_0007ddc4;\n    *__ptr = 8;\nswitchD_0007dbdb_caseD_7dcd4:\n    uVar10 = *(uint *)((int)pppuVar13 + 0x3c);\n    iVar8 = *(int *)((int)pppuVar13 + 0x34);\n    uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n    while (uVar10 != uVar7) {\n      uVar9 = __ptr[1];\n      uVar18 = __ptr[6];\n      uVar7 = uVar7 + 1;\n      *(uint *)((int)pppuVar13 + 0x38) = uVar7;\n      piVar14 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f))) {\nLAB_0007dcff:\n        iVar8 = 7;\n        pppuVar13 = (undefined ***)piVar14;\nLAB_0007dd04:\n        *(undefined1 *)(__ptr + 9) = 0;\n        iVar5 = *(int *)((int)pppuVar13 + 0x44);\n        goto joined_r0x0007dd0e;\n      }\n      uVar9 = uVar9 + 8;\n      __ptr[1] = uVar9;\n      if (0x1f < uVar9) {\n        __ptr[6] = 0;\n        __ptr[1] = 0;\n        __ptr[0x25] = 0xc;\n        *__ptr = 9;\nswitchD_0007dbdb_caseD_7dd72:\n        piVar14[-1] = 0x7dd7d;\n        cVar3 = FUN_0007d93a();\n        pppuVar13 = (undefined ***)piVar14;\n        if (cVar3 == '\0') {\nLAB_0007dd81:\n          uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n          break;\n        }\n        piVar15 = piVar14;\n        if (*(short *)((int)__ptr + 0xa2) == 0x5a59) {\n          piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n          piVar14[-5] = 0x7de00;\n          uVar7 = FUN_000a62f1();\n          piVar12 = piVar14 + -1;\n          pppuVar13 = (undefined ***)(piVar14 + -1);\n          piVar15 = piVar14 + -1;\n          if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;\n          iVar8 = piVar14[0x10];\n          if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }\n          *(undefined1 *)(__ptr + 9) = 0;\n          if (iVar8 != 0) {\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }\n          goto LAB_0007de8b;\n        }\nLAB_0007ddc4:\n        pppuVar13 = (undefined ***)piVar15;\n        *(undefined1 *)(__ptr + 9) = 0;\n        if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n        iVar8 = 7;\n        goto LAB_0007de61;\n      }\n    }\n  }\n  else {\n    if (*(int *)((int)pppuVar13 + 0x3c) + 1 != iVar8) goto LAB_0007deec;\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dee3;\n    FUN_0007d137();\n    uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n  }" (if "if") (parenthesized_expression "((~uVar10 + iVar8 + uVar7 & 3) == 0)" (( "(") (binary_expression "(~uVar10 + iVar8 + uVar7 & 3) == 0" (parenthesized_expression "(~uVar10 + iVar8 + uVar7 & 3)" (( "(") (binary_expression "~uVar10 + iVar8 + uVar7 & 3" (binary_expression "~uVar10 + iVar8 + uVar7" (binary_expression "~uVar10 + iVar8" (unary_expression "~uVar10" (~ "~") (identifier "uVar10")) (+ "+") (identifier "iVar8")) (+ "+") (identifier "uVar7")) (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dcae;\n    uVar6 = FUN_0007d137();\n    *(undefined4 *)((int)pppuVar13 + -4) = uVar6;\n    *(undefined4 *)((int)pppuVar13 + -8) = 0x14;\n    *(uint **)((int)pppuVar13 + -0xc) = __ptr + 0x1f;\n    *(uint **)((int)pppuVar13 + -0x10) = __ptr + 0x15;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7dcc2;\n    iVar8 = memcmp(*(void **)((int)pppuVar13 + -0x10),*(void **)((int)pppuVar13 + -0xc),\n                   *(size_t *)((int)pppuVar13 + -8));\n    piVar15 = (int *)pppuVar13;\n    if (iVar8 != 0) goto LAB_0007ddc4;\n    *__ptr = 8;\nswitchD_0007dbdb_caseD_7dcd4:\n    uVar10 = *(uint *)((int)pppuVar13 + 0x3c);\n    iVar8 = *(int *)((int)pppuVar13 + 0x34);\n    uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n    while (uVar10 != uVar7) {\n      uVar9 = __ptr[1];\n      uVar18 = __ptr[6];\n      uVar7 = uVar7 + 1;\n      *(uint *)((int)pppuVar13 + 0x38) = uVar7;\n      piVar14 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f))) {\nLAB_0007dcff:\n        iVar8 = 7;\n        pppuVar13 = (undefined ***)piVar14;\nLAB_0007dd04:\n        *(undefined1 *)(__ptr + 9) = 0;\n        iVar5 = *(int *)((int)pppuVar13 + 0x44);\n        goto joined_r0x0007dd0e;\n      }\n      uVar9 = uVar9 + 8;\n      __ptr[1] = uVar9;\n      if (0x1f < uVar9) {\n        __ptr[6] = 0;\n        __ptr[1] = 0;\n        __ptr[0x25] = 0xc;\n        *__ptr = 9;\nswitchD_0007dbdb_caseD_7dd72:\n        piVar14[-1] = 0x7dd7d;\n        cVar3 = FUN_0007d93a();\n        pppuVar13 = (undefined ***)piVar14;\n        if (cVar3 == '\0') {\nLAB_0007dd81:\n          uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n          break;\n        }\n        piVar15 = piVar14;\n        if (*(short *)((int)__ptr + 0xa2) == 0x5a59) {\n          piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n          piVar14[-5] = 0x7de00;\n          uVar7 = FUN_000a62f1();\n          piVar12 = piVar14 + -1;\n          pppuVar13 = (undefined ***)(piVar14 + -1);\n          piVar15 = piVar14 + -1;\n          if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;\n          iVar8 = piVar14[0x10];\n          if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }\n          *(undefined1 *)(__ptr + 9) = 0;\n          if (iVar8 != 0) {\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }\n          goto LAB_0007de8b;\n        }\nLAB_0007ddc4:\n        pppuVar13 = (undefined ***)piVar15;\n        *(undefined1 *)(__ptr + 9) = 0;\n        if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n        iVar8 = 7;\n        goto LAB_0007de61;\n      }\n    }\n  }" ({ "{") (expression_statement "*(undefined4 *)((int)pppuVar13 + -4) = 0x7dcae;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -4) = 0x7dcae" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -4)" (* "*") (cast_expression "(undefined4 *)((int)pppuVar13 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + -4)" (( "(") (binary_expression "(int)pppuVar13 + -4" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x7dcae")) (; ";")) (expression_statement "uVar6 = FUN_0007d137();" (assignment_expression "uVar6 = FUN_0007d137()" (identifier "uVar6") (= "=") (call_expression "FUN_0007d137()" (identifier "FUN_0007d137") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)((int)pppuVar13 + -4) = uVar6;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -4) = uVar6" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -4)" (* "*") (cast_expression "(undefined4 *)((int)pppuVar13 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + -4)" (( "(") (binary_expression "(int)pppuVar13 + -4" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "*(undefined4 *)((int)pppuVar13 + -8) = 0x14;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -8) = 0x14" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -8)" (* "*") (cast_expression "(undefined4 *)((int)pppuVar13 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + -8)" (( "(") (binary_expression "(int)pppuVar13 + -8" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x14")) (; ";")) (expression_statement "*(uint **)((int)pppuVar13 + -0xc) = __ptr + 0x1f;" (assignment_expression "*(uint **)((int)pppuVar13 + -0xc) = __ptr + 0x1f" (pointer_expression "*(uint **)((int)pppuVar13 + -0xc)" (* "*") (cast_expression "(uint **)((int)pppuVar13 + -0xc)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pppuVar13 + -0xc)" (( "(") (binary_expression "(int)pppuVar13 + -0xc" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "__ptr + 0x1f" (identifier "__ptr") (+ "+") (number_literal "0x1f"))) (; ";")) (expression_statement "*(uint **)((int)pppuVar13 + -0x10) = __ptr + 0x15;" (assignment_expression "*(uint **)((int)pppuVar13 + -0x10) = __ptr + 0x15" (pointer_expression "*(uint **)((int)pppuVar13 + -0x10)" (* "*") (cast_expression "(uint **)((int)pppuVar13 + -0x10)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pppuVar13 + -0x10)" (( "(") (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "__ptr + 0x15" (identifier "__ptr") (+ "+") (number_literal "0x15"))) (; ";")) (expression_statement "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7dcc2;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7dcc2" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)pppuVar13 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + -0x14)" (( "(") (binary_expression "(int)pppuVar13 + -0x14" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x7dcc2")) (; ";")) (expression_statement "iVar8 = memcmp(*(void **)((int)pppuVar13 + -0x10),*(void **)((int)pppuVar13 + -0xc),\n                   *(size_t *)((int)pppuVar13 + -8));" (assignment_expression "iVar8 = memcmp(*(void **)((int)pppuVar13 + -0x10),*(void **)((int)pppuVar13 + -0xc),\n                   *(size_t *)((int)pppuVar13 + -8))" (identifier "iVar8") (= "=") (call_expression "memcmp(*(void **)((int)pppuVar13 + -0x10),*(void **)((int)pppuVar13 + -0xc),\n                   *(size_t *)((int)pppuVar13 + -8))" (identifier "memcmp") (argument_list "(*(void **)((int)pppuVar13 + -0x10),*(void **)((int)pppuVar13 + -0xc),\n                   *(size_t *)((int)pppuVar13 + -8))" (( "(") (pointer_expression "*(void **)((int)pppuVar13 + -0x10)" (* "*") (cast_expression "(void **)((int)pppuVar13 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pppuVar13 + -0x10)" (( "(") (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(void **)((int)pppuVar13 + -0xc)" (* "*") (cast_expression "(void **)((int)pppuVar13 + -0xc)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pppuVar13 + -0xc)" (( "(") (binary_expression "(int)pppuVar13 + -0xc" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-0xc")) () ")")))) (, ",") (pointer_expression "*(size_t *)((int)pppuVar13 + -8)" (* "*") (cast_expression "(size_t *)((int)pppuVar13 + -8)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + -8)" (( "(") (binary_expression "(int)pppuVar13 + -8" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-8")) () ")")))) () ")")))) (; ";")) (expression_statement "piVar15 = (int *)pppuVar13;" (assignment_expression "piVar15 = (int *)pppuVar13" (identifier "piVar15") (= "=") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13"))) (; ";")) (if_statement "if (iVar8 != 0) goto LAB_0007ddc4;" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0007ddc4;" (goto "goto") (statement_identifier "LAB_0007ddc4") (; ";"))) (expression_statement "*__ptr = 8;" (assignment_expression "*__ptr = 8" (pointer_expression "*__ptr" (* "*") (identifier "__ptr")) (= "=") (number_literal "8")) (; ";")) (labeled_statement "switchD_0007dbdb_caseD_7dcd4:\n    uVar10 = *(uint *)((int)pppuVar13 + 0x3c);" (statement_identifier "switchD_0007dbdb_caseD_7dcd4") (: ":") (expression_statement "uVar10 = *(uint *)((int)pppuVar13 + 0x3c);" (assignment_expression "uVar10 = *(uint *)((int)pppuVar13 + 0x3c)" (identifier "uVar10") (= "=") (pointer_expression "*(uint *)((int)pppuVar13 + 0x3c)" (* "*") (cast_expression "(uint *)((int)pppuVar13 + 0x3c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + 0x3c)" (( "(") (binary_expression "(int)pppuVar13 + 0x3c" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "0x3c")) () ")"))))) (; ";"))) (expression_statement "iVar8 = *(int *)((int)pppuVar13 + 0x34);" (assignment_expression "iVar8 = *(int *)((int)pppuVar13 + 0x34)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)((int)pppuVar13 + 0x34)" (* "*") (cast_expression "(int *)((int)pppuVar13 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + 0x34)" (( "(") (binary_expression "(int)pppuVar13 + 0x34" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "uVar7 = *(uint *)((int)pppuVar13 + 0x38);" (assignment_expression "uVar7 = *(uint *)((int)pppuVar13 + 0x38)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)((int)pppuVar13 + 0x38)" (* "*") (cast_expression "(uint *)((int)pppuVar13 + 0x38)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + 0x38)" (( "(") (binary_expression "(int)pppuVar13 + 0x38" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (while_statement "while (uVar10 != uVar7) {\n      uVar9 = __ptr[1];\n      uVar18 = __ptr[6];\n      uVar7 = uVar7 + 1;\n      *(uint *)((int)pppuVar13 + 0x38) = uVar7;\n      piVar14 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f))) {\nLAB_0007dcff:\n        iVar8 = 7;\n        pppuVar13 = (undefined ***)piVar14;\nLAB_0007dd04:\n        *(undefined1 *)(__ptr + 9) = 0;\n        iVar5 = *(int *)((int)pppuVar13 + 0x44);\n        goto joined_r0x0007dd0e;\n      }\n      uVar9 = uVar9 + 8;\n      __ptr[1] = uVar9;\n      if (0x1f < uVar9) {\n        __ptr[6] = 0;\n        __ptr[1] = 0;\n        __ptr[0x25] = 0xc;\n        *__ptr = 9;\nswitchD_0007dbdb_caseD_7dd72:\n        piVar14[-1] = 0x7dd7d;\n        cVar3 = FUN_0007d93a();\n        pppuVar13 = (undefined ***)piVar14;\n        if (cVar3 == '\0') {\nLAB_0007dd81:\n          uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n          break;\n        }\n        piVar15 = piVar14;\n        if (*(short *)((int)__ptr + 0xa2) == 0x5a59) {\n          piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n          piVar14[-5] = 0x7de00;\n          uVar7 = FUN_000a62f1();\n          piVar12 = piVar14 + -1;\n          pppuVar13 = (undefined ***)(piVar14 + -1);\n          piVar15 = piVar14 + -1;\n          if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;\n          iVar8 = piVar14[0x10];\n          if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }\n          *(undefined1 *)(__ptr + 9) = 0;\n          if (iVar8 != 0) {\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }\n          goto LAB_0007de8b;\n        }\nLAB_0007ddc4:\n        pppuVar13 = (undefined ***)piVar15;\n        *(undefined1 *)(__ptr + 9) = 0;\n        if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n        iVar8 = 7;\n        goto LAB_0007de61;\n      }\n    }" (while "while") (parenthesized_expression "(uVar10 != uVar7)" (( "(") (binary_expression "uVar10 != uVar7" (identifier "uVar10") (!= "!=") (identifier "uVar7")) () ")")) (compound_statement "{\n      uVar9 = __ptr[1];\n      uVar18 = __ptr[6];\n      uVar7 = uVar7 + 1;\n      *(uint *)((int)pppuVar13 + 0x38) = uVar7;\n      piVar14 = (int *)pppuVar13;\n      if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f))) {\nLAB_0007dcff:\n        iVar8 = 7;\n        pppuVar13 = (undefined ***)piVar14;\nLAB_0007dd04:\n        *(undefined1 *)(__ptr + 9) = 0;\n        iVar5 = *(int *)((int)pppuVar13 + 0x44);\n        goto joined_r0x0007dd0e;\n      }\n      uVar9 = uVar9 + 8;\n      __ptr[1] = uVar9;\n      if (0x1f < uVar9) {\n        __ptr[6] = 0;\n        __ptr[1] = 0;\n        __ptr[0x25] = 0xc;\n        *__ptr = 9;\nswitchD_0007dbdb_caseD_7dd72:\n        piVar14[-1] = 0x7dd7d;\n        cVar3 = FUN_0007d93a();\n        pppuVar13 = (undefined ***)piVar14;\n        if (cVar3 == '\0') {\nLAB_0007dd81:\n          uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n          break;\n        }\n        piVar15 = piVar14;\n        if (*(short *)((int)__ptr + 0xa2) == 0x5a59) {\n          piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n          piVar14[-5] = 0x7de00;\n          uVar7 = FUN_000a62f1();\n          piVar12 = piVar14 + -1;\n          pppuVar13 = (undefined ***)(piVar14 + -1);\n          piVar15 = piVar14 + -1;\n          if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;\n          iVar8 = piVar14[0x10];\n          if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }\n          *(undefined1 *)(__ptr + 9) = 0;\n          if (iVar8 != 0) {\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }\n          goto LAB_0007de8b;\n        }\nLAB_0007ddc4:\n        pppuVar13 = (undefined ***)piVar15;\n        *(undefined1 *)(__ptr + 9) = 0;\n        if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n        iVar8 = 7;\n        goto LAB_0007de61;\n      }\n    }" ({ "{") (expression_statement "uVar9 = __ptr[1];" (assignment_expression "uVar9 = __ptr[1]" (identifier "uVar9") (= "=") (subscript_expression "__ptr[1]" (identifier "__ptr") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar18 = __ptr[6];" (assignment_expression "uVar18 = __ptr[6]" (identifier "uVar18") (= "=") (subscript_expression "__ptr[6]" (identifier "__ptr") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "uVar7 = uVar7 + 1;" (assignment_expression "uVar7 = uVar7 + 1" (identifier "uVar7") (= "=") (binary_expression "uVar7 + 1" (identifier "uVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(uint *)((int)pppuVar13 + 0x38) = uVar7;" (assignment_expression "*(uint *)((int)pppuVar13 + 0x38) = uVar7" (pointer_expression "*(uint *)((int)pppuVar13 + 0x38)" (* "*") (cast_expression "(uint *)((int)pppuVar13 + 0x38)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + 0x38)" (( "(") (binary_expression "(int)pppuVar13 + 0x38" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "0x38")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "piVar14 = (int *)pppuVar13;" (assignment_expression "piVar14 = (int *)pppuVar13" (identifier "piVar14") (= "=") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13"))) (; ";")) (if_statement "if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f))) {\nLAB_0007dcff:\n        iVar8 = 7;\n        pppuVar13 = (undefined ***)piVar14;\nLAB_0007dd04:\n        *(undefined1 *)(__ptr + 9) = 0;\n        iVar5 = *(int *)((int)pppuVar13 + 0x44);\n        goto joined_r0x0007dd0e;\n      }" (if "if") (parenthesized_expression "(*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))" (( "(") (binary_expression "*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f))" (pointer_expression "*(char *)(iVar8 + -1 + uVar7)" (* "*") (cast_expression "(char *)(iVar8 + -1 + uVar7)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + -1 + uVar7)" (( "(") (binary_expression "iVar8 + -1 + uVar7" (binary_expression "iVar8 + -1" (identifier "iVar8") (+ "+") (number_literal "-1")) (+ "+") (identifier "uVar7")) () ")")))) (!= "!=") (cast_expression "(char)(uVar18 >> ((byte)uVar9 & 0x1f))" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "(uVar18 >> ((byte)uVar9 & 0x1f))" (( "(") (binary_expression "uVar18 >> ((byte)uVar9 & 0x1f)" (identifier "uVar18") (>> ">>") (parenthesized_expression "((byte)uVar9 & 0x1f)" (( "(") (binary_expression "(byte)uVar9 & 0x1f" (cast_expression "(byte)uVar9" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar9")) (& "&") (number_literal "0x1f")) () ")"))) () ")")))) () ")")) (compound_statement "{\nLAB_0007dcff:\n        iVar8 = 7;\n        pppuVar13 = (undefined ***)piVar14;\nLAB_0007dd04:\n        *(undefined1 *)(__ptr + 9) = 0;\n        iVar5 = *(int *)((int)pppuVar13 + 0x44);\n        goto joined_r0x0007dd0e;\n      }" ({ "{") (labeled_statement "LAB_0007dcff:\n        iVar8 = 7;" (statement_identifier "LAB_0007dcff") (: ":") (expression_statement "iVar8 = 7;" (assignment_expression "iVar8 = 7" (identifier "iVar8") (= "=") (number_literal "7")) (; ";"))) (expression_statement "pppuVar13 = (undefined ***)piVar14;" (assignment_expression "pppuVar13 = (undefined ***)piVar14" (identifier "pppuVar13") (= "=") (cast_expression "(undefined ***)piVar14" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "piVar14"))) (; ";")) (labeled_statement "LAB_0007dd04:\n        *(undefined1 *)(__ptr + 9) = 0;" (statement_identifier "LAB_0007dd04") (: ":") (expression_statement "*(undefined1 *)(__ptr + 9) = 0;" (assignment_expression "*(undefined1 *)(__ptr + 9) = 0" (pointer_expression "*(undefined1 *)(__ptr + 9)" (* "*") (cast_expression "(undefined1 *)(__ptr + 9)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(__ptr + 9)" (( "(") (binary_expression "__ptr + 9" (identifier "__ptr") (+ "+") (number_literal "9")) () ")")))) (= "=") (number_literal "0")) (; ";"))) (expression_statement "iVar5 = *(int *)((int)pppuVar13 + 0x44);" (assignment_expression "iVar5 = *(int *)((int)pppuVar13 + 0x44)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)((int)pppuVar13 + 0x44)" (* "*") (cast_expression "(int *)((int)pppuVar13 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + 0x44)" (( "(") (binary_expression "(int)pppuVar13 + 0x44" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "0x44")) () ")"))))) (; ";")) (goto_statement "goto joined_r0x0007dd0e;" (goto "goto") (statement_identifier "joined_r0x0007dd0e") (; ";")) (} "}"))) (expression_statement "uVar9 = uVar9 + 8;" (assignment_expression "uVar9 = uVar9 + 8" (identifier "uVar9") (= "=") (binary_expression "uVar9 + 8" (identifier "uVar9") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "__ptr[1] = uVar9;" (assignment_expression "__ptr[1] = uVar9" (subscript_expression "__ptr[1]" (identifier "__ptr") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar9")) (; ";")) (if_statement "if (0x1f < uVar9) {\n        __ptr[6] = 0;\n        __ptr[1] = 0;\n        __ptr[0x25] = 0xc;\n        *__ptr = 9;\nswitchD_0007dbdb_caseD_7dd72:\n        piVar14[-1] = 0x7dd7d;\n        cVar3 = FUN_0007d93a();\n        pppuVar13 = (undefined ***)piVar14;\n        if (cVar3 == '\0') {\nLAB_0007dd81:\n          uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n          break;\n        }\n        piVar15 = piVar14;\n        if (*(short *)((int)__ptr + 0xa2) == 0x5a59) {\n          piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n          piVar14[-5] = 0x7de00;\n          uVar7 = FUN_000a62f1();\n          piVar12 = piVar14 + -1;\n          pppuVar13 = (undefined ***)(piVar14 + -1);\n          piVar15 = piVar14 + -1;\n          if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;\n          iVar8 = piVar14[0x10];\n          if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }\n          *(undefined1 *)(__ptr + 9) = 0;\n          if (iVar8 != 0) {\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }\n          goto LAB_0007de8b;\n        }\nLAB_0007ddc4:\n        pppuVar13 = (undefined ***)piVar15;\n        *(undefined1 *)(__ptr + 9) = 0;\n        if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n        iVar8 = 7;\n        goto LAB_0007de61;\n      }" (if "if") (parenthesized_expression "(0x1f < uVar9)" (( "(") (binary_expression "0x1f < uVar9" (number_literal "0x1f") (< "<") (identifier "uVar9")) () ")")) (compound_statement "{\n        __ptr[6] = 0;\n        __ptr[1] = 0;\n        __ptr[0x25] = 0xc;\n        *__ptr = 9;\nswitchD_0007dbdb_caseD_7dd72:\n        piVar14[-1] = 0x7dd7d;\n        cVar3 = FUN_0007d93a();\n        pppuVar13 = (undefined ***)piVar14;\n        if (cVar3 == '\0') {\nLAB_0007dd81:\n          uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n          break;\n        }\n        piVar15 = piVar14;\n        if (*(short *)((int)__ptr + 0xa2) == 0x5a59) {\n          piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n          piVar14[-5] = 0x7de00;\n          uVar7 = FUN_000a62f1();\n          piVar12 = piVar14 + -1;\n          pppuVar13 = (undefined ***)(piVar14 + -1);\n          piVar15 = piVar14 + -1;\n          if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;\n          iVar8 = piVar14[0x10];\n          if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }\n          *(undefined1 *)(__ptr + 9) = 0;\n          if (iVar8 != 0) {\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }\n          goto LAB_0007de8b;\n        }\nLAB_0007ddc4:\n        pppuVar13 = (undefined ***)piVar15;\n        *(undefined1 *)(__ptr + 9) = 0;\n        if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;\n        iVar8 = 7;\n        goto LAB_0007de61;\n      }" ({ "{") (expression_statement "__ptr[6] = 0;" (assignment_expression "__ptr[6] = 0" (subscript_expression "__ptr[6]" (identifier "__ptr") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "__ptr[1] = 0;" (assignment_expression "__ptr[1] = 0" (subscript_expression "__ptr[1]" (identifier "__ptr") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "__ptr[0x25] = 0xc;" (assignment_expression "__ptr[0x25] = 0xc" (subscript_expression "__ptr[0x25]" (identifier "__ptr") ([ "[") (number_literal "0x25") (] "]")) (= "=") (number_literal "0xc")) (; ";")) (expression_statement "*__ptr = 9;" (assignment_expression "*__ptr = 9" (pointer_expression "*__ptr" (* "*") (identifier "__ptr")) (= "=") (number_literal "9")) (; ";")) (labeled_statement "switchD_0007dbdb_caseD_7dd72:\n        piVar14[-1] = 0x7dd7d;" (statement_identifier "switchD_0007dbdb_caseD_7dd72") (: ":") (expression_statement "piVar14[-1] = 0x7dd7d;" (assignment_expression "piVar14[-1] = 0x7dd7d" (subscript_expression "piVar14[-1]" (identifier "piVar14") ([ "[") (number_literal "-1") (] "]")) (= "=") (number_literal "0x7dd7d")) (; ";"))) (expression_statement "cVar3 = FUN_0007d93a();" (assignment_expression "cVar3 = FUN_0007d93a()" (identifier "cVar3") (= "=") (call_expression "FUN_0007d93a()" (identifier "FUN_0007d93a") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pppuVar13 = (undefined ***)piVar14;" (assignment_expression "pppuVar13 = (undefined ***)piVar14" (identifier "pppuVar13") (= "=") (cast_expression "(undefined ***)piVar14" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "piVar14"))) (; ";")) (if_statement "if (cVar3 == '\0') {\nLAB_0007dd81:\n          uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n          break;\n        }" (if "if") (parenthesized_expression "(cVar3 == '\0')" (( "(") (binary_expression "cVar3 == '\0'" (identifier "cVar3") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_0007dd81:\n          uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n          break;\n        }" ({ "{") (labeled_statement "LAB_0007dd81:\n          uVar7 = *(uint *)((int)pppuVar13 + 0x38);" (statement_identifier "LAB_0007dd81") (: ":") (expression_statement "uVar7 = *(uint *)((int)pppuVar13 + 0x38);" (assignment_expression "uVar7 = *(uint *)((int)pppuVar13 + 0x38)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)((int)pppuVar13 + 0x38)" (* "*") (cast_expression "(uint *)((int)pppuVar13 + 0x38)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + 0x38)" (( "(") (binary_expression "(int)pppuVar13 + 0x38" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "0x38")) () ")"))))) (; ";"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "piVar15 = piVar14;" (assignment_expression "piVar15 = piVar14" (identifier "piVar15") (= "=") (identifier "piVar14")) (; ";")) (if_statement "if (*(short *)((int)__ptr + 0xa2) == 0x5a59) {\n          piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n          piVar14[-5] = 0x7de00;\n          uVar7 = FUN_000a62f1();\n          piVar12 = piVar14 + -1;\n          pppuVar13 = (undefined ***)(piVar14 + -1);\n          piVar15 = piVar14 + -1;\n          if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;\n          iVar8 = piVar14[0x10];\n          if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }\n          *(undefined1 *)(__ptr + 9) = 0;\n          if (iVar8 != 0) {\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }\n          goto LAB_0007de8b;\n        }" (if "if") (parenthesized_expression "(*(short *)((int)__ptr + 0xa2) == 0x5a59)" (( "(") (binary_expression "*(short *)((int)__ptr + 0xa2) == 0x5a59" (pointer_expression "*(short *)((int)__ptr + 0xa2)" (* "*") (cast_expression "(short *)((int)__ptr + 0xa2)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__ptr + 0xa2)" (( "(") (binary_expression "(int)__ptr + 0xa2" (cast_expression "(int)__ptr" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__ptr")) (+ "+") (number_literal "0xa2")) () ")")))) (== "==") (number_literal "0x5a59")) () ")")) (compound_statement "{\n          piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);\n          piVar14[-5] = 0x7de00;\n          uVar7 = FUN_000a62f1();\n          piVar12 = piVar14 + -1;\n          pppuVar13 = (undefined ***)(piVar14 + -1);\n          piVar15 = piVar14 + -1;\n          if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;\n          iVar8 = piVar14[0x10];\n          if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }\n          *(undefined1 *)(__ptr + 9) = 0;\n          if (iVar8 != 0) {\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }\n          goto LAB_0007de8b;\n        }" ({ "{") (expression_statement "piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);" (assignment_expression "piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8)" (subscript_expression "piVar14[-4]" (identifier "piVar14") ([ "[") (number_literal "-4") (] "]")) (= "=") (pointer_expression "*(undefined4 *)(*piVar14 + 0xcf8)" (* "*") (cast_expression "(undefined4 *)(*piVar14 + 0xcf8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar14 + 0xcf8)" (( "(") (binary_expression "*piVar14 + 0xcf8" (pointer_expression "*piVar14" (* "*") (identifier "piVar14")) (+ "+") (number_literal "0xcf8")) () ")"))))) (; ";")) (expression_statement "piVar14[-5] = 0x7de00;" (assignment_expression "piVar14[-5] = 0x7de00" (subscript_expression "piVar14[-5]" (identifier "piVar14") ([ "[") (number_literal "-5") (] "]")) (= "=") (number_literal "0x7de00")) (; ";")) (expression_statement "uVar7 = FUN_000a62f1();" (assignment_expression "uVar7 = FUN_000a62f1()" (identifier "uVar7") (= "=") (call_expression "FUN_000a62f1()" (identifier "FUN_000a62f1") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "piVar12 = piVar14 + -1;" (assignment_expression "piVar12 = piVar14 + -1" (identifier "piVar12") (= "=") (binary_expression "piVar14 + -1" (identifier "piVar14") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "pppuVar13 = (undefined ***)(piVar14 + -1);" (assignment_expression "pppuVar13 = (undefined ***)(piVar14 + -1)" (identifier "pppuVar13") (= "=") (cast_expression "(undefined ***)(piVar14 + -1)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(piVar14 + -1)" (( "(") (binary_expression "piVar14 + -1" (identifier "piVar14") (+ "+") (number_literal "-1")) () ")")))) (; ";")) (expression_statement "piVar15 = piVar14 + -1;" (assignment_expression "piVar15 = piVar14 + -1" (identifier "piVar15") (= "=") (binary_expression "piVar14 + -1" (identifier "piVar14") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;" (if "if") (parenthesized_expression "(~uVar7 != __ptr[0x26])" (( "(") (binary_expression "~uVar7 != __ptr[0x26]" (unary_expression "~uVar7" (~ "~") (identifier "uVar7")) (!= "!=") (subscript_expression "__ptr[0x26]" (identifier "__ptr") ([ "[") (number_literal "0x26") (] "]"))) () ")")) (goto_statement "goto LAB_0007ddc4;" (goto "goto") (statement_identifier "LAB_0007ddc4") (; ";"))) (expression_statement "iVar8 = piVar14[0x10];" (assignment_expression "iVar8 = piVar14[0x10]" (identifier "iVar8") (= "=") (subscript_expression "piVar14[0x10]" (identifier "piVar14") ([ "[") (number_literal "0x10") (] "]"))) (; ";")) (if_statement "if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }" (if "if") (parenthesized_expression "(((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7]))" (( "(") (binary_expression "((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])" (parenthesized_expression "((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0'))" (( "(") (binary_expression "(__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||\n              ((char)__ptr[0x28] != '\0')" (parenthesized_expression "(__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e))" (( "(") (binary_expression "__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)" (binary_expression "__ptr[0x1c] >> 2 != 0" (binary_expression "__ptr[0x1c] >> 2" (subscript_expression "__ptr[0x1c]" (identifier "__ptr") ([ "[") (number_literal "0x1c") (] "]")) (>> ">>") (number_literal "2")) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "__ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)" (subscript_expression "__ptr[0x27]" (identifier "__ptr") ([ "[") (number_literal "0x27") (] "]")) (!= "!=") (parenthesized_expression "(__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)" (( "(") (binary_expression "__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e" (binary_expression "__ptr[0x1b] >> 2" (subscript_expression "__ptr[0x1b]" (identifier "__ptr") ([ "[") (number_literal "0x1b") (] "]")) (>> ">>") (number_literal "2")) (| "|") (binary_expression "__ptr[0x1c] << 0x1e" (subscript_expression "__ptr[0x1c]" (identifier "__ptr") ([ "[") (number_literal "0x1c") (] "]")) (<< "<<") (number_literal "0x1e"))) () ")")))) () ")")) (|| "||") (parenthesized_expression "((char)__ptr[0x28] != '\0')" (( "(") (binary_expression "(char)__ptr[0x28] != '\0'" (cast_expression "(char)__ptr[0x28]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "__ptr[0x28]" (identifier "__ptr") ([ "[") (number_literal "0x28") (] "]"))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])" (( "(") (binary_expression "(uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7]" (binary_expression "(uint)*(byte *)((int)__ptr + 0xa1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)((int)__ptr + 0xa1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__ptr + 0xa1)" (( "(") (binary_expression "(int)__ptr + 0xa1" (cast_expression "(int)__ptr" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__ptr")) (+ "+") (number_literal "0xa1")) () ")")))) (!= "!=") (subscript_expression "__ptr[7]" (identifier "__ptr") ([ "[") (number_literal "7") (] "]"))) () ")"))) () ")")) (compound_statement "{\n            *(undefined1 *)(__ptr + 9) = 0;\n            if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }\n            goto LAB_0007dd1d;\n          }" ({ "{") (expression_statement "*(undefined1 *)(__ptr + 9) = 0;" (assignment_expression "*(undefined1 *)(__ptr + 9) = 0" (pointer_expression "*(undefined1 *)(__ptr + 9)" (* "*") (cast_expression "(undefined1 *)(__ptr + 9)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(__ptr + 9)" (( "(") (binary_expression "__ptr + 9" (identifier "__ptr") (+ "+") (number_literal "9")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar8 != 0) {\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              iVar8 = 7;\n              pppuVar13 = (undefined ***)(piVar14 + -1);\n              goto LAB_0007de61;\n            }" ({ "{") (expression_statement "iVar8 = 7;" (assignment_expression "iVar8 = 7" (identifier "iVar8") (= "=") (number_literal "7")) (; ";")) (expression_statement "pppuVar13 = (undefined ***)(piVar14 + -1);" (assignment_expression "pppuVar13 = (undefined ***)(piVar14 + -1)" (identifier "pppuVar13") (= "=") (cast_expression "(undefined ***)(piVar14 + -1)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(piVar14 + -1)" (( "(") (binary_expression "piVar14 + -1" (identifier "piVar14") (+ "+") (number_literal "-1")) () ")")))) (; ";")) (goto_statement "goto LAB_0007de61;" (goto "goto") (statement_identifier "LAB_0007de61") (; ";")) (} "}"))) (goto_statement "goto LAB_0007dd1d;" (goto "goto") (statement_identifier "LAB_0007dd1d") (; ";")) (} "}"))) (expression_statement "*(undefined1 *)(__ptr + 9) = 0;" (assignment_expression "*(undefined1 *)(__ptr + 9) = 0" (pointer_expression "*(undefined1 *)(__ptr + 9)" (* "*") (cast_expression "(undefined1 *)(__ptr + 9)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(__ptr + 9)" (( "(") (binary_expression "__ptr + 9" (identifier "__ptr") (+ "+") (number_literal "9")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar8 != 0) {\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            iVar8 = 1;\n            pppuVar13 = (undefined ***)(piVar14 + -1);\n            goto LAB_0007de61;\n          }" ({ "{") (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" (identifier "iVar8") (= "=") (number_literal "1")) (; ";")) (expression_statement "pppuVar13 = (undefined ***)(piVar14 + -1);" (assignment_expression "pppuVar13 = (undefined ***)(piVar14 + -1)" (identifier "pppuVar13") (= "=") (cast_expression "(undefined ***)(piVar14 + -1)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(piVar14 + -1)" (( "(") (binary_expression "piVar14 + -1" (identifier "piVar14") (+ "+") (number_literal "-1")) () ")")))) (; ";")) (goto_statement "goto LAB_0007de61;" (goto "goto") (statement_identifier "LAB_0007de61") (; ";")) (} "}"))) (goto_statement "goto LAB_0007de8b;" (goto "goto") (statement_identifier "LAB_0007de8b") (; ";")) (} "}"))) (labeled_statement "LAB_0007ddc4:\n        pppuVar13 = (undefined ***)piVar15;" (statement_identifier "LAB_0007ddc4") (: ":") (expression_statement "pppuVar13 = (undefined ***)piVar15;" (assignment_expression "pppuVar13 = (undefined ***)piVar15" (identifier "pppuVar13") (= "=") (cast_expression "(undefined ***)piVar15" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "piVar15"))) (; ";"))) (expression_statement "*(undefined1 *)(__ptr + 9) = 0;" (assignment_expression "*(undefined1 *)(__ptr + 9) = 0" (pointer_expression "*(undefined1 *)(__ptr + 9)" (* "*") (cast_expression "(undefined1 *)(__ptr + 9)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(__ptr + 9)" (( "(") (binary_expression "__ptr + 9" (identifier "__ptr") (+ "+") (number_literal "9")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;" (if "if") (parenthesized_expression "(*(int *)((int)pppuVar13 + 0x44) == 0)" (( "(") (binary_expression "*(int *)((int)pppuVar13 + 0x44) == 0" (pointer_expression "*(int *)((int)pppuVar13 + 0x44)" (* "*") (cast_expression "(int *)((int)pppuVar13 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + 0x44)" (( "(") (binary_expression "(int)pppuVar13 + 0x44" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "0x44")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0007dd1d;" (goto "goto") (statement_identifier "LAB_0007dd1d") (; ";"))) (expression_statement "iVar8 = 7;" (assignment_expression "iVar8 = 7" (identifier "iVar8") (= "=") (number_literal "7")) (; ";")) (goto_statement "goto LAB_0007de61;" (goto "goto") (statement_identifier "LAB_0007de61") (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n    if (*(int *)((int)pppuVar13 + 0x3c) + 1 != iVar8) goto LAB_0007deec;\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dee3;\n    FUN_0007d137();\n    uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n  }" (else "else") (compound_statement "{\n    if (*(int *)((int)pppuVar13 + 0x3c) + 1 != iVar8) goto LAB_0007deec;\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dee3;\n    FUN_0007d137();\n    uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n  }" ({ "{") (if_statement "if (*(int *)((int)pppuVar13 + 0x3c) + 1 != iVar8) goto LAB_0007deec;" (if "if") (parenthesized_expression "(*(int *)((int)pppuVar13 + 0x3c) + 1 != iVar8)" (( "(") (binary_expression "*(int *)((int)pppuVar13 + 0x3c) + 1 != iVar8" (binary_expression "*(int *)((int)pppuVar13 + 0x3c) + 1" (pointer_expression "*(int *)((int)pppuVar13 + 0x3c)" (* "*") (cast_expression "(int *)((int)pppuVar13 + 0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + 0x3c)" (( "(") (binary_expression "(int)pppuVar13 + 0x3c" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "0x3c")) () ")")))) (+ "+") (number_literal "1")) (!= "!=") (identifier "iVar8")) () ")")) (goto_statement "goto LAB_0007deec;" (goto "goto") (statement_identifier "LAB_0007deec") (; ";"))) (expression_statement "*(undefined4 *)((int)pppuVar13 + -4) = 0x7dee3;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -4) = 0x7dee3" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -4)" (* "*") (cast_expression "(undefined4 *)((int)pppuVar13 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + -4)" (( "(") (binary_expression "(int)pppuVar13 + -4" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x7dee3")) (; ";")) (expression_statement "FUN_0007d137();" (call_expression "FUN_0007d137()" (identifier "FUN_0007d137") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar7 = *(uint *)((int)pppuVar13 + 0x38);" (assignment_expression "uVar7 = *(uint *)((int)pppuVar13 + 0x38)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)((int)pppuVar13 + 0x38)" (* "*") (cast_expression "(uint *)((int)pppuVar13 + 0x38)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + 0x38)" (( "(") (binary_expression "(int)pppuVar13 + 0x38" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (} "}"))))) (labeled_statement "LAB_0007dd85:\n  iVar8 = *(int *)((int)pppuVar13 + 0x44);" (statement_identifier "LAB_0007dd85") (: ":") (expression_statement "iVar8 = *(int *)((int)pppuVar13 + 0x44);" (assignment_expression "iVar8 = *(int *)((int)pppuVar13 + 0x44)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)((int)pppuVar13 + 0x44)" (* "*") (cast_expression "(int *)((int)pppuVar13 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + 0x44)" (( "(") (binary_expression "(int)pppuVar13 + 0x44" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "0x44")) () ")"))))) (; ";"))) (if_statement "if ((*(uint *)((int)pppuVar13 + 4) == uVar7) && (*(int *)((int)pppuVar13 + 0x20) == iVar8)) {\n    if ((char)__ptr[9] == '\0') {\n      *(undefined1 *)(__ptr + 9) = 1;\n      if (iVar8 == 0) goto LAB_0007de94;\n      iVar8 = 0;\n      goto LAB_0007de61;\n    }\n    if (iVar8 != 0) {\n      iVar8 = 8;\n      goto LAB_0007de61;\n    }\n    goto LAB_0007dd1d;\n  }" (if "if") (parenthesized_expression "((*(uint *)((int)pppuVar13 + 4) == uVar7) && (*(int *)((int)pppuVar13 + 0x20) == iVar8))" (( "(") (binary_expression "(*(uint *)((int)pppuVar13 + 4) == uVar7) && (*(int *)((int)pppuVar13 + 0x20) == iVar8)" (parenthesized_expression "(*(uint *)((int)pppuVar13 + 4) == uVar7)" (( "(") (binary_expression "*(uint *)((int)pppuVar13 + 4) == uVar7" (pointer_expression "*(uint *)((int)pppuVar13 + 4)" (* "*") (cast_expression "(uint *)((int)pppuVar13 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + 4)" (( "(") (binary_expression "(int)pppuVar13 + 4" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "4")) () ")")))) (== "==") (identifier "uVar7")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)((int)pppuVar13 + 0x20) == iVar8)" (( "(") (binary_expression "*(int *)((int)pppuVar13 + 0x20) == iVar8" (pointer_expression "*(int *)((int)pppuVar13 + 0x20)" (* "*") (cast_expression "(int *)((int)pppuVar13 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + 0x20)" (( "(") (binary_expression "(int)pppuVar13 + 0x20" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "0x20")) () ")")))) (== "==") (identifier "iVar8")) () ")"))) () ")")) (compound_statement "{\n    if ((char)__ptr[9] == '\0') {\n      *(undefined1 *)(__ptr + 9) = 1;\n      if (iVar8 == 0) goto LAB_0007de94;\n      iVar8 = 0;\n      goto LAB_0007de61;\n    }\n    if (iVar8 != 0) {\n      iVar8 = 8;\n      goto LAB_0007de61;\n    }\n    goto LAB_0007dd1d;\n  }" ({ "{") (if_statement "if ((char)__ptr[9] == '\0') {\n      *(undefined1 *)(__ptr + 9) = 1;\n      if (iVar8 == 0) goto LAB_0007de94;\n      iVar8 = 0;\n      goto LAB_0007de61;\n    }" (if "if") (parenthesized_expression "((char)__ptr[9] == '\0')" (( "(") (binary_expression "(char)__ptr[9] == '\0'" (cast_expression "(char)__ptr[9]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "__ptr[9]" (identifier "__ptr") ([ "[") (number_literal "9") (] "]"))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      *(undefined1 *)(__ptr + 9) = 1;\n      if (iVar8 == 0) goto LAB_0007de94;\n      iVar8 = 0;\n      goto LAB_0007de61;\n    }" ({ "{") (expression_statement "*(undefined1 *)(__ptr + 9) = 1;" (assignment_expression "*(undefined1 *)(__ptr + 9) = 1" (pointer_expression "*(undefined1 *)(__ptr + 9)" (* "*") (cast_expression "(undefined1 *)(__ptr + 9)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(__ptr + 9)" (( "(") (binary_expression "__ptr + 9" (identifier "__ptr") (+ "+") (number_literal "9")) () ")")))) (= "=") (number_literal "1")) (; ";")) (if_statement "if (iVar8 == 0) goto LAB_0007de94;" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0007de94;" (goto "goto") (statement_identifier "LAB_0007de94") (; ";"))) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0007de61;" (goto "goto") (statement_identifier "LAB_0007de61") (; ";")) (} "}"))) (if_statement "if (iVar8 != 0) {\n      iVar8 = 8;\n      goto LAB_0007de61;\n    }" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar8 = 8;\n      goto LAB_0007de61;\n    }" ({ "{") (expression_statement "iVar8 = 8;" (assignment_expression "iVar8 = 8" (identifier "iVar8") (= "=") (number_literal "8")) (; ";")) (goto_statement "goto LAB_0007de61;" (goto "goto") (statement_identifier "LAB_0007de61") (; ";")) (} "}"))) (goto_statement "goto LAB_0007dd1d;" (goto "goto") (statement_identifier "LAB_0007dd1d") (; ";")) (} "}"))) (expression_statement "*(undefined1 *)(__ptr + 9) = 0;" (assignment_expression "*(undefined1 *)(__ptr + 9) = 0" (pointer_expression "*(undefined1 *)(__ptr + 9)" (* "*") (cast_expression "(undefined1 *)(__ptr + 9)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(__ptr + 9)" (( "(") (binary_expression "__ptr + 9" (identifier "__ptr") (+ "+") (number_literal "9")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar8 != 0) {\n    iVar8 = 0;\n    goto LAB_0007de61;\n  }" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar8 = 0;\n    goto LAB_0007de61;\n  }" ({ "{") (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0007de61;" (goto "goto") (statement_identifier "LAB_0007de61") (; ";")) (} "}"))) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0007de94;" (goto "goto") (statement_identifier "LAB_0007de94") (; ";")) (labeled_statement "LAB_0007deec:\n  *(int *)((int)pppuVar13 + 0x38) = iVar8;" (statement_identifier "LAB_0007deec") (: ":") (expression_statement "*(int *)((int)pppuVar13 + 0x38) = iVar8;" (assignment_expression "*(int *)((int)pppuVar13 + 0x38) = iVar8" (pointer_expression "*(int *)((int)pppuVar13 + 0x38)" (* "*") (cast_expression "(int *)((int)pppuVar13 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + 0x38)" (( "(") (binary_expression "(int)pppuVar13 + 0x38" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "0x38")) () ")")))) (= "=") (identifier "iVar8")) (; ";"))) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar15 = (int *)pppuVar13;" (assignment_expression "piVar15 = (int *)pppuVar13" (identifier "piVar15") (= "=") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13"))) (; ";")) (if_statement "if (*(char *)(*(int *)((int)pppuVar13 + 0x34) + -2 + iVar8) != '\0') goto LAB_0007defc;" (if "if") (parenthesized_expression "(*(char *)(*(int *)((int)pppuVar13 + 0x34) + -2 + iVar8) != '\0')" (( "(") (binary_expression "*(char *)(*(int *)((int)pppuVar13 + 0x34) + -2 + iVar8) != '\0'" (pointer_expression "*(char *)(*(int *)((int)pppuVar13 + 0x34) + -2 + iVar8)" (* "*") (cast_expression "(char *)(*(int *)((int)pppuVar13 + 0x34) + -2 + iVar8)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)((int)pppuVar13 + 0x34) + -2 + iVar8)" (( "(") (binary_expression "*(int *)((int)pppuVar13 + 0x34) + -2 + iVar8" (binary_expression "*(int *)((int)pppuVar13 + 0x34) + -2" (pointer_expression "*(int *)((int)pppuVar13 + 0x34)" (* "*") (cast_expression "(int *)((int)pppuVar13 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + 0x34)" (( "(") (binary_expression "(int)pppuVar13 + 0x34" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "0x34")) () ")")))) (+ "+") (number_literal "-2")) (+ "+") (identifier "iVar8")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0007defc;" (goto "goto") (statement_identifier "LAB_0007defc") (; ";"))) (goto_statement "goto LAB_0007dc95;" (goto "goto") (statement_identifier "LAB_0007dc95") (; ";")) (labeled_statement "LAB_0007defc:\n  iVar5 = *(int *)((int)piVar15 + 0x44);" (statement_identifier "LAB_0007defc") (: ":") (expression_statement "iVar5 = *(int *)((int)piVar15 + 0x44);" (assignment_expression "iVar5 = *(int *)((int)piVar15 + 0x44)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)((int)piVar15 + 0x44)" (* "*") (cast_expression "(int *)((int)piVar15 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 0x44)" (( "(") (binary_expression "(int)piVar15 + 0x44" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "0x44")) () ")"))))) (; ";"))) (expression_statement "iVar8 = 7;" (assignment_expression "iVar8 = 7" (identifier "iVar8") (= "=") (number_literal "7")) (; ";")) (expression_statement "pppuVar13 = (undefined ***)piVar15;" (assignment_expression "pppuVar13 = (undefined ***)piVar15" (identifier "pppuVar13") (= "=") (cast_expression "(undefined ***)piVar15" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "piVar15"))) (; ";")) (labeled_statement "LAB_0007df05:\n  *(undefined1 *)(__ptr + 9) = 0;" (statement_identifier "LAB_0007df05") (: ":") (expression_statement "*(undefined1 *)(__ptr + 9) = 0;" (assignment_expression "*(undefined1 *)(__ptr + 9) = 0" (pointer_expression "*(undefined1 *)(__ptr + 9)" (* "*") (cast_expression "(undefined1 *)(__ptr + 9)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(__ptr + 9)" (( "(") (binary_expression "__ptr + 9" (identifier "__ptr") (+ "+") (number_literal "9")) () ")")))) (= "=") (number_literal "0")) (; ";"))) (labeled_statement "joined_r0x0007dd0e:\n  if (iVar5 != 0) {\nLAB_0007de61:\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7de70;\n    FUN_000804d0();\n    puVar1 = (uint *)((int)pppuVar13 + 0x10);\n    uVar7 = *puVar1;\n    *puVar1 = *puVar1 + *(uint *)((int)pppuVar13 + 0x44);\n    *(int *)((int)pppuVar13 + 0x14) =\n         *(int *)((int)pppuVar13 + 0x14) + (uint)CARRY4(uVar7,*(uint *)((int)pppuVar13 + 0x44));\n    *(undefined4 *)((int)pppuVar13 + 0x44) = 0;\n    piVar12 = (int *)pppuVar13;\n    if (iVar8 == 1) {\nLAB_0007de8b:\n      uVar7 = *(uint *)((int)piVar12 + 0x38);\n      iVar8 = 1;\n      pppuVar13 = (undefined ***)piVar12;\n      goto LAB_0007de94;\n    }\n    if (iVar8 == 0) {\n      uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n      iVar8 = 0;\n      goto LAB_0007de94;\n    }\n  }" (statement_identifier "joined_r0x0007dd0e") (: ":") (if_statement "if (iVar5 != 0) {\nLAB_0007de61:\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7de70;\n    FUN_000804d0();\n    puVar1 = (uint *)((int)pppuVar13 + 0x10);\n    uVar7 = *puVar1;\n    *puVar1 = *puVar1 + *(uint *)((int)pppuVar13 + 0x44);\n    *(int *)((int)pppuVar13 + 0x14) =\n         *(int *)((int)pppuVar13 + 0x14) + (uint)CARRY4(uVar7,*(uint *)((int)pppuVar13 + 0x44));\n    *(undefined4 *)((int)pppuVar13 + 0x44) = 0;\n    piVar12 = (int *)pppuVar13;\n    if (iVar8 == 1) {\nLAB_0007de8b:\n      uVar7 = *(uint *)((int)piVar12 + 0x38);\n      iVar8 = 1;\n      pppuVar13 = (undefined ***)piVar12;\n      goto LAB_0007de94;\n    }\n    if (iVar8 == 0) {\n      uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n      iVar8 = 0;\n      goto LAB_0007de94;\n    }\n  }" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0007de61:\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7de70;\n    FUN_000804d0();\n    puVar1 = (uint *)((int)pppuVar13 + 0x10);\n    uVar7 = *puVar1;\n    *puVar1 = *puVar1 + *(uint *)((int)pppuVar13 + 0x44);\n    *(int *)((int)pppuVar13 + 0x14) =\n         *(int *)((int)pppuVar13 + 0x14) + (uint)CARRY4(uVar7,*(uint *)((int)pppuVar13 + 0x44));\n    *(undefined4 *)((int)pppuVar13 + 0x44) = 0;\n    piVar12 = (int *)pppuVar13;\n    if (iVar8 == 1) {\nLAB_0007de8b:\n      uVar7 = *(uint *)((int)piVar12 + 0x38);\n      iVar8 = 1;\n      pppuVar13 = (undefined ***)piVar12;\n      goto LAB_0007de94;\n    }\n    if (iVar8 == 0) {\n      uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n      iVar8 = 0;\n      goto LAB_0007de94;\n    }\n  }" ({ "{") (labeled_statement "LAB_0007de61:\n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7de70;" (statement_identifier "LAB_0007de61") (: ":") (expression_statement "*(undefined4 *)((int)pppuVar13 + -4) = 0x7de70;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -4) = 0x7de70" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -4)" (* "*") (cast_expression "(undefined4 *)((int)pppuVar13 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + -4)" (( "(") (binary_expression "(int)pppuVar13 + -4" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x7de70")) (; ";"))) (expression_statement "FUN_000804d0();" (call_expression "FUN_000804d0()" (identifier "FUN_000804d0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar1 = (uint *)((int)pppuVar13 + 0x10);" (assignment_expression "puVar1 = (uint *)((int)pppuVar13 + 0x10)" (identifier "puVar1") (= "=") (cast_expression "(uint *)((int)pppuVar13 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + 0x10)" (( "(") (binary_expression "(int)pppuVar13 + 0x10" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "uVar7 = *puVar1;" (assignment_expression "uVar7 = *puVar1" (identifier "uVar7") (= "=") (pointer_expression "*puVar1" (* "*") (identifier "puVar1"))) (; ";")) (expression_statement "*puVar1 = *puVar1 + *(uint *)((int)pppuVar13 + 0x44);" (assignment_expression "*puVar1 = *puVar1 + *(uint *)((int)pppuVar13 + 0x44)" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (binary_expression "*puVar1 + *(uint *)((int)pppuVar13 + 0x44)" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (+ "+") (pointer_expression "*(uint *)((int)pppuVar13 + 0x44)" (* "*") (cast_expression "(uint *)((int)pppuVar13 + 0x44)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + 0x44)" (( "(") (binary_expression "(int)pppuVar13 + 0x44" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "0x44")) () ")")))))) (; ";")) (expression_statement "*(int *)((int)pppuVar13 + 0x14) =\n         *(int *)((int)pppuVar13 + 0x14) + (uint)CARRY4(uVar7,*(uint *)((int)pppuVar13 + 0x44));" (assignment_expression "*(int *)((int)pppuVar13 + 0x14) =\n         *(int *)((int)pppuVar13 + 0x14) + (uint)CARRY4(uVar7,*(uint *)((int)pppuVar13 + 0x44))" (pointer_expression "*(int *)((int)pppuVar13 + 0x14)" (* "*") (cast_expression "(int *)((int)pppuVar13 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + 0x14)" (( "(") (binary_expression "(int)pppuVar13 + 0x14" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "*(int *)((int)pppuVar13 + 0x14) + (uint)CARRY4(uVar7,*(uint *)((int)pppuVar13 + 0x44))" (pointer_expression "*(int *)((int)pppuVar13 + 0x14)" (* "*") (cast_expression "(int *)((int)pppuVar13 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + 0x14)" (( "(") (binary_expression "(int)pppuVar13 + 0x14" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (cast_expression "(uint)CARRY4(uVar7,*(uint *)((int)pppuVar13 + 0x44))" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar7,*(uint *)((int)pppuVar13 + 0x44))" (identifier "CARRY4") (argument_list "(uVar7,*(uint *)((int)pppuVar13 + 0x44))" (( "(") (identifier "uVar7") (, ",") (pointer_expression "*(uint *)((int)pppuVar13 + 0x44)" (* "*") (cast_expression "(uint *)((int)pppuVar13 + 0x44)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + 0x44)" (( "(") (binary_expression "(int)pppuVar13 + 0x44" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "0x44")) () ")")))) () ")")))))) (; ";")) (expression_statement "*(undefined4 *)((int)pppuVar13 + 0x44) = 0;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + 0x44) = 0" (pointer_expression "*(undefined4 *)((int)pppuVar13 + 0x44)" (* "*") (cast_expression "(undefined4 *)((int)pppuVar13 + 0x44)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + 0x44)" (( "(") (binary_expression "(int)pppuVar13 + 0x44" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "0x44")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar12 = (int *)pppuVar13;" (assignment_expression "piVar12 = (int *)pppuVar13" (identifier "piVar12") (= "=") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13"))) (; ";")) (if_statement "if (iVar8 == 1) {\nLAB_0007de8b:\n      uVar7 = *(uint *)((int)piVar12 + 0x38);\n      iVar8 = 1;\n      pppuVar13 = (undefined ***)piVar12;\n      goto LAB_0007de94;\n    }" (if "if") (parenthesized_expression "(iVar8 == 1)" (( "(") (binary_expression "iVar8 == 1" (identifier "iVar8") (== "==") (number_literal "1")) () ")")) (compound_statement "{\nLAB_0007de8b:\n      uVar7 = *(uint *)((int)piVar12 + 0x38);\n      iVar8 = 1;\n      pppuVar13 = (undefined ***)piVar12;\n      goto LAB_0007de94;\n    }" ({ "{") (labeled_statement "LAB_0007de8b:\n      uVar7 = *(uint *)((int)piVar12 + 0x38);" (statement_identifier "LAB_0007de8b") (: ":") (expression_statement "uVar7 = *(uint *)((int)piVar12 + 0x38);" (assignment_expression "uVar7 = *(uint *)((int)piVar12 + 0x38)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)((int)piVar12 + 0x38)" (* "*") (cast_expression "(uint *)((int)piVar12 + 0x38)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar12 + 0x38)" (( "(") (binary_expression "(int)piVar12 + 0x38" (cast_expression "(int)piVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar12")) (+ "+") (number_literal "0x38")) () ")"))))) (; ";"))) (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" (identifier "iVar8") (= "=") (number_literal "1")) (; ";")) (expression_statement "pppuVar13 = (undefined ***)piVar12;" (assignment_expression "pppuVar13 = (undefined ***)piVar12" (identifier "pppuVar13") (= "=") (cast_expression "(undefined ***)piVar12" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "piVar12"))) (; ";")) (goto_statement "goto LAB_0007de94;" (goto "goto") (statement_identifier "LAB_0007de94") (; ";")) (} "}"))) (if_statement "if (iVar8 == 0) {\n      uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n      iVar8 = 0;\n      goto LAB_0007de94;\n    }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar7 = *(uint *)((int)pppuVar13 + 0x38);\n      iVar8 = 0;\n      goto LAB_0007de94;\n    }" ({ "{") (expression_statement "uVar7 = *(uint *)((int)pppuVar13 + 0x38);" (assignment_expression "uVar7 = *(uint *)((int)pppuVar13 + 0x38)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)((int)pppuVar13 + 0x38)" (* "*") (cast_expression "(uint *)((int)pppuVar13 + 0x38)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + 0x38)" (( "(") (binary_expression "(int)pppuVar13 + 0x38" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0007de94;" (goto "goto") (statement_identifier "LAB_0007de94") (; ";")) (} "}"))) (} "}")))) (if_statement "if (iVar8 != 2) {\nLAB_0007dd1d:\n    ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x6009;\n    ((int *)pppuVar13)[-5] = 0x7dd30;\n    FUN_000191bd();\n    ((int *)pppuVar13)[4] = -1;\n    ((int *)pppuVar13)[5] = -1;\nLAB_0007dafd:\n    uVar7 = __ptr[0x126];\n    *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar7 + 0x18);\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db14;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    *(uint *)((int)pppuVar13 + -0x10) = uVar7;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db1c;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    *(uint **)((int)pppuVar13 + -0x10) = __ptr;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db24;\n    free(*(void **)((int)pppuVar13 + -0x10));\nLAB_0007db27:\n    *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)((int)pppuVar13 + 0xc);\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db37;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    if (*(int *)((int)pppuVar13 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)) {\n      return *(undefined8 *)((int)pppuVar13 + 0x10);\n    }\n                    \n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dc1f;\n    FUN_00017e10();\n  }" (if "if") (parenthesized_expression "(iVar8 != 2)" (( "(") (binary_expression "iVar8 != 2" (identifier "iVar8") (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\nLAB_0007dd1d:\n    ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x6009;\n    ((int *)pppuVar13)[-5] = 0x7dd30;\n    FUN_000191bd();\n    ((int *)pppuVar13)[4] = -1;\n    ((int *)pppuVar13)[5] = -1;\nLAB_0007dafd:\n    uVar7 = __ptr[0x126];\n    *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar7 + 0x18);\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db14;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    *(uint *)((int)pppuVar13 + -0x10) = uVar7;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db1c;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    *(uint **)((int)pppuVar13 + -0x10) = __ptr;\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db24;\n    free(*(void **)((int)pppuVar13 + -0x10));\nLAB_0007db27:\n    *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)((int)pppuVar13 + 0xc);\n    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db37;\n    free(*(void **)((int)pppuVar13 + -0x10));\n    if (*(int *)((int)pppuVar13 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)) {\n      return *(undefined8 *)((int)pppuVar13 + 0x10);\n    }\n                    \n    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dc1f;\n    FUN_00017e10();\n  }" ({ "{") (labeled_statement "LAB_0007dd1d:\n    ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x6009;" (statement_identifier "LAB_0007dd1d") (: ":") (expression_statement "((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x6009;" (assignment_expression "((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x6009" (subscript_expression "((int *)pppuVar13)[-4]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "-4") (] "]")) (= "=") (binary_expression "(int)*pppuVar13 + -0x6009" (cast_expression "(int)*pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*pppuVar13" (* "*") (identifier "pppuVar13"))) (+ "+") (number_literal "-0x6009"))) (; ";"))) (expression_statement "((int *)pppuVar13)[-5] = 0x7dd30;" (assignment_expression "((int *)pppuVar13)[-5] = 0x7dd30" (subscript_expression "((int *)pppuVar13)[-5]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "-5") (] "]")) (= "=") (number_literal "0x7dd30")) (; ";")) (expression_statement "FUN_000191bd();" (call_expression "FUN_000191bd()" (identifier "FUN_000191bd") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "((int *)pppuVar13)[4] = -1;" (assignment_expression "((int *)pppuVar13)[4] = -1" (subscript_expression "((int *)pppuVar13)[4]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "((int *)pppuVar13)[5] = -1;" (assignment_expression "((int *)pppuVar13)[5] = -1" (subscript_expression "((int *)pppuVar13)[5]" (parenthesized_expression "((int *)pppuVar13)" (( "(") (cast_expression "(int *)pppuVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppuVar13")) () ")")) ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "-1")) (; ";")) (labeled_statement "LAB_0007dafd:\n    uVar7 = __ptr[0x126];" (statement_identifier "LAB_0007dafd") (: ":") (expression_statement "uVar7 = __ptr[0x126];" (assignment_expression "uVar7 = __ptr[0x126]" (identifier "uVar7") (= "=") (subscript_expression "__ptr[0x126]" (identifier "__ptr") ([ "[") (number_literal "0x126") (] "]"))) (; ";"))) (expression_statement "*(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar7 + 0x18);" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar7 + 0x18)" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)pppuVar13 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + -0x10)" (( "(") (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(uVar7 + 0x18)" (* "*") (cast_expression "(undefined4 *)(uVar7 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar7 + 0x18)" (( "(") (binary_expression "uVar7 + 0x18" (identifier "uVar7") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db14;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db14" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)pppuVar13 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + -0x14)" (( "(") (binary_expression "(int)pppuVar13 + -0x14" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x7db14")) (; ";")) (expression_statement "free(*(void **)((int)pppuVar13 + -0x10));" (call_expression "free(*(void **)((int)pppuVar13 + -0x10))" (identifier "free") (argument_list "(*(void **)((int)pppuVar13 + -0x10))" (( "(") (pointer_expression "*(void **)((int)pppuVar13 + -0x10)" (* "*") (cast_expression "(void **)((int)pppuVar13 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pppuVar13 + -0x10)" (( "(") (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "*(uint *)((int)pppuVar13 + -0x10) = uVar7;" (assignment_expression "*(uint *)((int)pppuVar13 + -0x10) = uVar7" (pointer_expression "*(uint *)((int)pppuVar13 + -0x10)" (* "*") (cast_expression "(uint *)((int)pppuVar13 + -0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + -0x10)" (( "(") (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db1c;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db1c" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)pppuVar13 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + -0x14)" (( "(") (binary_expression "(int)pppuVar13 + -0x14" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x7db1c")) (; ";")) (expression_statement "free(*(void **)((int)pppuVar13 + -0x10));" (call_expression "free(*(void **)((int)pppuVar13 + -0x10))" (identifier "free") (argument_list "(*(void **)((int)pppuVar13 + -0x10))" (( "(") (pointer_expression "*(void **)((int)pppuVar13 + -0x10)" (* "*") (cast_expression "(void **)((int)pppuVar13 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pppuVar13 + -0x10)" (( "(") (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "*(uint **)((int)pppuVar13 + -0x10) = __ptr;" (assignment_expression "*(uint **)((int)pppuVar13 + -0x10) = __ptr" (pointer_expression "*(uint **)((int)pppuVar13 + -0x10)" (* "*") (cast_expression "(uint **)((int)pppuVar13 + -0x10)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pppuVar13 + -0x10)" (( "(") (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "__ptr")) (; ";")) (expression_statement "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db24;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db24" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)pppuVar13 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + -0x14)" (( "(") (binary_expression "(int)pppuVar13 + -0x14" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x7db24")) (; ";")) (expression_statement "free(*(void **)((int)pppuVar13 + -0x10));" (call_expression "free(*(void **)((int)pppuVar13 + -0x10))" (identifier "free") (argument_list "(*(void **)((int)pppuVar13 + -0x10))" (( "(") (pointer_expression "*(void **)((int)pppuVar13 + -0x10)" (* "*") (cast_expression "(void **)((int)pppuVar13 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pppuVar13 + -0x10)" (( "(") (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (labeled_statement "LAB_0007db27:\n    *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)((int)pppuVar13 + 0xc);" (statement_identifier "LAB_0007db27") (: ":") (expression_statement "*(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)((int)pppuVar13 + 0xc);" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)((int)pppuVar13 + 0xc)" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)pppuVar13 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + -0x10)" (( "(") (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)pppuVar13 + 0xc)" (* "*") (cast_expression "(undefined4 *)((int)pppuVar13 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + 0xc)" (( "(") (binary_expression "(int)pppuVar13 + 0xc" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";"))) (expression_statement "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db37;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db37" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)pppuVar13 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + -0x14)" (( "(") (binary_expression "(int)pppuVar13 + -0x14" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x7db37")) (; ";")) (expression_statement "free(*(void **)((int)pppuVar13 + -0x10));" (call_expression "free(*(void **)((int)pppuVar13 + -0x10))" (identifier "free") (argument_list "(*(void **)((int)pppuVar13 + -0x10))" (( "(") (pointer_expression "*(void **)((int)pppuVar13 + -0x10)" (* "*") (cast_expression "(void **)((int)pppuVar13 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pppuVar13 + -0x10)" (( "(") (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (if_statement "if (*(int *)((int)pppuVar13 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)) {\n      return *(undefined8 *)((int)pppuVar13 + 0x10);\n    }" (if "if") (parenthesized_expression "(*(int *)((int)pppuVar13 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "*(int *)((int)pppuVar13 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(int *)((int)pppuVar13 + 0x4c)" (* "*") (cast_expression "(int *)((int)pppuVar13 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + 0x4c)" (( "(") (binary_expression "(int)pppuVar13 + 0x4c" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "0x4c")) () ")")))) (== "==") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n      return *(undefined8 *)((int)pppuVar13 + 0x10);\n    }" ({ "{") (return_statement "return *(undefined8 *)((int)pppuVar13 + 0x10);" (return "return") (pointer_expression "*(undefined8 *)((int)pppuVar13 + 0x10)" (* "*") (cast_expression "(undefined8 *)((int)pppuVar13 + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + 0x10)" (( "(") (binary_expression "(int)pppuVar13 + 0x10" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "0x10")) () ")")))) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)((int)pppuVar13 + -4) = 0x7dc1f;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -4) = 0x7dc1f" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -4)" (* "*") (cast_expression "(undefined4 *)((int)pppuVar13 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + -4)" (( "(") (binary_expression "(int)pppuVar13 + -4" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x7dc1f")) (; ";")) (expression_statement "FUN_00017e10();" (call_expression "FUN_00017e10()" (identifier "FUN_00017e10") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar7 = *(uint *)((int)pppuVar13 + 0x38);" (assignment_expression "uVar7 = *(uint *)((int)pppuVar13 + 0x38)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)((int)pppuVar13 + 0x38)" (* "*") (cast_expression "(uint *)((int)pppuVar13 + 0x38)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + 0x38)" (( "(") (binary_expression "(int)pppuVar13 + 0x38" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "iVar8 = 2;" (assignment_expression "iVar8 = 2" (identifier "iVar8") (= "=") (number_literal "2")) (; ";")) (labeled_statement "LAB_0007de94:\n  *(uint *)((int)pppuVar13 + 4) = uVar7;" (statement_identifier "LAB_0007de94") (: ":") (expression_statement "*(uint *)((int)pppuVar13 + 4) = uVar7;" (assignment_expression "*(uint *)((int)pppuVar13 + 4) = uVar7" (pointer_expression "*(uint *)((int)pppuVar13 + 4)" (* "*") (cast_expression "(uint *)((int)pppuVar13 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + 4)" (( "(") (binary_expression "(int)pppuVar13 + 4" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "uVar7")) (; ";"))) (goto_statement "goto LAB_0007daa8;" (goto "goto") (statement_identifier "LAB_0007daa8") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.si replaced with injection: get_pc_thunk_si */

type_1 function_1(type_2 *xstate)

{
  type_3 iobuf;
  
}


(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type)))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) 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: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (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: (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)) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (false))) (do_statement body: (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: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (true)))) condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) index: (number_literal)) right: (subscript_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) index: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (do_statement body: (compound_statement) condition: (parenthesized_expression (binary_expression left: (number_literal) right: (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)) value: (identifier))))) (switch_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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))))) body: (compound_statement (case_statement value: (number_literal) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)) right: (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: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)) right: (number_literal)))))) (goto_statement label: (statement_identifier)))))) (break_statement)) (case_statement value: (number_literal) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (identifier))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (identifier))))) right: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (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: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (labeled_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: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (number_literal))))))) consequence: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) 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)) 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: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) alternative: (else_clause (compound_statement (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: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (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: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_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: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (number_literal))))) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (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)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) 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: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) 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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (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))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) body: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (identifier))))) right: (char_literal (escape_sequence)))) consequence: (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: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (goto_statement label: (statement_identifier)))))))))) (break_statement)) (case_statement value: (number_literal) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal))) (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))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (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: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (unary_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))))) 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: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_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)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (identifier))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (identifier))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (unary_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (number_literal) right: (identifier))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)) right: (number_literal)))))) (goto_statement label: (statement_identifier)))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) 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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (identifier))))) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier)))))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (break_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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (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: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) condition: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (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: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (identifier)))) consequence: (break_statement)) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (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: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (identifier)))) (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: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (goto_statement label: (statement_identifier))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier)))) (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)) value: (identifier))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) 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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_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 (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (subscript_expression argument: (identifier) index: (number_literal)))))))) (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: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) 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 (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) 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: (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: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (subscript_expression argument: (identifier) index: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (unary_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_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: (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 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))))))))) (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: (identifier)))))) condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (unary_expression argument: (identifier)) right: (identifier)) right: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) 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))))) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) (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)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (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: (pointer_expression argument: (identifier)) right: (number_literal))) (labeled_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: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))) (break_statement))) (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: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) right: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (char_literal (escape_sequence)))))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (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))) (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (identifier))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (identifier))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)) right: (identifier))))) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (identifier)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) index: (number_literal)) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (return_statement (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) 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: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (identifier)))) (goto_statement label: (statement_identifier)))))

/* WARNING: Function: __i686.get_pc_thunk.si replaced with injection: get_pc_thunk_si */
/* WARNING: Type propagation algorithm not settling */

undefined8 MASKED(void)

{
  uint *puVar1;
  bool bVar2;
  char cVar3;
  uint *__ptr;
  void *pvVar4;
  int iVar5;
  undefined4 uVar6;
  uint uVar7;
  int iVar8;
  uint uVar9;
  uint uVar10;
  uint uVar11;
  int *piVar12;
  undefined ***pppuVar13;
  int *piVar14;
  int *piVar15;
  int *piVar16;
  undefined4 **ppuVar17;
  uint uVar18;
  int in_GS_OFFSET;
  byte bVar19;
  undefined **local_6c;
  undefined4 local_68;
  undefined4 **local_64;
  undefined4 *local_60;
  undefined4 local_5c;
  undefined4 local_58;
  char *local_54;
  undefined4 *local_38;
  undefined4 local_34;
  undefined4 local_30;
  undefined4 *local_2c;
  undefined4 local_24;
  undefined4 local_20;
  
  bVar19 = 0;
  pppuVar13 = &local_6c;
  local_6c = &__DT_PLTGOT;
  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);
  if (DAT_000d1718 == 0) {
    FUN_000a62ce();
  }
  local_64 = &local_38;
  ppuVar17 = local_64;
  for (iVar8 = 6; iVar8 != 0; iVar8 = iVar8 + -1) {
    *ppuVar17 = (undefined4 *)0x0;
    ppuVar17 = ppuVar17 + (uint)bVar19 * -2 + 1;
  }
  local_60 = (undefined4 *)FUN_00019b1c();
  local_2c = local_60 + 0x800;
  local_24 = 0x2000;
  if ((local_54 == (char *)0x0) || (*local_54 != '\0')) {
    *local_60 = 0x587a37fd;
    *(undefined2 *)(local_60 + 1) = 0x5a;
    local_30 = 6;
  }
  local_38 = local_60;
  __ptr = (uint *)malloc(0x49c);
  if (__ptr != (uint *)0x0) {
    __ptr[8] = 2;
    pvVar4 = malloc(0x6f28);
    if (pvVar4 == (void *)0x0) {
      free(__ptr);
      __ptr = (uint *)0x0;
    }
    else {
      *(undefined4 *)((int)pvVar4 + 0x3c) = 2;
      *(undefined4 *)((int)pvVar4 + 0x34) = 0x4000000;
      *(undefined4 *)((int)pvVar4 + 0x18) = 0;
      *(undefined4 *)((int)pvVar4 + 0x38) = 0;
      __ptr[0x126] = (uint)pvVar4;
      FUN_0007d0ea();
    }
  }
  local_68 = local_34;
  local_5c = 0;
  local_58 = 0;
  iVar8 = 1;
LAB_0007daa8:
  if (((int *)pppuVar13)[0xf] == ((int *)pppuVar13)[1]) {
    ((int *)pppuVar13)[-1] = 0x7dacb;
    iVar5 = FUN_0001ac64();
    if (iVar5 < 0) {
      ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x4f84;
      ((int *)pppuVar13)[-5] = 0x7dae6;
      FUN_000191bd();
      ((int *)pppuVar13)[4] = -1;
      ((int *)pppuVar13)[5] = -1;
      if (__ptr != (uint *)0x0) goto LAB_0007dafd;
      goto LAB_0007db27;
    }
    if ((iVar5 == 0) && (iVar8 == 1)) {
      if (__ptr == (uint *)0x0) goto LAB_0007db27;
      goto LAB_0007dafd;
    }
    ((int *)pppuVar13)[0xf] = iVar5;
    ((int *)pppuVar13)[0xe] = 0;
    ((int *)pppuVar13)[1] = 0;
  }
  if (iVar8 == 1) {
    bVar2 = false;
    do {
      if (*(char *)(((int *)pppuVar13)[3] + ((int *)pppuVar13)[1]) != '\0') {
        if (bVar2) {
          ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];
        }
        ((int *)pppuVar13)[-1] = 0x7dba9;
        FUN_0007d0ea();
        ((int *)pppuVar13)[1] = ((int *)pppuVar13)[0xe];
        goto LAB_0007dbb1;
      }
      ((int *)pppuVar13)[1] = ((int *)pppuVar13)[1] + 1;
      bVar2 = true;
    } while ((uint)((int *)pppuVar13)[1] < (uint)((int *)pppuVar13)[0xf]);
    ((int *)pppuVar13)[0xe] = ((int *)pppuVar13)[1];
  }
LAB_0007dbb1:
  ((int *)pppuVar13)[8] = ((int *)pppuVar13)[0x11];
  __ptr[4] = ((int *)pppuVar13)[1];
  uVar7 = *__ptr;
  ((int *)pppuVar13)[0xb] = (int)(__ptr + 0x15);
  do {
  } while (9 < uVar7);
LAB_0007dbcf:
  piVar14 = (int *)pppuVar13;
  switch(*(int *)((int)*pppuVar13 + -0x154d0 + uVar7 * 4) + (int)*pppuVar13) {
  case 0x7dc1f:
    goto switchD_0007dbdb_caseD_7dc1f;
  case 0x7dc7d:
    goto switchD_0007dbdb_caseD_7dc7d;
  case 0x7dcd4:
    goto switchD_0007dbdb_caseD_7dcd4;
  case 0x7dd72:
    goto switchD_0007dbdb_caseD_7dd72;
  case 0x7dfc9:
    ((int *)pppuVar13)[-1] = 0x7dfd4;
    cVar3 = FUN_0007d93a();
    if (cVar3 == '\0') goto LAB_0007dd81;
    *__ptr = 1;
    if ((__ptr[0x26] != 0x587a37fd) || ((short)__ptr[0x27] != 0x5a)) {
      iVar5 = ((int *)pppuVar13)[0x11];
      iVar8 = 5;
      goto LAB_0007df05;
    }
    ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);
    ((int *)pppuVar13)[-5] = 0x7e023;
    uVar7 = FUN_000a62f1();
    piVar14 = (int *)pppuVar13 + -1;
    piVar15 = (int *)pppuVar13 + -1;
    if (~uVar7 != __ptr[0x28]) goto LAB_0007defc;
    piVar15 = (int *)pppuVar13 + -1;
    if (*(char *)((int)__ptr + 0x9e) == '\0') {
      uVar7 = (uint)*(byte *)((int)__ptr + 0x9f);
      __ptr[7] = uVar7;
      piVar15 = (int *)pppuVar13 + -1;
      if (uVar7 < 0x10) {
        if (uVar7 < 2) goto switchD_0007dbdb_caseD_7e05d;
        iVar5 = ((int *)pppuVar13)[0x10];
        iVar8 = 2;
        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);
        goto LAB_0007df05;
      }
    }
    break;
  case 0x7e05d:
switchD_0007dbdb_caseD_7e05d:
    uVar10 = *(uint *)((int)piVar14 + 0x38);
    uVar7 = *(uint *)((int)piVar14 + 0x3c);
    pppuVar13 = (undefined ***)piVar14;
    if (uVar10 == uVar7) goto LAB_0007dd85;
    if (*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) != 0) {
      uVar7 = (uint)*(byte *)(*(int *)((int)piVar14 + 0x34) + uVar10) * 4 + 4;
      __ptr[0xe] = uVar7;
      __ptr[0x25] = uVar7;
      __ptr[0x24] = 0;
      *__ptr = 2;
      goto switchD_0007dbdb_caseD_7e09e;
    }
    *(uint *)((int)piVar14 + 0x38) = uVar10 + 1;
    __ptr[4] = uVar10;
    *__ptr = 6;
    uVar7 = 6;
    goto LAB_0007dbcf;
  case 0x7e09e:
switchD_0007dbdb_caseD_7e09e:
    piVar14[-1] = 0x7e0a9;
    cVar3 = FUN_0007d93a();
    pppuVar13 = (undefined ***)piVar14;
    if (cVar3 == '\0') goto LAB_0007dd81;
    __ptr[0x25] = __ptr[0x25] - 4;
    piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);
    piVar14[-5] = 0x7e0df;
    uVar10 = FUN_000a62f1();
    uVar7 = __ptr[0x25];
    pppuVar13 = (undefined ***)(piVar14 + -1);
    piVar16 = piVar14 + -1;
    piVar15 = piVar14 + -1;
    if (~uVar10 != *(uint *)((int)__ptr + uVar7 + 0x98)) goto LAB_0007defc;
    __ptr[0x24] = 2;
    bVar19 = *(byte *)((int)__ptr + 0x99);
    piVar15 = piVar14 + -1;
    if ((bVar19 & 0x3f) == 0) {
      if ((bVar19 & 0x40) == 0) {
        __ptr[10] = 0xffffffff;
        __ptr[0xb] = 0xffffffff;
        if (-1 < (char)bVar19) goto LAB_0007e129;
LAB_0007e572:
        *(uint *)((int)piVar16 + -0x10) = uVar7;
        *(undefined4 *)((int)piVar16 + -0x14) = 0x7e585;
        iVar8 = FUN_0007d044();
        pppuVar13 = (undefined ***)((int)piVar16 + -4);
        piVar15 = (int *)((int)piVar16 + -4);
        if (iVar8 != 1) goto LAB_0007defc;
        __ptr[0xc] = __ptr[2];
        __ptr[0xd] = __ptr[3];
        uVar7 = __ptr[0x25];
        uVar10 = __ptr[0x24];
        uVar9 = uVar7 - uVar10;
      }
      else {
        piVar14[-5] = uVar7;
        piVar14[-6] = 0x7e5cc;
        iVar8 = FUN_0007d044();
        pppuVar13 = (undefined ***)(piVar14 + -2);
        piVar16 = piVar14 + -2;
        piVar15 = piVar14 + -2;
        if (iVar8 != 1) goto LAB_0007defc;
        __ptr[10] = __ptr[2];
        __ptr[0xb] = __ptr[3];
        uVar7 = __ptr[0x25];
        if (*(char *)((int)__ptr + 0x99) < '\0') goto LAB_0007e572;
LAB_0007e129:
        __ptr[0xc] = 0xffffffff;
        __ptr[0xd] = 0xffffffff;
        uVar10 = __ptr[0x24];
        uVar9 = uVar7 - uVar10;
      }
      piVar15 = (int *)pppuVar13;
      if (uVar9 < 2) goto LAB_0007defc;
      __ptr[0x24] = uVar10 + 1;
      if (*(char *)((int)__ptr + uVar10 + 0x98) == '!') {
        __ptr[0x24] = uVar10 + 2;
        if (*(char *)((int)__ptr + uVar10 + 0x99) == '\x01') {
          if (uVar10 + 2 == uVar7) goto LAB_0007defc;
          uVar9 = uVar10 + 3;
          __ptr[0x24] = uVar9;
          bVar19 = *(byte *)((int)__ptr + uVar10 + 0x9a);
          if (bVar19 < 0x28) {
            uVar10 = __ptr[0x126];
            uVar18 = (bVar19 & 1) + 2 << ((bVar19 >> 1) + 0xb & 0x1f);
            *(uint *)(uVar10 + 0x30) = uVar18;
            if (*(uint *)(uVar10 + 0x34) < uVar18) {
              iVar5 = *(int *)((int)pppuVar13 + 0x44);
              iVar8 = 4;
              goto LAB_0007df05;
            }
            *(uint *)(uVar10 + 0x2c) = uVar18;
            if ((*(int *)(uVar10 + 0x3c) == 2) && (*(uint *)(uVar10 + 0x38) < uVar18)) {
              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x18);
              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e51f;
              free(*(void **)((int)pppuVar13 + -0x10));
              *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar10 + 0x30);
              *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7e528;
              pvVar4 = malloc(*(size_t *)((int)pppuVar13 + -0x10));
              *(void **)(uVar10 + 0x18) = pvVar4;
              if (pvVar4 == (void *)0x0) {
                *(undefined4 *)(uVar10 + 0x38) = 0;
                *(undefined1 *)(__ptr + 9) = 0;
                if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;
                iVar8 = 3;
                goto LAB_0007de61;
              }
              uVar7 = __ptr[0x25];
              uVar9 = __ptr[0x24];
            }
            *(undefined4 *)(uVar10 + 0x68) = 0;
            *(undefined4 *)(uVar10 + 0x40) = 0;
            *(undefined1 *)(uVar10 + 0x50) = 1;
            *(undefined4 *)(uVar10 + 0x6ee4) = 0;
            while (uVar9 < uVar7) {
              __ptr[0x24] = uVar9 + 1;
              iVar8 = uVar9 + 0x98;
              uVar9 = uVar9 + 1;
              if (*(char *)((int)__ptr + iVar8) != '\0') goto LAB_0007e4e9;
            }
            __ptr[0x24] = 0;
            __ptr[0xf] = 0;
            __ptr[0x10] = 0;
            __ptr[0x11] = 0;
            __ptr[0x12] = 0;
            *__ptr = 3;
            goto switchD_0007dbdb_caseD_7e21b;
          }
        }
      }
    }
    break;
  case 0x7e21b:
switchD_0007dbdb_caseD_7e21b:
    __ptr[4] = ((int *)pppuVar13)[0xe];
    __ptr[5] = ((int *)pppuVar13)[0x11];
    ((int *)pppuVar13)[-1] = 0x7e238;
    iVar8 = FUN_0007d17c();
    ((int *)pppuVar13)[7] = iVar8;
    uVar9 = (((int *)pppuVar13)[0xe] - __ptr[4]) + __ptr[0xf];
    uVar18 = __ptr[0x10] + (uint)CARRY4(((int *)pppuVar13)[0xe] - __ptr[4],__ptr[0xf]);
    __ptr[0xf] = uVar9;
    __ptr[0x10] = uVar18;
    iVar5 = ((int *)pppuVar13)[0x11];
    uVar7 = __ptr[5];
    ((int *)pppuVar13)[9] = uVar7;
    uVar7 = iVar5 - uVar7;
    ((int *)pppuVar13)[10] = uVar7;
    uVar10 = uVar7 + __ptr[0x11];
    uVar7 = __ptr[0x12] + (uint)CARRY4(uVar7,__ptr[0x11]);
    __ptr[0x11] = uVar10;
    __ptr[0x12] = uVar7;
    if ((uVar18 <= __ptr[0xb] && (uint)(__ptr[10] < uVar9) <= __ptr[0xb] - uVar18) &&
       (uVar7 <= __ptr[0xd] && (uint)(__ptr[0xc] < uVar10) <= __ptr[0xd] - uVar7)) {
      if (__ptr[7] == 1) {
        ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);
        ((int *)pppuVar13)[-5] = 0x7e2b9;
        uVar7 = FUN_000a62f1();
        __ptr[6] = ~uVar7;
        pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);
      }
      if (((int *)pppuVar13)[7] == 1) {
        piVar15 = (int *)pppuVar13;
        if (((__ptr[0xb] & __ptr[10]) == 0xffffffff) ||
           (__ptr[0xb] == __ptr[0x10] && __ptr[10] == __ptr[0xf])) {
          uVar7 = __ptr[0x11];
          if (((__ptr[0xd] & __ptr[0xc]) == 0xffffffff) ||
             (__ptr[0xd] == __ptr[0x12] && __ptr[0xc] == uVar7)) {
            uVar10 = __ptr[0x15];
            uVar18 = __ptr[0xf] + __ptr[0x15];
            uVar9 = __ptr[0xe] + uVar18;
            bVar19 = *(byte *)((int)*pppuVar13 + -0x154a8 + __ptr[7]);
            __ptr[0x15] = uVar9 + bVar19;
            __ptr[0x16] = __ptr[0x10] + __ptr[0x16] + (uint)CARRY4(__ptr[0xf],uVar10) +
                          (uint)CARRY4(__ptr[0xe],uVar18) + (uint)CARRY4(uVar9,(uint)bVar19);
            puVar1 = __ptr + 0x17;
            uVar10 = *puVar1;
            *puVar1 = *puVar1 + uVar7;
            __ptr[0x18] = __ptr[0x18] + __ptr[0x12] + (uint)CARRY4(uVar10,uVar7);
            ((int *)pppuVar13)[-4] = *(undefined4 *)((int)*pppuVar13 + 0xcf8);
            ((int *)pppuVar13)[-5] = 0x7e349;
            uVar7 = FUN_000a62f1();
            __ptr[0x19] = ~uVar7;
            puVar1 = __ptr + 0x13;
            uVar7 = *puVar1;
            *puVar1 = *puVar1 + 1;
            __ptr[0x14] = __ptr[0x14] + (uint)(0xfffffffe < uVar7);
            *__ptr = 4;
            pppuVar13 = (undefined ***)((int *)pppuVar13 + -1);
            goto switchD_0007dbdb_caseD_7e360;
          }
        }
        goto LAB_0007defc;
      }
      iVar8 = ((int *)pppuVar13)[7];
      goto LAB_0007dfbc;
    }
    iVar8 = 7;
    goto LAB_0007df05;
  case 0x7e360:
switchD_0007dbdb_caseD_7e360:
    uVar10 = __ptr[0xf];
    uVar9 = __ptr[0x10];
    if ((uVar10 & 3) != 0) {
      uVar18 = *(uint *)((int)pppuVar13 + 0x38);
      uVar7 = *(uint *)((int)pppuVar13 + 0x3c);
      if (uVar18 == uVar7) goto LAB_0007dd85;
      iVar8 = *(int *)((int)pppuVar13 + 0x34);
      *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;
      piVar15 = (int *)pppuVar13;
      if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;
      uVar9 = uVar9 + (0xfffffffe < uVar10);
      while( true ) {
        uVar10 = uVar10 + 1;
        __ptr[0xf] = uVar10;
        __ptr[0x10] = uVar9;
        if ((uVar10 & 3) == 0) break;
        uVar18 = *(uint *)((int)pppuVar13 + 0x38);
        if (uVar18 == uVar7) goto LAB_0007dd85;
        *(uint *)((int)pppuVar13 + 0x38) = uVar18 + 1;
        uVar9 = uVar9 + (0xfffffffe < uVar10);
        if (*(char *)(iVar8 + uVar18) != '\0') goto LAB_0007defc;
      }
    }
    *__ptr = 5;
    piVar14 = (int *)pppuVar13;
switchD_0007dbdb_caseD_7e3b0:
    pppuVar13 = (undefined ***)piVar14;
    if (__ptr[7] == 1) {
      uVar10 = piVar14[0xf];
      iVar8 = piVar14[0xd];
      uVar7 = piVar14[0xe];
      do {
        if (uVar10 == uVar7) goto LAB_0007dd85;
        uVar9 = __ptr[1];
        uVar18 = __ptr[6];
        uVar7 = uVar7 + 1;
        piVar14[0xe] = uVar7;
        if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f)))
        goto LAB_0007dcff;
        uVar9 = uVar9 + 8;
        __ptr[1] = uVar9;
      } while (uVar9 < 0x20);
      __ptr[6] = 0;
      __ptr[1] = 0;
    }
    else {
      uVar10 = __ptr[1];
      uVar9 = (uint)*(byte *)(*piVar14 + -0x154a8 + __ptr[7]);
      if (uVar10 < uVar9) {
        uVar18 = piVar14[0xe];
        uVar7 = piVar14[0xf];
        if (uVar18 == uVar7) goto LAB_0007dd85;
        uVar11 = uVar18;
        while( true ) {
          uVar11 = uVar11 + 1;
          if (uVar11 == (uVar18 - uVar10) + uVar9) break;
          if (uVar11 == uVar7) {
            piVar14[0xe] = uVar7;
            __ptr[1] = (uVar11 - uVar18) + uVar10;
            goto LAB_0007dd85;
          }
        }
        piVar14[0xe] = uVar11;
      }
      __ptr[1] = 0;
    }
    *__ptr = 1;
    uVar7 = 1;
    goto LAB_0007dbcf;
  case 0x7e3b0:
    goto switchD_0007dbdb_caseD_7e3b0;
  }
LAB_0007e4e9:
  iVar5 = *(int *)((int)piVar15 + 0x44);
  iVar8 = 6;
  pppuVar13 = (undefined ***)piVar15;
  goto LAB_0007df05;
switchD_0007dbdb_caseD_7dc1f:
  piVar15 = (int *)pppuVar13;
  do {
    *(undefined4 *)((int)piVar15 + -0x10) = *(undefined4 *)((int)piVar15 + 0x3c);
    *(undefined4 *)((int)piVar15 + -0x14) = 0x7dc3a;
    iVar8 = FUN_0007d044();
    piVar14 = (int *)((int)piVar15 + -4);
    pppuVar13 = (undefined ***)((int)piVar15 + -4);
    if (iVar8 != 1) {
      *(undefined4 *)((int)piVar15 + -8) = 0x7dfbc;
      FUN_0007d137();
      pppuVar13 = (undefined ***)((int)piVar15 + -4);
LAB_0007dfbc:
      if (iVar8 == 0) goto LAB_0007dd81;
      goto LAB_0007dd04;
    }
    uVar7 = __ptr[0x1a];
    if (uVar7 == 1) {
      puVar1 = __ptr + 0x1f;
      uVar7 = *puVar1;
      *puVar1 = *puVar1 + __ptr[2];
      __ptr[0x20] = __ptr[0x20] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);
      __ptr[0x1a] = 2;
LAB_0007dc68:
      uVar7 = __ptr[0x1d];
      uVar10 = __ptr[0x1e];
      pppuVar13 = (undefined ***)((int)piVar15 + -4);
    }
    else {
      if (uVar7 == 0) {
        uVar7 = __ptr[2];
        uVar10 = __ptr[3];
        __ptr[0x1d] = uVar7;
        __ptr[0x1e] = uVar10;
        if (__ptr[0x14] == uVar10 && __ptr[0x13] == uVar7) {
          __ptr[0x1a] = 1;
          goto LAB_0007dc6e;
        }
        goto LAB_0007dcff;
      }
      if (uVar7 != 2) goto LAB_0007dc68;
      puVar1 = __ptr + 0x21;
      uVar7 = *puVar1;
      *puVar1 = *puVar1 + __ptr[2];
      __ptr[0x22] = __ptr[0x22] + __ptr[3] + (uint)CARRY4(uVar7,__ptr[2]);
      *(undefined4 *)((int)piVar15 + -0x14) = *(undefined4 *)(*(int *)((int)piVar15 + -4) + 0xcf8);
      *(undefined4 *)((int)piVar15 + -0x18) = 0x7df5c;
      uVar7 = FUN_000a62f1();
      __ptr[0x23] = ~uVar7;
      uVar7 = __ptr[0x1d] - 1;
      uVar10 = (__ptr[0x1e] - 1) + (uint)(__ptr[0x1d] != 0);
      __ptr[0x1d] = uVar7;
      __ptr[0x1e] = uVar10;
      __ptr[0x1a] = 1;
      pppuVar13 = (undefined ***)((int)piVar15 + -8);
    }
LAB_0007dc6e:
    piVar15 = (int *)pppuVar13;
  } while (uVar10 != 0 || uVar7 != 0);
  *__ptr = 7;
switchD_0007dbdb_caseD_7dc7d:
  uVar7 = __ptr[0x1b];
  iVar8 = *(int *)((int)pppuVar13 + 0x38) + 1;
  uVar10 = __ptr[4];
LAB_0007dc95:
  if ((~uVar10 + iVar8 + uVar7 & 3) == 0) {
    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dcae;
    uVar6 = FUN_0007d137();
    *(undefined4 *)((int)pppuVar13 + -4) = uVar6;
    *(undefined4 *)((int)pppuVar13 + -8) = 0x14;
    *(uint **)((int)pppuVar13 + -0xc) = __ptr + 0x1f;
    *(uint **)((int)pppuVar13 + -0x10) = __ptr + 0x15;
    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7dcc2;
    iVar8 = memcmp(*(void **)((int)pppuVar13 + -0x10),*(void **)((int)pppuVar13 + -0xc),
                   *(size_t *)((int)pppuVar13 + -8));
    piVar15 = (int *)pppuVar13;
    if (iVar8 != 0) goto LAB_0007ddc4;
    *__ptr = 8;
switchD_0007dbdb_caseD_7dcd4:
    uVar10 = *(uint *)((int)pppuVar13 + 0x3c);
    iVar8 = *(int *)((int)pppuVar13 + 0x34);
    uVar7 = *(uint *)((int)pppuVar13 + 0x38);
    while (uVar10 != uVar7) {
      uVar9 = __ptr[1];
      uVar18 = __ptr[6];
      uVar7 = uVar7 + 1;
      *(uint *)((int)pppuVar13 + 0x38) = uVar7;
      piVar14 = (int *)pppuVar13;
      if (*(char *)(iVar8 + -1 + uVar7) != (char)(uVar18 >> ((byte)uVar9 & 0x1f))) {
LAB_0007dcff:
        iVar8 = 7;
        pppuVar13 = (undefined ***)piVar14;
LAB_0007dd04:
        *(undefined1 *)(__ptr + 9) = 0;
        iVar5 = *(int *)((int)pppuVar13 + 0x44);
        goto joined_r0x0007dd0e;
      }
      uVar9 = uVar9 + 8;
      __ptr[1] = uVar9;
      if (0x1f < uVar9) {
        __ptr[6] = 0;
        __ptr[1] = 0;
        __ptr[0x25] = 0xc;
        *__ptr = 9;
switchD_0007dbdb_caseD_7dd72:
        piVar14[-1] = 0x7dd7d;
        cVar3 = FUN_0007d93a();
        pppuVar13 = (undefined ***)piVar14;
        if (cVar3 == '\0') {
LAB_0007dd81:
          uVar7 = *(uint *)((int)pppuVar13 + 0x38);
          break;
        }
        piVar15 = piVar14;
        if (*(short *)((int)__ptr + 0xa2) == 0x5a59) {
          piVar14[-4] = *(undefined4 *)(*piVar14 + 0xcf8);
          piVar14[-5] = 0x7de00;
          uVar7 = FUN_000a62f1();
          piVar12 = piVar14 + -1;
          pppuVar13 = (undefined ***)(piVar14 + -1);
          piVar15 = piVar14 + -1;
          if (~uVar7 != __ptr[0x26]) goto LAB_0007ddc4;
          iVar8 = piVar14[0x10];
          if (((__ptr[0x1c] >> 2 != 0 || __ptr[0x27] != (__ptr[0x1b] >> 2 | __ptr[0x1c] << 0x1e)) ||
              ((char)__ptr[0x28] != '\0')) || ((uint)*(byte *)((int)__ptr + 0xa1) != __ptr[7])) {
            *(undefined1 *)(__ptr + 9) = 0;
            if (iVar8 != 0) {
              iVar8 = 7;
              pppuVar13 = (undefined ***)(piVar14 + -1);
              goto LAB_0007de61;
            }
            goto LAB_0007dd1d;
          }
          *(undefined1 *)(__ptr + 9) = 0;
          if (iVar8 != 0) {
            iVar8 = 1;
            pppuVar13 = (undefined ***)(piVar14 + -1);
            goto LAB_0007de61;
          }
          goto LAB_0007de8b;
        }
LAB_0007ddc4:
        pppuVar13 = (undefined ***)piVar15;
        *(undefined1 *)(__ptr + 9) = 0;
        if (*(int *)((int)pppuVar13 + 0x44) == 0) goto LAB_0007dd1d;
        iVar8 = 7;
        goto LAB_0007de61;
      }
    }
  }
  else {
    if (*(int *)((int)pppuVar13 + 0x3c) + 1 != iVar8) goto LAB_0007deec;
    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dee3;
    FUN_0007d137();
    uVar7 = *(uint *)((int)pppuVar13 + 0x38);
  }
LAB_0007dd85:
  iVar8 = *(int *)((int)pppuVar13 + 0x44);
  if ((*(uint *)((int)pppuVar13 + 4) == uVar7) && (*(int *)((int)pppuVar13 + 0x20) == iVar8)) {
    if ((char)__ptr[9] == '\0') {
      *(undefined1 *)(__ptr + 9) = 1;
      if (iVar8 == 0) goto LAB_0007de94;
      iVar8 = 0;
      goto LAB_0007de61;
    }
    if (iVar8 != 0) {
      iVar8 = 8;
      goto LAB_0007de61;
    }
    goto LAB_0007dd1d;
  }
  *(undefined1 *)(__ptr + 9) = 0;
  if (iVar8 != 0) {
    iVar8 = 0;
    goto LAB_0007de61;
  }
  iVar8 = 0;
  goto LAB_0007de94;
LAB_0007deec:
  *(int *)((int)pppuVar13 + 0x38) = iVar8;
  iVar8 = iVar8 + 1;
  piVar15 = (int *)pppuVar13;
  if (*(char *)(*(int *)((int)pppuVar13 + 0x34) + -2 + iVar8) != '\0') goto LAB_0007defc;
  goto LAB_0007dc95;
LAB_0007defc:
  iVar5 = *(int *)((int)piVar15 + 0x44);
  iVar8 = 7;
  pppuVar13 = (undefined ***)piVar15;
LAB_0007df05:
  *(undefined1 *)(__ptr + 9) = 0;
joined_r0x0007dd0e:
  if (iVar5 != 0) {
LAB_0007de61:
    *(undefined4 *)((int)pppuVar13 + -4) = 0x7de70;
    FUN_000804d0();
    puVar1 = (uint *)((int)pppuVar13 + 0x10);
    uVar7 = *puVar1;
    *puVar1 = *puVar1 + *(uint *)((int)pppuVar13 + 0x44);
    *(int *)((int)pppuVar13 + 0x14) =
         *(int *)((int)pppuVar13 + 0x14) + (uint)CARRY4(uVar7,*(uint *)((int)pppuVar13 + 0x44));
    *(undefined4 *)((int)pppuVar13 + 0x44) = 0;
    piVar12 = (int *)pppuVar13;
    if (iVar8 == 1) {
LAB_0007de8b:
      uVar7 = *(uint *)((int)piVar12 + 0x38);
      iVar8 = 1;
      pppuVar13 = (undefined ***)piVar12;
      goto LAB_0007de94;
    }
    if (iVar8 == 0) {
      uVar7 = *(uint *)((int)pppuVar13 + 0x38);
      iVar8 = 0;
      goto LAB_0007de94;
    }
  }
  if (iVar8 != 2) {
LAB_0007dd1d:
    ((int *)pppuVar13)[-4] = (int)*pppuVar13 + -0x6009;
    ((int *)pppuVar13)[-5] = 0x7dd30;
    FUN_000191bd();
    ((int *)pppuVar13)[4] = -1;
    ((int *)pppuVar13)[5] = -1;
LAB_0007dafd:
    uVar7 = __ptr[0x126];
    *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)(uVar7 + 0x18);
    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db14;
    free(*(void **)((int)pppuVar13 + -0x10));
    *(uint *)((int)pppuVar13 + -0x10) = uVar7;
    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db1c;
    free(*(void **)((int)pppuVar13 + -0x10));
    *(uint **)((int)pppuVar13 + -0x10) = __ptr;
    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db24;
    free(*(void **)((int)pppuVar13 + -0x10));
LAB_0007db27:
    *(undefined4 *)((int)pppuVar13 + -0x10) = *(undefined4 *)((int)pppuVar13 + 0xc);
    *(undefined4 *)((int)pppuVar13 + -0x14) = 0x7db37;
    free(*(void **)((int)pppuVar13 + -0x10));
    if (*(int *)((int)pppuVar13 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)) {
      return *(undefined8 *)((int)pppuVar13 + 0x10);
    }
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)((int)pppuVar13 + -4) = 0x7dc1f;
    FUN_00017e10();
  }
  uVar7 = *(uint *)((int)pppuVar13 + 0x38);
  iVar8 = 2;
LAB_0007de94:
  *(uint *)((int)pppuVar13 + 4) = uVar7;
  goto LAB_0007daa8;
}

