
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

var_conflict * evaluate(node_conflict *op,var_conflict *res)

{
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

uint * __regparm3 FUN_00094969(uint *param_1,uint *param_2)

{
  char cVar1;
  undefined4 uVar2;
  undefined4 uVar3;
  undefined *puVar4;
  int *piVar5;
  int iVar6;
  int iVar7;
  uint uVar8;
  regex_t *__preg;
  int *piVar9;
  FILE *pFVar10;
  undefined4 *puVar11;
  uint *puVar12;
  size_t sVar13;
  time_t tVar14;
  char *pcVar15;
  char *pcVar16;
  undefined1 *puVar17;
  uint *puVar18;
  byte *pbVar19;
  undefined4 extraout_EDX;
  int iVar20;
  uint uVar21;
  uint *puVar22;
  longdouble lVar23;
  longdouble lVar24;
  uint *local_80;
  uint local_7c;
  uint *local_78;
  double local_74;
  uint *local_6c;
  char *local_68;
  double local_64;
  uint *local_5c;
  char *local_4c;
  uint local_48;
  uint local_34;
  
  if (param_1 == (uint *)0x0) {
    FUN_0009227b();
    param_2[3] = 0;
    FUN_00092d5e();
    return param_2;
  }
  FUN_00092151();
  iVar6 = DAT_000d1700;
  piVar5 = DAT_000d16fc;
  puVar4 = PTR_stdout_000d0fb4;
  local_80 = param_1;
  local_78 = param_2;
LAB_000949b7:
  local_7c = *local_80;
  uVar8 = local_80[1];
  *(uint *)(iVar6 + -0x24) = uVar8;
  puVar18 = (uint *)local_80[2];
  uVar21 = local_7c >> 8 & 0xff;
  if (uVar21 == 1) {
    if (((*puVar18 & 0xff00) != 0x2700) && ((*puVar18 & 0xff00) != 0x1800)) {
                    /* WARNING: Subroutine does not return */
      FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),uVar8,"Not an array");
    }
    if (puVar18[3] == 0) {
      FUN_0009211c();
      FUN_0009234a();
    }
    else {
      FUN_00094969();
      FUN_0009295c();
      FUN_0009211c();
      FUN_0009269c();
    }
    goto LAB_00094ab0;
  }
  if ((local_7c & 0x10000) != 0) {
    local_6c = (uint *)FUN_00094969();
  }
  if ((local_7c & 0x20000) != 0) {
    local_5c = (uint *)FUN_00094969();
  }
  if ((local_7c & 0x40000) != 0) {
    local_68 = (char *)FUN_0009295c();
  }
  if ((local_7c & 0x80000) != 0) {
    local_4c = (char *)FUN_0009295c();
  }
  if ((local_7c & 0x100000) != 0) {
    lVar23 = (longdouble)FUN_000925a2();
    local_74 = (double)lVar23;
  }
  uVar8 = local_7c & 0x7f;
  switch(uVar21) {
  default:
    goto switchD_00094a90_caseD_0;
  case 2:
    break;
  case 3:
    *(uint *)(iVar6 + -0x28) = local_80[2];
    break;
  case 4:
  case 5:
    if (local_80[3] == 0) {
      pFVar10 = *(FILE **)PTR_stdout_000d0fb4;
    }
    else {
      piVar9 = (int *)FUN_00093a51();
      pFVar10 = (FILE *)*piVar9;
      if (pFVar10 == (FILE *)0x0) {
        if (uVar8 == 0x7c) {
          pFVar10 = popen(local_4c,"w");
          *piVar9 = (int)pFVar10;
          if (pFVar10 == (FILE *)0x0) {
                    /* WARNING: Subroutine does not return */
            FUN_00018e79("popen");
          }
          *(undefined1 *)(piVar9 + 5) = 1;
        }
        else {
          pFVar10 = (FILE *)FUN_00019c3e();
          *piVar9 = (int)pFVar10;
        }
      }
    }
    if ((local_7c & 0xff00) == 0x400) {
      if (puVar18 == (uint *)0x0) {
        pcVar15 = (char *)FUN_0009295c();
        fputs_unlocked(pcVar15,pFVar10);
      }
      else {
        while( true ) {
          puVar22 = (uint *)0x0;
          if ((*puVar18 & 0xff00) == 0x1300) {
            puVar22 = (uint *)puVar18[3];
          }
          puVar18 = puVar22;
          pbVar19 = (byte *)FUN_00094969();
          if ((*pbVar19 & 1) == 0) {
            pcVar15 = (char *)FUN_0009295c();
            fputs_unlocked(pcVar15,pFVar10);
          }
          else {
            lVar23 = (longdouble)FUN_000925a2();
            FUN_0009295c();
            FUN_00092815((double)lVar23,1,extraout_EDX);
            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);
          }
          if (puVar18 == (uint *)0x0) break;
          pcVar15 = (char *)FUN_0009295c();
          fputs_unlocked(pcVar15,pFVar10);
        }
      }
      pcVar15 = (char *)FUN_0009295c();
      fputs_unlocked(pcVar15,pFVar10);
      fflush(pFVar10);
    }
    else {
      pcVar15 = (char *)FUN_00095fab();
      fputs_unlocked(pcVar15,pFVar10);
      free(pcVar15);
      fflush(pFVar10);
    }
    break;
  case 6:
    iVar7 = FUN_0009211c();
    if ((*local_6c & 0x800) == 0) {
      *local_6c = *local_6c | 0x800;
      uVar8 = 0;
    }
    else {
      uVar8 = local_6c[4];
    }
    piVar9 = (int *)FUN_00019b89();
    local_6c[4] = (uint)piVar9;
    *piVar9 = (int)(piVar9 + 3);
    piVar9[1] = (int)(piVar9 + 3);
    piVar9[2] = uVar8;
    if (*(int *)(iVar7 + 4) != 0) {
      uVar8 = 0;
      do {
        iVar20 = *(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4);
        if (iVar20 != 0) {
          pcVar15 = (char *)*piVar9;
          do {
            strcpy(pcVar15,(char *)(iVar20 + 0x1c));
            pcVar16 = (char *)*piVar9;
            do {
              pcVar15 = pcVar16 + 1;
              *piVar9 = (int)pcVar15;
              cVar1 = *pcVar16;
              pcVar16 = pcVar15;
            } while (cVar1 != '\0');
            iVar20 = *(int *)(iVar20 + 0x18);
          } while (iVar20 != 0);
        }
        uVar8 = uVar8 + 1;
      } while (uVar8 < *(uint *)(iVar7 + 4));
    }
    break;
  case 7:
    goto switchD_00094a90_caseD_7;
  case 10:
    FUN_00095b2f();
    goto switchD_00094a90_caseD_7;
  case 0xb:
    goto switchD_00094a90_caseD_b;
  case 0xc:
    *(undefined1 *)(iVar6 + -5) = 1;
    goto switchD_00094a90_caseD_b;
  case 0xd:
    if ((*puVar18 & 0xff00) != 0x1300) {
      iVar7 = FUN_00096324();
      if (iVar7 != 0) goto LAB_000956d3;
      local_80 = (uint *)local_80[3];
      break;
    }
    if (((local_7c & 0x200000) == 0) && (iVar7 = FUN_00096324(), iVar7 == 0)) {
      local_80 = (uint *)local_80[3];
      break;
    }
    *local_80 = *local_80 | 0x200000;
    iVar7 = FUN_00096324();
    if (iVar7 != 0) {
      *local_80 = *local_80 & 0xffdfffff;
    }
    goto LAB_000956d3;
  case 0xe:
    puVar18 = (uint *)local_6c[4];
    pcVar15 = (char *)puVar18[1];
    if (pcVar15 < (char *)*puVar18) {
      do {
        puVar18[1] = (uint)(pcVar15 + 1);
        cVar1 = *pcVar15;
        pcVar15 = pcVar15 + 1;
      } while (cVar1 != '\0');
      FUN_00093016();
      goto LAB_000956d3;
    }
    uVar8 = puVar18[2];
    free(puVar18);
    local_6c[4] = uVar8;
    local_80 = (uint *)local_80[3];
    break;
  case 0x10:
  case 0x22:
    lVar23 = (longdouble)FUN_000925a2();
    switch(uVar8) {
    case 0x25:
      lVar24 = (longdouble)0;
      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)
                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40) {
LAB_00095638:
        pcVar15 = "Division by zero";
        goto LAB_00094f35;
      }
      local_74 = (double)((longdouble)local_74 -
                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23);
      break;
    case 0x26:
switchD_000950ee_caseD_2:
      pcVar15 = "Math support is not compiled in";
      goto LAB_00094f35;
    case 0x27:
    case 0x28:
    case 0x29:
    case 0x2c:
    case 0x2e:
      break;
    case 0x2a:
      local_74 = (double)(lVar23 * (longdouble)local_74);
      break;
    case 0x2b:
      local_74 = (double)(lVar23 + (longdouble)local_74);
      break;
    case 0x2d:
      local_74 = (double)((longdouble)local_74 - lVar23);
      break;
    case 0x2f:
      lVar24 = (longdouble)0;
      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)
                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)
      goto LAB_00095638;
      local_74 = (double)((longdouble)local_74 / lVar23);
    }
    if ((local_7c & 0xff00) != 0x1000) {
      local_78 = local_6c;
    }
    FUN_0009227b();
    *local_78 = *local_78 | 1;
    *(double *)(local_78 + 1) = local_74;
    FUN_00092d5e();
    break;
  case 0x11:
    local_78 = (uint *)FUN_00093dbd();
    break;
  case 0x13:
  case 0x15:
    puVar17 = &DAT_000cd91f;
    if ((local_7c & 0xff00) == 0x1300) {
      puVar17 = (undefined1 *)FUN_0009295c();
    }
    uVar8 = FUN_00019fd7("%s%s%s",local_68,puVar17,local_4c);
    FUN_0009227b();
    local_78[3] = uVar8;
    FUN_00092d5e();
    break;
  case 0x14:
    FUN_000925a2();
    if (((((ushort)*local_6c ^ 0x4000) & 0x4201) == 0) ||
       (FUN_000925a2(), (((ushort)*local_5c ^ 0x4000) & 0x4201) == 0)) {
      pcVar15 = (char *)FUN_0009295c();
      pcVar16 = (char *)FUN_0009295c();
      if (*(char *)(iVar6 + -8) == '\0') {
        iVar7 = strcmp(pcVar15,pcVar16);
        lVar23 = (longdouble)iVar7;
        goto joined_r0x0009536c;
      }
      iVar7 = strcasecmp(pcVar15,pcVar16);
      lVar23 = (longdouble)iVar7;
      if ((local_7c & 0x7e) != 2) goto LAB_00095372;
LAB_000952b4:
      local_48 = (uint)((longdouble)0 <= lVar23);
    }
    else {
      lVar24 = (longdouble)FUN_000925a2();
      lVar23 = (longdouble)FUN_000925a2();
      lVar23 = (longdouble)(double)lVar24 - lVar23;
joined_r0x0009536c:
      if ((local_7c & 0x7e) == 2) goto LAB_000952b4;
LAB_00095372:
      if ((local_7c & 0x7e) == 4) {
        lVar24 = (longdouble)0;
        local_48 = (uint)((byte)(lVar23 < lVar24 |
                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |
                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40);
      }
      else if ((local_7c & 0x7e) == 0) {
        local_48 = (uint)((longdouble)0 < lVar23);
      }
    }
    FUN_0009227b();
    *local_78 = *local_78 | 1;
    *(double *)(local_78 + 1) = (double)(int)(local_7c & 1 ^ local_48 ^ 1);
    FUN_00092d5e();
    break;
  case 0x16:
    switch(uVar8) {
    case 0:
      local_64 = (double)(longlong)ROUND(local_74);
      break;
    case 1:
      iVar7 = rand();
      local_64 = (double)iVar7 / DAT_000b65c0;
      break;
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
      goto switchD_000950ee_caseD_2;
    case 7:
      uVar8 = *(uint *)(iVar6 + 0x8c);
      if (puVar18 == (uint *)0x0) {
        local_34 = time((time_t *)0x0);
      }
      else {
        local_34 = (uint)(longlong)ROUND(local_74);
      }
      local_64 = (double)(ulonglong)uVar8;
      local_64 = (double)(longlong)local_64;
      *(uint *)(iVar6 + 0x8c) = local_34;
      srand(local_34);
      break;
    case 8:
      tVar14 = time((time_t *)0x0);
      local_64 = (double)tVar14;
      break;
    case 9:
      if (puVar18 == (uint *)0x0) {
        local_68 = (char *)FUN_0009295c();
      }
      else if ((*local_6c & 2) != 0) {
        local_64 = (double)(ulonglong)*(uint *)local_6c[4];
        local_64 = (double)(longlong)local_64;
        break;
      }
      sVar13 = strlen(local_68);
      local_64 = (double)(ulonglong)sVar13;
      local_64 = (double)(longlong)local_64;
      break;
    case 10:
      FUN_00019f78();
      if (local_68 == (char *)0x0) {
        local_64 = 0.0;
      }
      else if (*local_68 == '\0') {
        local_64 = 0.0;
      }
      else {
        iVar7 = system(local_68);
        local_64 = (double)(iVar7 >> 8);
      }
      break;
    case 0xb:
      if (puVar18 == (uint *)0x0) {
        fflush(*(FILE **)puVar4);
      }
      else if ((local_68 == (char *)0x0) || (*local_68 == '\0')) {
        FUN_00019f78();
      }
      else {
        puVar11 = (undefined4 *)FUN_00093a51();
        fflush((FILE *)*puVar11);
      }
      break;
    case 0xc:
      puVar11 = (undefined4 *)FUN_000939df();
      if (puVar11 == (undefined4 *)0x0) {
        local_64 = 0.0;
      }
      else {
        pFVar10 = (FILE *)*puVar11;
        if (pFVar10 == (FILE *)0x0) {
          free((void *)puVar11[1]);
          FUN_0009269c();
          local_64 = 0.0;
        }
        else {
          if (*(char *)(puVar11 + 5) == '\0') {
            iVar7 = fclose(pFVar10);
          }
          else {
            iVar7 = pclose(pFVar10);
          }
          free((void *)puVar11[1]);
          FUN_0009269c();
          if (iVar7 == 0) {
            local_64 = 0.0;
          }
          else {
            iVar20 = *piVar5;
            puVar18 = *(uint **)(iVar6 + 0x44);
            FUN_0009227b();
            *puVar18 = *puVar18 | 1;
            *(double *)(puVar18 + 1) = (double)iVar20;
            FUN_00092d5e();
            local_64 = (double)iVar7;
          }
        }
      }
    }
    FUN_0009227b();
    *local_78 = *local_78 | 1;
    *(double *)(local_78 + 1) = local_64;
    FUN_00092d5e();
    break;
  case 0x17:
    lVar23 = (longdouble)FUN_000925a2();
    iVar7 = (int)ROUND(lVar23);
    if (iVar7 < 0) {
      pcVar15 = "Access to negative field";
      goto LAB_00094f35;
    }
    if (iVar7 == 0) {
      local_78 = *(uint **)(iVar6 + 0x34);
    }
    else {
      FUN_00092cc4();
      if (*(int *)(iVar6 + -0x20) < iVar7) {
        FUN_000922c0();
      }
      local_78 = (uint *)(*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14);
    }
    break;
  case 0x18:
    local_78 = (uint *)(*(int *)(iVar6 + 0x88) + local_80[2] * 0x14);
    goto LAB_00094b15;
  case 0x19:
    if ((*(int *)local_80[3] == 0) && (((int *)local_80[3])[1] == 0)) {
      pcVar15 = "Call to undefined function";
      goto LAB_00094f35;
    }
    puVar12 = (uint *)FUN_00092151();
    puVar22 = puVar12;
    if (puVar18 != (uint *)0x0) {
      while ((*puVar18 & 0xff00) == 0x1300) {
        puVar18 = (uint *)puVar18[3];
        uVar8 = FUN_00094969();
        FUN_00093453();
        *puVar22 = *puVar22 | 0x2000;
        puVar22[4] = uVar8;
        if ((*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))
           || (puVar22 = puVar22 + 5, puVar18 == (uint *)0x0)) goto LAB_00094fd5;
      }
      uVar8 = FUN_00094969();
      FUN_00093453();
      *puVar22 = *puVar22 | 0x2000;
      puVar22[4] = uVar8;
    }
LAB_00094fd5:
    uVar2 = *(undefined4 *)(iVar6 + 0x88);
    *(uint **)(iVar6 + 0x88) = puVar12;
    uVar3 = *(undefined4 *)(iVar6 + -0x28);
    local_78 = (uint *)FUN_00094969();
    *(undefined4 *)(iVar6 + -0x28) = uVar3;
    FUN_000938f0();
    *(undefined4 *)(iVar6 + 0x88) = uVar2;
    break;
  case 0x1a:
  case 0x20:
    if (puVar18 == (uint *)0x0) {
      puVar11 = *(undefined4 **)(iVar6 + -0x3c);
      if (puVar11 != (undefined4 *)0x0) {
LAB_00094e49:
        pFVar10 = (FILE *)*puVar11;
        goto LAB_00094e4b;
      }
      puVar11 = (undefined4 *)FUN_00093cca();
      *(undefined4 **)(iVar6 + -0x3c) = puVar11;
      if (puVar11 != (undefined4 *)0x0) goto LAB_00094e49;
LAB_00094e4f:
      iVar7 = *DAT_000d16fc;
      puVar18 = *(uint **)(iVar6 + 0x44);
      FUN_0009227b();
      *puVar18 = *puVar18 | 1;
      *(double *)(puVar18 + 1) = (double)iVar7;
      FUN_00092d5e();
      FUN_0009227b();
      *local_78 = *local_78 | 1;
      local_78[1] = 0;
      local_78[2] = 0xbff00000;
      FUN_00092d5e();
    }
    else {
      piVar9 = (int *)FUN_00093a51();
      if (*piVar9 == 0) {
        if ((local_7c & 0xff00) == 0x2000) {
          pFVar10 = popen(local_68,"r");
          *piVar9 = (int)pFVar10;
          *(undefined1 *)(piVar9 + 5) = 1;
        }
        else {
          pFVar10 = (FILE *)FUN_0001923e();
          *piVar9 = (int)pFVar10;
        }
LAB_00094e4b:
        if (pFVar10 == (FILE *)0x0) goto LAB_00094e4f;
      }
      if (local_80[3] == 0) {
        local_5c = *(uint **)(iVar6 + 0x34);
      }
      iVar7 = FUN_0009307e();
      if ((0 < iVar7) && (puVar18 == (uint *)0x0)) {
        FUN_0009304a();
        FUN_0009304a();
      }
      FUN_0009227b();
      *local_78 = *local_78 | 1;
      *(double *)(local_78 + 1) = (double)iVar7;
      FUN_00092d5e();
    }
    break;
  case 0x1b:
    FUN_0009211c();
    iVar7 = FUN_000939df();
    if (iVar7 == 0) {
LAB_00094c2d:
      lVar23 = (longdouble)0;
    }
    else {
      lVar23 = (longdouble)1;
    }
    goto LAB_00094b8a;
  case 0x1c:
    iVar7 = FUN_00092658();
    if (iVar7 == 0) goto LAB_00094c2d;
LAB_00094da9:
    iVar7 = FUN_00096324();
    lVar23 = (longdouble)iVar7;
    goto LAB_00094b8a;
  case 0x1d:
    iVar7 = FUN_00092658();
    if (iVar7 == 0) goto LAB_00094da9;
LAB_00094c15:
    lVar23 = (longdouble)1;
    goto LAB_00094b8a;
  case 0x1e:
    goto LAB_00094ce7;
  case 0x1f:
    local_78 = (uint *)FUN_00093453();
    break;
  case 0x21:
    local_68 = (char *)FUN_0009295c();
LAB_00094ce7:
    __preg = (regex_t *)FUN_00095bc7();
    iVar7 = regexec(__preg,local_68,0,(regmatch_t *)0x0,0);
    if ((regex_t *)(iVar6 + 0x90) == __preg) {
      regfree((regex_t *)(iVar6 + 0x90));
    }
    FUN_0009227b();
    *local_78 = *local_78 | 1;
    *(double *)(local_78 + 1) = (double)((iVar7 == 0) != (uVar8 == 0x21));
    FUN_00092d5e();
    break;
  case 0x23:
    FUN_00093453();
    break;
  case 0x24:
    uVar8 = FUN_00095fab();
    FUN_0009227b();
    local_78[3] = uVar8;
    FUN_00092d5e();
    break;
  case 0x25:
    if ((*(uint *)local_80[3] & 0xff00) == 0x1200) {
      FUN_00092658();
      local_78 = (uint *)FUN_00094969();
      break;
    }
    goto switchD_00094a90_caseD_0;
  case 0x26:
    lVar23 = (longdouble)FUN_000925a2();
    if (uVar8 == 0x4d) {
      lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;
      lVar23 = lVar24;
    }
    else {
      if (uVar8 < 0x4e) {
        if (uVar8 == 0x21) {
          iVar7 = FUN_00092658();
          if (iVar7 == 0) goto LAB_00094c15;
          goto LAB_00094c2d;
        }
        if (uVar8 == 0x2d) {
          lVar23 = -lVar23;
        }
        goto LAB_00094b8a;
      }
      if (uVar8 == 0x6d) {
        lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;
      }
      else if (uVar8 == 0x70) {
        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;
      }
      else {
        if (uVar8 != 0x50) goto LAB_00094b8a;
        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;
        lVar23 = lVar24;
      }
    }
    FUN_0009227b();
    *local_5c = *local_5c | 1;
    *(double *)(local_5c + 1) = (double)lVar24;
    FUN_00092d5e();
    lVar23 = (longdouble)(double)lVar23;
LAB_00094b8a:
    FUN_0009227b();
    *local_78 = *local_78 | 1;
    *(double *)(local_78 + 1) = (double)lVar23;
    FUN_00092d5e();
    break;
  case 0x27:
    local_78 = (uint *)local_80[2];
    if (local_78 == *(uint **)(iVar6 + 0x50)) {
      FUN_00092cc4();
    }
LAB_00094b15:
    if (local_80[3] != 0) {
      FUN_0009211c();
      local_78 = (uint *)FUN_00093a51();
    }
    break;
  case 0x28:
    goto switchD_00094a90_caseD_28;
  }
LAB_00094ab0:
  local_7c = local_7c & 0xff00;
  if (local_7c < 0x601) {
    local_80 = (uint *)local_80[4];
    cVar1 = *(char *)(iVar6 + -6);
  }
  else {
    if (0xfff < local_7c) {
LAB_00094acb:
      FUN_000938f0();
      return local_78;
    }
    cVar1 = *(char *)(iVar6 + -6);
  }
  if ((cVar1 != '\0') || (local_80 == (uint *)0x0)) goto LAB_00094acb;
  goto LAB_000949b7;
switchD_00094a90_caseD_b:
  *(undefined1 *)(iVar6 + -6) = 1;
switchD_00094a90_caseD_28:
  FUN_0009227b();
  goto LAB_00094ab0;
switchD_00094a90_caseD_7:
  iVar7 = FUN_00092658();
  if (iVar7 == 0) {
    local_80 = (uint *)local_80[3];
  }
  else {
LAB_000956d3:
    local_80 = (uint *)local_80[4];
  }
  goto LAB_00094ab0;
switchD_00094a90_caseD_0:
  pcVar15 = "Possible syntax error";
LAB_00094f35:
                    /* WARNING: Subroutine does not return */
  FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),*(undefined4 *)(iVar6 + -0x24),pcVar15);
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0x7c
CALL 0x00017640
ADD EBX,0x3c0ab
MOV EBP,EDX
TEST EAX,EAX
JZ 0x00095b10
MOV ESI,EAX
MOV EAX,0x2
CALL 0x00092151
MOV dword ptr [ESP + 0x34],EAX
MOV EDI,dword ptr [EBX + 0xce0]
MOV EAX,dword ptr [EBX + 0xcdc]
MOV dword ptr [ESP + 0x50],EAX
MOV EAX,dword ptr [EBX + 0x594]
MOV dword ptr [ESP + 0x54],EAX
MOV dword ptr [ESP + 0xc],ESI
MOV dword ptr [ESP + 0x14],EBP
MOV ECX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [ECX]
MOV dword ptr [ESP + 0x10],EAX
MOV EDX,dword ptr [ECX + 0x4]
MOV dword ptr [EDI + -0x24],EDX
MOV EBP,dword ptr [ECX + 0x8]
MOVZX ESI,AH
CMP ESI,0x1
JNZ 0x000949ed
MOV EAX,dword ptr [EBP]
AND EAX,0xff00
CMP EAX,0x2700
JNZ 0x00095a9a
MOV ESI,dword ptr [EBP + 0x8]
JMP 0x00095ab0
TEST dword ptr [ESP + 0x10],0x10000
JZ 0x00094a06
MOV EDX,dword ptr [ESP + 0x34]
MOV EAX,EBP
CALL 0x00094969
MOV dword ptr [ESP + 0x20],EAX
TEST dword ptr [ESP + 0x10],0x20000
JZ 0x00094a27
MOV EAX,dword ptr [ESP + 0x34]
LEA EDX,[EAX + 0x14]
MOV EAX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [EAX + 0xc]
CALL 0x00094969
MOV dword ptr [ESP + 0x30],EAX
TEST dword ptr [ESP + 0x10],0x40000
JZ 0x00094a3e
MOV EAX,dword ptr [ESP + 0x20]
CALL 0x0009295c
MOV dword ptr [ESP + 0x24],EAX
TEST dword ptr [ESP + 0x10],0x80000
JZ 0x00094a55
MOV EAX,dword ptr [ESP + 0x30]
CALL 0x0009295c
MOV dword ptr [ESP + 0x40],EAX
TEST dword ptr [ESP + 0x10],0x100000
JZ 0x00094a6c
MOV EAX,dword ptr [ESP + 0x20]
CALL 0x000925a2
FSTP qword ptr [ESP + 0x18]
MOV EAX,dword ptr [ESP + 0x10]
AND EAX,0x7f
MOV dword ptr [ESP + 0x38],EAX
CMP ESI,0x28
JBE 0x00094a87
LEA EAX,[EBX + 0xffffbeae]
JMP 0x00094f35
MOV EAX,dword ptr [EBX + ESI*0x4 + 0xfffebbcc]
ADD EAX,EBX
JMP EAX
MOV byte ptr [EDI + -0x5],0x1
MOV byte ptr [EDI + -0x6],0x1
MOV EAX,dword ptr [ESP + 0x14]
CALL 0x0009227b
MOV EAX,dword ptr [ESP + 0x10]
AND EAX,0xff00
MOV dword ptr [ESP + 0x10],EAX
CMP dword ptr [ESP + 0x10],0x600
JA 0x00094ae2
MOV EAX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [EAX + 0x10]
MOV dword ptr [ESP + 0xc],EAX
CMP byte ptr [EDI + -0x6],0x0
JZ 0x00094af2
MOV EBP,dword ptr [ESP + 0x14]
MOV EAX,dword ptr [ESP + 0x34]
CALL 0x000938f0
MOV EAX,EBP
ADD ESP,0x7c
POP EBX
POP ESI
POP EDI
POP EBP
RET
CMP dword ptr [ESP + 0x10],0xfff
JA 0x00094acb
CMP byte ptr [EDI + -0x6],0x0
JNZ 0x00094acb
MOV EAX,dword ptr [ESP + 0xc]
TEST EAX,EAX
JNZ 0x000949b7
JMP 0x00094acb
MOV EAX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [EAX + 0x8]
MOV dword ptr [ESP + 0x14],EAX
CMP EAX,dword ptr [EDI + 0x50]
JNZ 0x00094b15
CALL 0x00092cc4
MOV EAX,dword ptr [ESP + 0x10]
AND EAX,0xff00
MOV dword ptr [ESP + 0x10],EAX
MOV EAX,dword ptr [ESP + 0xc]
MOV EBP,dword ptr [EAX + 0xc]
TEST EBP,EBP
JZ 0x00094ab0
MOV EAX,dword ptr [ESP + 0x14]
CALL 0x0009211c
MOV EDX,dword ptr [ESP + 0x40]
CALL 0x00093a51
MOV dword ptr [ESP + 0x14],EAX
JMP 0x00094ab0
MOV EAX,dword ptr [ESP + 0x30]
CALL 0x000925a2
MOV EAX,dword ptr [ESP + 0x38]
CMP EAX,0x4d
JNZ 0x00094bbc
FSUB dword ptr [EBX + 0xfffebcd4]
FLD ST0
FSTP qword ptr [ESP + 0x48]
FSTP qword ptr [ESP + 0x38]
MOV ESI,dword ptr [ESP + 0x30]
MOV EAX,ESI
CALL 0x0009227b
MOV EAX,ESI
OR dword ptr [ESI],0x1
FLD qword ptr [ESP + 0x48]
FSTP qword ptr [ESI + 0x4]
CALL 0x00092d5e
FLD qword ptr [ESP + 0x38]
FSTP qword ptr [ESP + 0x38]
MOV ESI,dword ptr [ESP + 0x14]
MOV EAX,ESI
CALL 0x0009227b
MOV EAX,ESI
OR dword ptr [ESI],0x1
FLD qword ptr [ESP + 0x38]
FSTP qword ptr [ESI + 0x4]
CALL 0x00092d5e
MOV EAX,dword ptr [ESP + 0x10]
AND EAX,0xff00
MOV dword ptr [ESP + 0x10],EAX
JMP 0x00094ab0
JG 0x00094bcc
CMP EAX,0x21
JZ 0x00094c06
CMP EAX,0x2d
JNZ 0x00094b8a
FCHS
JMP 0x00094b8a
MOV EAX,dword ptr [ESP + 0x38]
CMP EAX,0x6d
JZ 0x00094bec
CMP EAX,0x70
JZ 0x00094bf9
CMP EAX,0x50
JNZ 0x00094b8a
FADD dword ptr [EBX + 0xfffebcd4]
FLD ST0
JMP 0x00094b62
FLD ST0
FSUB dword ptr [EBX + 0xfffebcd4]
JMP 0x00094b62
FLD ST0
FADD dword ptr [EBX + 0xfffebcd4]
JMP 0x00094b62
FSTP ST0
MOV EAX,dword ptr [ESP + 0x30]
CALL 0x00092658
TEST EAX,EAX
JNZ 0x00094c2d
FLD1
JMP 0x00094b8a
MOV EAX,dword ptr [ESP + 0x20]
CALL 0x00092658
TEST EAX,EAX
JNZ 0x00094da9
FLDZ
JMP 0x00094b8a
MOV EAX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [EAX + 0xc]
MOV EAX,dword ptr [EAX]
AND EAX,0xff00
CMP EAX,0x1200
JNZ 0x00094a7c
MOV EAX,dword ptr [ESP + 0x20]
CALL 0x00092658
TEST EAX,EAX
MOV EAX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [EAX + 0xc]
JZ 0x00094c83
MOV EAX,dword ptr [EAX + 0x8]
MOV EDX,dword ptr [ESP + 0x14]
CALL 0x00094969
MOV dword ptr [ESP + 0x14],EAX
MOV EAX,dword ptr [ESP + 0x10]
AND EAX,0xff00
MOV dword ptr [ESP + 0x10],EAX
JMP 0x00094ab0
MOV EAX,dword ptr [EAX + 0xc]
JMP 0x00094c64
MOV EAX,EBP
CALL 0x00095fab
MOV ESI,EAX
MOV EBP,dword ptr [ESP + 0x14]
MOV EAX,EBP
CALL 0x0009227b
MOV EAX,EBP
MOV dword ptr [EBP + 0xc],ESI
CALL 0x00092d5e
MOV EAX,dword ptr [ESP + 0x10]
AND EAX,0xff00
MOV dword ptr [ESP + 0x10],EAX
JMP 0x00094ab0
MOV EDX,dword ptr [ESP + 0x20]
MOV EAX,dword ptr [ESP + 0x14]
CALL 0x00093453
MOV EAX,dword ptr [ESP + 0x10]
AND EAX,0xff00
MOV dword ptr [ESP + 0x10],EAX
JMP 0x00094ab0
MOV EAX,dword ptr [EDI + 0x34]
CALL 0x0009295c
MOV dword ptr [ESP + 0x24],EAX
MOV EAX,dword ptr [ESP + 0xc]
LEA EBP,[EDI + 0x90]
MOV EDX,EBP
CALL 0x00095bc7
SUB ESP,0xc
PUSH 0x0
PUSH 0x0
PUSH 0x0
PUSH dword ptr [ESP + 0x3c]
PUSH EAX
MOV dword ptr [ESP + 0x68],EAX
CALL 0x00016dc0
MOV ESI,EAX
ADD ESP,0x20
MOV EDX,dword ptr [ESP + 0x48]
CMP EBP,EDX
JNZ 0x00094d24
SUB ESP,0xc
PUSH EBP
CALL 0x00016790
ADD ESP,0x10
MOV EBP,dword ptr [ESP + 0x14]
MOV EAX,EBP
CALL 0x0009227b
OR dword ptr [EBP],0x1
TEST ESI,ESI
SETZ AL
CMP dword ptr [ESP + 0x38],0x21
SETZ DL
XOR EAX,EDX
MOVZX EAX,AL
MOV dword ptr [ESP + 0x38],EAX
FILD dword ptr [ESP + 0x38]
FSTP qword ptr [EBP + 0x4]
MOV EAX,EBP
CALL 0x00092d5e
MOV EAX,dword ptr [ESP + 0x10]
AND EAX,0xff00
MOV dword ptr [ESP + 0x10],EAX
JMP 0x00094ab0
MOV EDX,dword ptr [ESP + 0x30]
MOV EAX,dword ptr [ESP + 0x20]
CALL 0x00093453
MOV dword ptr [ESP + 0x14],EAX
MOV EAX,dword ptr [ESP + 0x10]
AND EAX,0xff00
MOV dword ptr [ESP + 0x10],EAX
JMP 0x00094ab0
MOV EAX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [EAX + 0xc]
JMP 0x00094ce7
MOV EAX,dword ptr [ESP + 0x20]
CALL 0x00092658
TEST EAX,EAX
JNZ 0x00094c15
MOV EAX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [EAX + 0xc]
CALL 0x00096324
MOV dword ptr [ESP + 0x38],EAX
FILD dword ptr [ESP + 0x38]
JMP 0x00094b8a
MOV EAX,dword ptr [ESP + 0x30]
CALL 0x0009211c
MOV EDX,dword ptr [EAX + 0x10]
MOV EAX,dword ptr [EAX + 0x4]
MOV ECX,dword ptr [ESP + 0x24]
CALL 0x000939df
TEST EAX,EAX
JZ 0x00094c2d
FLD1
JMP 0x00094b8a
MOV EAX,dword ptr [ESP + 0x10]
AND EAX,0xff00
MOV dword ptr [ESP + 0x10],EAX
TEST EBP,EBP
JZ 0x00094e3e
MOV EAX,dword ptr [EDI + -0x30]
MOV EDX,dword ptr [ESP + 0x24]
CALL 0x00093a51
MOV ESI,EAX
MOV ECX,dword ptr [EAX]
TEST ECX,ECX
JNZ 0x00094e97
CMP dword ptr [ESP + 0x10],0x2000
JNZ 0x00094f0b
SUB ESP,0x8
LEA EAX,[EBX + 0xffffc498]
PUSH EAX
PUSH dword ptr [ESP + 0x30]
CALL 0x000164b0
MOV dword ptr [ESI],EAX
MOV byte ptr [ESI + 0x14],0x1
ADD ESP,0x10
JMP 0x00094e4b
MOV ESI,dword ptr [EDI + -0x3c]
TEST ESI,ESI
JZ 0x00094ef4
MOV EAX,dword ptr [ESI]
TEST EAX,EAX
JNZ 0x00094e97
MOV EAX,dword ptr [EBX + 0xcdc]
FILD dword ptr [EAX]
FSTP qword ptr [ESP + 0x38]
MOV ESI,dword ptr [EDI + 0x44]
MOV EAX,ESI
CALL 0x0009227b
OR dword ptr [ESI],0x1
FLD qword ptr [ESP + 0x38]
FSTP qword ptr [ESI + 0x4]
MOV EAX,ESI
CALL 0x00092d5e
MOV ESI,dword ptr [ESP + 0x14]
MOV EAX,ESI
CALL 0x0009227b
MOV EAX,ESI
OR dword ptr [ESI],0x1
FLD1
FCHS
FSTP qword ptr [ESI + 0x4]
CALL 0x00092d5e
JMP 0x00094ab0
MOV EAX,dword ptr [ESP + 0xc]
MOV EDX,dword ptr [EAX + 0xc]
TEST EDX,EDX
JNZ 0x00094ea9
MOV EAX,dword ptr [EDI + 0x34]
MOV dword ptr [ESP + 0x30],EAX
MOV EDX,dword ptr [ESP + 0x30]
MOV EAX,ESI
CALL 0x0009307e
MOV ESI,EAX
TEST EAX,EAX
JLE 0x00094ece
TEST EBP,EBP
JNZ 0x00094ece
MOV EAX,dword ptr [EDI + 0x48]
CALL 0x0009304a
MOV EAX,dword ptr [EDI + 0x4c]
CALL 0x0009304a
MOV EBP,dword ptr [ESP + 0x14]
MOV EAX,EBP
CALL 0x0009227b
MOV EAX,EBP
OR dword ptr [EBP],0x1
MOV dword ptr [ESP + 0x38],ESI
FILD dword ptr [ESP + 0x38]
FSTP qword ptr [EBP + 0x4]
CALL 0x00092d5e
JMP 0x00094ab0
CALL 0x00093cca
MOV ESI,EAX
MOV dword ptr [EDI + -0x3c],EAX
TEST EAX,EAX
JNZ 0x00094e49
JMP 0x00094e4f
MOV EAX,dword ptr [ESP + 0x24]
CALL 0x0001923e
MOV dword ptr [ESI],EAX
JMP 0x00094e4b
MOV EAX,dword ptr [ESP + 0xc]
MOV EDX,dword ptr [EAX + 0xc]
MOV EAX,dword ptr [EDX]
TEST EAX,EAX
JNZ 0x00094f48
MOV ESI,dword ptr [EDX + 0x4]
TEST ESI,ESI
JNZ 0x00094f48
LEA EAX,[EBX + 0xffffbe93]
PUSH EAX
PUSH dword ptr [EDI + -0x24]
PUSH dword ptr [EDI + -0x28]
LEA EAX,[EBX + 0xffffbd7f]
PUSH EAX
CALL 0x000191a6
INC EAX
CALL 0x00092151
MOV dword ptr [ESP + 0x38],EAX
TEST EBP,EBP
JZ 0x00094fce
MOV ESI,EAX
MOV EAX,dword ptr [EBP]
AND EAX,0xff00
CMP EAX,0x1300
JNZ 0x0009501e
MOV EAX,dword ptr [EBP + 0xc]
MOV dword ptr [ESP + 0x48],EAX
MOV EAX,dword ptr [EBP + 0x8]
MOV EDX,dword ptr [ESP + 0x34]
CALL 0x00094969
MOV EBP,EAX
MOV EDX,EAX
MOV EAX,ESI
CALL 0x00093453
OR dword ptr [ESI],0x2000
MOV dword ptr [ESI + 0x10],EBP
ADD ESI,0x14
MOV ECX,dword ptr [ESP + 0xc]
MOV ECX,dword ptr [ECX + 0xc]
MOV EDX,ESI
SUB EDX,dword ptr [ESP + 0x38]
SAR EDX,0x2
LEA EAX,[EDX + EDX*0x4]
LEA EAX,[EAX + EAX*0x4]
ADD EAX,EAX
ADD EAX,EDX
MOV EBP,EAX
SHL EBP,0x8
ADD EAX,EBP
MOV EBP,EAX
SHL EBP,0x10
ADD EAX,EBP
LEA EAX,[EDX + EAX*0x4]
CMP EAX,dword ptr [ECX]
JNC 0x00094fd5
MOV EBP,dword ptr [ESP + 0x48]
TEST EBP,EBP
JNZ 0x00094f58
JMP 0x00094fd5
MOV EAX,dword ptr [ESP + 0xc]
MOV ECX,dword ptr [EAX + 0xc]
MOV ESI,dword ptr [EDI + 0x88]
MOV EAX,dword ptr [ESP + 0x38]
MOV dword ptr [EDI + 0x88],EAX
MOV EBP,dword ptr [EDI + -0x28]
MOV EAX,dword ptr [ECX + 0x4]
MOV EDX,dword ptr [ESP + 0x14]
CALL 0x00094969
MOV dword ptr [ESP + 0x14],EAX
MOV dword ptr [EDI + -0x28],EBP
MOV EAX,dword ptr [EDI + 0x88]
CALL 0x000938f0
MOV dword ptr [EDI + 0x88],ESI
MOV EAX,dword ptr [ESP + 0x10]
AND EAX,0xff00
MOV dword ptr [ESP + 0x10],EAX
JMP 0x00094ab0
MOV EDX,dword ptr [ESP + 0x34]
MOV EAX,EBP
CALL 0x00094969
MOV EBP,EAX
MOV EDX,EAX
MOV EAX,ESI
CALL 0x00093453
OR dword ptr [ESI],0x2000
MOV dword ptr [ESI + 0x10],EBP
MOV EAX,dword ptr [ESP + 0xc]
MOV ECX,dword ptr [EAX + 0xc]
JMP 0x00094fd5
MOV EAX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [EAX + 0x8]
LEA EDX,[EAX + EAX*0x4]
MOV EAX,dword ptr [EDI + 0x88]
LEA EAX,[EAX + EDX*0x4]
MOV dword ptr [ESP + 0x14],EAX
JMP 0x00094b15
MOV EAX,dword ptr [ESP + 0x30]
CALL 0x000925a2
FNSTCW word ptr [ESP + 0x66]
MOV AX,word ptr [ESP + 0x66]
OR AH,0xc
MOV word ptr [ESP + 0x64],AX
FLDCW word ptr [ESP + 0x64]
FISTP dword ptr [ESP + 0x60]
FLDCW word ptr [ESP + 0x66]
MOV ESI,dword ptr [ESP + 0x60]
TEST ESI,ESI
JNS 0x0009509b
LEA EAX,[EBX + 0xffffbe5a]
JMP 0x00094f35
MOV EAX,dword ptr [ESP + 0x10]
AND EAX,0xff00
MOV dword ptr [ESP + 0x10],EAX
TEST ESI,ESI
JNZ 0x000950b8
MOV EAX,dword ptr [EDI + 0x34]
MOV dword ptr [ESP + 0x14],EAX
JMP 0x00094ab0
CALL 0x00092cc4
CMP dword ptr [EDI + -0x20],ESI
JGE 0x000950c9
MOV EAX,ESI
CALL 0x000922c0
LEA EDX,[ESI + ESI*0x4]
MOV EAX,dword ptr [EDI + -0x18]
LEA EAX,[EAX + EDX*0x4 + -0x14]
MOV dword ptr [ESP + 0x14],EAX
JMP 0x00094ab0
MOV EAX,dword ptr [ESP + 0x38]
CMP EAX,0xc
JA 0x00095145
MOV EAX,dword ptr [EBX + EAX*0x4 + 0xfffebc70]
ADD EAX,EBX
JMP EAX
MOV ESI,dword ptr [EDI + 0x8c]
TEST EBP,EBP
JZ 0x00095173
FNSTCW word ptr [ESP + 0x66]
MOV AX,word ptr [ESP + 0x66]
OR AH,0xc
MOV word ptr [ESP + 0x64],AX
FLD qword ptr [ESP + 0x18]
FLDCW word ptr [ESP + 0x64]
FISTP qword ptr [ESP + 0x58]
FLDCW word ptr [ESP + 0x66]
MOV EAX,dword ptr [ESP + 0x58]
MOV dword ptr [ESP + 0x28],ESI
MOV dword ptr [ESP + 0x2c],0x0
FILD qword ptr [ESP + 0x28]
FSTP qword ptr [ESP + 0x28]
MOV dword ptr [EDI + 0x8c],EAX
SUB ESP,0xc
PUSH EAX
CALL 0x00016a90
ADD ESP,0x10
MOV ESI,dword ptr [ESP + 0x14]
MOV EAX,ESI
CALL 0x0009227b
MOV EAX,ESI
OR dword ptr [ESI],0x1
FLD qword ptr [ESP + 0x28]
FSTP qword ptr [ESI + 0x4]
CALL 0x00092d5e
MOV EAX,dword ptr [ESP + 0x10]
AND EAX,0xff00
MOV dword ptr [ESP + 0x10],EAX
JMP 0x00094ab0
SUB ESP,0xc
PUSH 0x0
CALL 0x00016340
ADD ESP,0x10
JMP 0x0009511f
FSTP ST0
LEA EAX,[EBX + 0xffffbe73]
JMP 0x00094f35
TEST EBP,EBP
JNZ 0x000951c4
MOV EAX,dword ptr [EDI + 0x34]
CALL 0x0009295c
MOV dword ptr [ESP + 0x24],EAX
SUB ESP,0xc
PUSH dword ptr [ESP + 0x30]
CALL 0x00016b40
ADD ESP,0x10
MOV dword ptr [ESP + 0x28],EAX
MOV dword ptr [ESP + 0x2c],0x0
FILD qword ptr [ESP + 0x28]
FSTP qword ptr [ESP + 0x28]
JMP 0x00095145
MOV EAX,dword ptr [ESP + 0x20]
TEST byte ptr [EAX],0x2
JZ 0x0009519f
MOV EAX,dword ptr [EAX + 0x10]
MOV EAX,dword ptr [EAX]
XOR EDX,EDX
MOV dword ptr [ESP + 0x28],EAX
MOV dword ptr [ESP + 0x2c],EDX
FILD qword ptr [ESP + 0x28]
FSTP qword ptr [ESP + 0x28]
JMP 0x00095145
CALL 0x00019f78
MOV EAX,dword ptr [ESP + 0x24]
TEST EAX,EAX
JZ 0x0009521b
CMP byte ptr [EAX],0x0
JZ 0x00095226
SUB ESP,0xc
PUSH EAX
CALL 0x00016940
SAR EAX,0x8
MOV dword ptr [ESP + 0x38],EAX
FILD dword ptr [ESP + 0x38]
FSTP qword ptr [ESP + 0x38]
ADD ESP,0x10
JMP 0x00095145
FLDZ
FSTP qword ptr [ESP + 0x28]
JMP 0x00095145
FLDZ
FSTP qword ptr [ESP + 0x28]
JMP 0x00095145
SUB ESP,0xc
PUSH 0x0
CALL 0x00016340
MOV dword ptr [ESP + 0x38],EAX
FILD dword ptr [ESP + 0x38]
FSTP qword ptr [ESP + 0x38]
ADD ESP,0x10
JMP 0x00095145
MOV ESI,dword ptr [ESP + 0x20]
MOV EAX,ESI
CALL 0x000925a2
FSTP ST0
MOV EAX,dword ptr [ESI]
MOV dword ptr [ESP + 0x38],EAX
XOR AH,0x40
TEST EAX,0x4201
JZ 0x0009530c
MOV EBP,dword ptr [ESP + 0x30]
MOV EAX,EBP
CALL 0x000925a2
FSTP ST0
MOV EAX,dword ptr [EBP]
MOV dword ptr [ESP + 0x38],EAX
XOR AH,0x40
TEST EAX,0x4201
JZ 0x0009530c
MOV EAX,ESI
CALL 0x000925a2
FSTP qword ptr [ESP + 0x38]
MOV EAX,EBP
CALL 0x000925a2
FSUBR qword ptr [ESP + 0x38]
MOV EAX,dword ptr [ESP + 0x10]
AND EAX,0x7e
CMP EAX,0x2
JNZ 0x00095372
FTST
FNSTSW AX
FSTP ST0
TEST AH,0x5
SETZ AL
MOVZX EAX,AL
MOV dword ptr [ESP + 0x44],EAX
JMP 0x000952cb
FSTP ST0
MOV ESI,dword ptr [ESP + 0x14]
MOV EAX,ESI
CALL 0x0009227b
MOV ECX,ESI
OR dword ptr [ESI],0x1
MOV ESI,dword ptr [ESP + 0x10]
MOV EAX,ESI
AND EAX,0x1
XOR EAX,dword ptr [ESP + 0x44]
XOR EAX,0x1
MOV dword ptr [ESP + 0x10],EAX
FILD dword ptr [ESP + 0x10]
FSTP qword ptr [ECX + 0x4]
MOV EAX,ECX
CALL 0x00092d5e
AND ESI,0xff00
MOV dword ptr [ESP + 0x10],ESI
JMP 0x00094ab0
MOV EAX,dword ptr [ESP + 0x20]
CALL 0x0009295c
MOV ESI,EAX
MOV EAX,dword ptr [ESP + 0x30]
CALL 0x0009295c
CMP byte ptr [EDI + -0x8],0x0
JZ 0x0009534d
SUB ESP,0x8
PUSH EAX
PUSH ESI
CALL 0x00016c50
ADD ESP,0x10
MOV dword ptr [ESP + 0x38],EAX
FILD dword ptr [ESP + 0x38]
MOV EAX,dword ptr [ESP + 0x10]
AND EAX,0x7e
CMP EAX,0x2
JZ 0x000952b4
JMP 0x00095372
SUB ESP,0x8
PUSH EAX
PUSH ESI
CALL 0x00016140
ADD ESP,0x10
MOV dword ptr [ESP + 0x38],EAX
FILD dword ptr [ESP + 0x38]
MOV EAX,dword ptr [ESP + 0x10]
AND EAX,0x7e
CMP EAX,0x2
JZ 0x000952b4
CMP EAX,0x4
JZ 0x00095397
TEST EAX,EAX
JNZ 0x000952c9
FTST
FNSTSW AX
FSTP ST0
TEST AH,0x45
SETZ AL
MOVZX EAX,AL
MOV dword ptr [ESP + 0x44],EAX
JMP 0x000952cb
FLDZ
FXCH
FUCOMPP
FNSTSW AX
AND AH,0x45
CMP AH,0x40
SETZ AL
MOVZX EAX,AL
MOV dword ptr [ESP + 0x44],EAX
JMP 0x000952cb
MOV EAX,dword ptr [ESP + 0x10]
AND EAX,0xff00
MOV ECX,EAX
MOV dword ptr [ESP + 0x10],EAX
LEA EAX,[EBX + 0xffffceff]
CMP ECX,0x1300
JNZ 0x000953d9
MOV EAX,dword ptr [EDI + 0x30]
CALL 0x0009295c
PUSH dword ptr [ESP + 0x40]
PUSH EAX
PUSH dword ptr [ESP + 0x2c]
LEA EAX,[EBX + 0xffff2906]
PUSH EAX
CALL 0x00019fd7
MOV ESI,EAX
MOV EBP,dword ptr [ESP + 0x24]
MOV EAX,EBP
CALL 0x0009227b
MOV EAX,EBP
MOV dword ptr [EBP + 0xc],ESI
CALL 0x00092d5e
ADD ESP,0x10
JMP 0x00094ab0
TEST EBP,EBP
JNZ 0x00095427
SUB ESP,0xc
MOV EAX,dword ptr [ESP + 0x60]
PUSH dword ptr [EAX]
CALL 0x000161f0
ADD ESP,0x10
JMP 0x00095145
MOV EDX,dword ptr [ESP + 0x24]
TEST EDX,EDX
JZ 0x0009544e
CMP byte ptr [EDX],0x0
JZ 0x0009544e
MOV EAX,dword ptr [EDI + -0x30]
CALL 0x00093a51
SUB ESP,0xc
PUSH dword ptr [EAX]
CALL 0x000161f0
ADD ESP,0x10
JMP 0x00095145
CALL 0x00019f78
JMP 0x00095145
MOV EAX,dword ptr [EDI + -0x30]
MOV EDX,dword ptr [EAX + 0x10]
MOV EAX,dword ptr [EAX + 0x4]
MOV ESI,dword ptr [ESP + 0x24]
MOV ECX,ESI
CALL 0x000939df
MOV EBP,EAX
TEST EAX,EAX
JZ 0x000954e5
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JZ 0x000954f0
CMP byte ptr [EBP + 0x14],0x0
JZ 0x00095513
SUB ESP,0xc
PUSH EAX
CALL 0x00016a30
MOV ESI,EAX
ADD ESP,0x10
SUB ESP,0xc
PUSH dword ptr [EBP + 0x4]
CALL 0x000175a0
MOV EAX,dword ptr [EDI + -0x30]
MOV EDX,dword ptr [ESP + 0x34]
CALL 0x0009269c
ADD ESP,0x10
TEST ESI,ESI
JZ 0x00095526
MOV EAX,dword ptr [ESP + 0x50]
FILD dword ptr [EAX]
FSTP qword ptr [ESP + 0x28]
MOV EBP,dword ptr [EDI + 0x44]
MOV EAX,EBP
CALL 0x0009227b
OR dword ptr [EBP],0x1
FLD qword ptr [ESP + 0x28]
FSTP qword ptr [EBP + 0x4]
MOV EAX,EBP
CALL 0x00092d5e
MOV dword ptr [ESP + 0x28],ESI
FILD dword ptr [ESP + 0x28]
FSTP qword ptr [ESP + 0x28]
JMP 0x00095145
FLDZ
FSTP qword ptr [ESP + 0x28]
JMP 0x00095145
SUB ESP,0xc
PUSH dword ptr [EBP + 0x4]
CALL 0x000175a0
MOV EAX,dword ptr [EDI + -0x30]
MOV EDX,ESI
CALL 0x0009269c
ADD ESP,0x10
FLDZ
FSTP qword ptr [ESP + 0x28]
JMP 0x00095145
SUB ESP,0xc
PUSH EAX
CALL 0x00016320
MOV ESI,EAX
ADD ESP,0x10
JMP 0x00095490
FLDZ
FSTP qword ptr [ESP + 0x28]
JMP 0x00095145
CALL 0x00016ec0
FLD qword ptr [EBX + 0xfffe5ba0]
MOV dword ptr [ESP + 0x28],EAX
FIDIVR dword ptr [ESP + 0x28]
FSTP qword ptr [ESP + 0x28]
JMP 0x00095145
FNSTCW word ptr [ESP + 0x66]
MOV AX,word ptr [ESP + 0x66]
OR AH,0xc
MOV word ptr [ESP + 0x64],AX
FLD qword ptr [ESP + 0x18]
FLDCW word ptr [ESP + 0x64]
FISTP qword ptr [ESP + 0x28]
FLDCW word ptr [ESP + 0x66]
FILD qword ptr [ESP + 0x28]
FSTP qword ptr [ESP + 0x28]
JMP 0x00095145
MOV EAX,dword ptr [ESP + 0xc]
LEA EDX,[EAX + 0x8]
MOV ECX,dword ptr [ESP + 0x14]
CALL 0x00093dbd
MOV dword ptr [ESP + 0x14],EAX
MOV EAX,dword ptr [ESP + 0x10]
AND EAX,0xff00
MOV dword ptr [ESP + 0x10],EAX
JMP 0x00094ab0
MOV EAX,dword ptr [ESP + 0x30]
CALL 0x000925a2
MOV EAX,dword ptr [ESP + 0x38]
SUB EAX,0x25
CMP EAX,0xa
JA 0x000955dd
MOV ECX,dword ptr [EBX + EAX*0x4 + 0xfffebca4]
ADD ECX,EBX
JMP ECX
FLDZ
FXCH
FUCOM
FNSTSW AX
FSTP ST1
AND AH,0x45
XOR AH,0x40
JZ 0x00095636
FDIVR qword ptr [ESP + 0x18]
FSTP qword ptr [ESP + 0x18]
JMP 0x000955e3
FSTP ST0
JMP 0x000955e3
FSTP ST0
MOV EAX,dword ptr [ESP + 0x10]
AND EAX,0xff00
MOV dword ptr [ESP + 0x10],EAX
CMP EAX,0x1000
JZ 0x000955ff
MOV EAX,dword ptr [ESP + 0x20]
MOV dword ptr [ESP + 0x14],EAX
MOV ESI,dword ptr [ESP + 0x14]
MOV EAX,ESI
CALL 0x0009227b
MOV EAX,ESI
OR dword ptr [ESI],0x1
FLD qword ptr [ESP + 0x18]
FSTP qword ptr [ESI + 0x4]
CALL 0x00092d5e
JMP 0x00094ab0
FLDZ
FXCH
FUCOM
FNSTSW AX
FSTP ST1
AND AH,0x45
XOR AH,0x40
JNZ 0x0009564d
FSTP ST0
JMP 0x00095638
FSTP ST0
LEA EAX,[EBX + 0xffffbf08]
JMP 0x00094f35
FSUBR qword ptr [ESP + 0x18]
FSTP qword ptr [ESP + 0x18]
JMP 0x000955e3
FLD qword ptr [ESP + 0x18]
FLD ST0
FDIV ST0,ST2
FNSTCW word ptr [ESP + 0x66]
MOV AX,word ptr [ESP + 0x66]
OR AH,0xc
MOV word ptr [ESP + 0x64],AX
FLDCW word ptr [ESP + 0x64]
FISTP qword ptr [ESP + 0x18]
FLDCW word ptr [ESP + 0x66]
FILD qword ptr [ESP + 0x18]
FMULP ST2
FSUBRP
FSTP qword ptr [ESP + 0x18]
JMP 0x000955e3
FADD qword ptr [ESP + 0x18]
FSTP qword ptr [ESP + 0x18]
JMP 0x000955e3
FMUL qword ptr [ESP + 0x18]
FSTP qword ptr [ESP + 0x18]
JMP 0x000955e3
MOV EBP,dword ptr [ESP + 0x20]
MOV EAX,dword ptr [EBP + 0x10]
MOV EDX,dword ptr [EAX + 0x4]
MOV ECX,dword ptr [ESP + 0x10]
AND ECX,0xff00
MOV dword ptr [ESP + 0x10],ECX
CMP EDX,dword ptr [EAX]
JNC 0x000956df
LEA ECX,[EDX + 0x1]
MOV dword ptr [EAX + 0x4],ECX
INC ECX
CMP byte ptr [ECX + -0x2],0x0
JNZ 0x000956bc
MOV EAX,dword ptr [ESP + 0x20]
CALL 0x00093016
MOV EAX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [EAX + 0x10]
MOV dword ptr [ESP + 0xc],EAX
JMP 0x00094ab0
MOV ESI,dword ptr [EAX + 0x8]
SUB ESP,0xc
PUSH EAX
CALL 0x000175a0
MOV dword ptr [EBP + 0x10],ESI
MOV EAX,dword ptr [ESP + 0x1c]
MOV EAX,dword ptr [EAX + 0xc]
MOV dword ptr [ESP + 0x1c],EAX
ADD ESP,0x10
JMP 0x00094ab0
MOV ECX,dword ptr [ESP + 0x10]
MOV EAX,ECX
AND EAX,0xff00
MOV dword ptr [ESP + 0x10],EAX
MOV EAX,dword ptr [EBP]
AND EAX,0xff00
CMP EAX,0x1300
JNZ 0x00095749
AND ECX,0x200000
JZ 0x00095768
MOV EAX,dword ptr [ESP + 0xc]
OR dword ptr [EAX],0x200000
MOV EAX,dword ptr [EBP + 0xc]
CALL 0x00096324
TEST EAX,EAX
JZ 0x000956cf
MOV EAX,dword ptr [ESP + 0xc]
AND dword ptr [EAX],0xffdfffff
JMP 0x000956cf
MOV EAX,EBP
CALL 0x00096324
TEST EAX,EAX
MOV EAX,dword ptr [ESP + 0xc]
JNZ 0x000956d3
MOV EAX,dword ptr [EAX + 0xc]
MOV dword ptr [ESP + 0xc],EAX
JMP 0x00094ab0
MOV EAX,dword ptr [EBP + 0x8]
CALL 0x00096324
TEST EAX,EAX
JNZ 0x00095727
MOV EAX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [EAX + 0xc]
MOV dword ptr [ESP + 0xc],EAX
JMP 0x00094ab0
FNSTCW word ptr [ESP + 0x66]
MOV AX,word ptr [ESP + 0x66]
OR AH,0xc
MOV word ptr [ESP + 0x64],AX
FLD qword ptr [ESP + 0x18]
FLDCW word ptr [ESP + 0x64]
FISTP dword ptr [ESP + 0x60]
FLDCW word ptr [ESP + 0x66]
MOV EAX,dword ptr [ESP + 0x60]
CALL 0x00095b2f
MOV EAX,dword ptr [ESP + 0x20]
CALL 0x00092658
MOV ECX,dword ptr [ESP + 0x10]
AND ECX,0xff00
MOV dword ptr [ESP + 0x10],ECX
TEST EAX,EAX
MOV EAX,dword ptr [ESP + 0xc]
JNZ 0x000956d3
MOV EAX,dword ptr [EAX + 0xc]
MOV dword ptr [ESP + 0xc],EAX
JMP 0x00094ab0
MOV EAX,dword ptr [ESP + 0x30]
CALL 0x0009211c
MOV EDX,EAX
MOV ECX,dword ptr [ESP + 0x20]
MOV EAX,dword ptr [ECX]
TEST AH,0x8
JZ 0x00095892
MOV EBP,dword ptr [ECX + 0x10]
MOV EAX,dword ptr [EDX + 0xc]
MOV dword ptr [ESP + 0x38],EDX
ADD EAX,0x11
CALL 0x00019b89
MOV ESI,EAX
MOV EAX,dword ptr [ESP + 0x20]
MOV dword ptr [EAX + 0x10],ESI
LEA EAX,[ESI + 0xc]
MOV dword ptr [ESI],EAX
MOV dword ptr [ESI + 0x4],EAX
MOV dword ptr [ESI + 0x8],EBP
MOV EAX,dword ptr [ESP + 0x10]
AND EAX,0xff00
MOV dword ptr [ESP + 0x10],EAX
MOV EDX,dword ptr [ESP + 0x38]
MOV EAX,dword ptr [EDX + 0x4]
TEST EAX,EAX
JZ 0x00094ab0
MOV dword ptr [ESP + 0x38],0x0
MOV EAX,dword ptr [EDX + 0x10]
MOV ECX,dword ptr [ESP + 0x38]
MOV EBP,dword ptr [EAX + ECX*0x4]
TEST EBP,EBP
JZ 0x00095880
MOV ECX,dword ptr [ESI]
MOV dword ptr [ESP + 0x48],EDX
SUB ESP,0x8
LEA EAX,[EBP + 0x1c]
PUSH EAX
PUSH ECX
CALL 0x000167f0
MOV EAX,dword ptr [ESI]
INC EAX
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x48]
MOV ECX,EAX
MOV dword ptr [ESI],EAX
LEA EAX,[EAX + 0x1]
CMP byte ptr [EAX + -0x2],0x0
JNZ 0x0009586c
MOV EBP,dword ptr [EBP + 0x18]
TEST EBP,EBP
JNZ 0x00095851
INC dword ptr [ESP + 0x38]
MOV EAX,dword ptr [ESP + 0x38]
CMP EAX,dword ptr [EDX + 0x4]
JC 0x00095841
JMP 0x00094ab0
OR AH,0x8
MOV ECX,dword ptr [ESP + 0x20]
MOV dword ptr [ECX],EAX
XOR EBP,EBP
JMP 0x000957fa
MOV EAX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [EAX + 0x8]
MOV dword ptr [EDI + -0x28],EAX
MOV EAX,dword ptr [ESP + 0x10]
AND EAX,0xff00
MOV dword ptr [ESP + 0x10],EAX
JMP 0x00094ab0
MOV EAX,dword ptr [ESP + 0x10]
AND EAX,0xff00
MOV dword ptr [ESP + 0x10],EAX
JMP 0x00094ab0
MOV EAX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [EAX + 0xc]
TEST EAX,EAX
JNZ 0x00095a10
MOV EAX,dword ptr [EBX + 0x594]
MOV ESI,dword ptr [EAX]
MOV EAX,dword ptr [ESP + 0x10]
AND EAX,0xff00
MOV dword ptr [ESP + 0x10],EAX
CMP EAX,0x400
JNZ 0x0009598e
TEST EBP,EBP
JZ 0x000959d5
MOV EAX,EBP
MOV EDX,dword ptr [EAX]
AND EDX,0xff00
XOR EBP,EBP
CMP EDX,0x1300
JNZ 0x00095921
MOV EBP,dword ptr [EAX + 0xc]
MOV EAX,dword ptr [EAX + 0x8]
MOV EDX,dword ptr [ESP + 0x34]
CALL 0x00094969
TEST byte ptr [EAX],0x1
JZ 0x000959bd
CALL 0x000925a2
FSTP qword ptr [ESP + 0x38]
MOV EAX,dword ptr [EDI + 0x14]
CALL 0x0009295c
MOV ECX,EAX
MOV EAX,dword ptr [EDI + -0xc]
PUSH EDX
PUSH 0x1
FLD qword ptr [ESP + 0x40]
SUB ESP,0x8
FSTP qword ptr [ESP]
MOV EDX,0xf0
CALL 0x00092815
POP ECX
POP EAX
PUSH ESI
PUSH dword ptr [EDI + -0xc]
CALL 0x00016a50
ADD ESP,0x10
TEST EBP,EBP
JZ 0x000959ea
MOV EAX,dword ptr [EDI + 0x1c]
CALL 0x0009295c
SUB ESP,0x8
PUSH ESI
PUSH EAX
CALL 0x00016a50
ADD ESP,0x10
MOV EAX,EBP
JMP 0x00095909
MOV EAX,EBP
CALL 0x00095fab
MOV EBP,EAX
SUB ESP,0x8
PUSH ESI
PUSH EAX
CALL 0x00016a50
MOV dword ptr [ESP],EBP
CALL 0x000175a0
ADD ESP,0x10
SUB ESP,0xc
PUSH ESI
CALL 0x000161f0
ADD ESP,0x10
JMP 0x00094ab0
CALL 0x0009295c
SUB ESP,0x8
PUSH ESI
PUSH EAX
CALL 0x00016a50
ADD ESP,0x10
TEST EBP,EBP
JZ 0x000959ea
JMP 0x00095972
MOV EAX,dword ptr [EDI + 0x34]
CALL 0x0009295c
SUB ESP,0x8
PUSH ESI
PUSH EAX
CALL 0x00016a50
ADD ESP,0x10
MOV EAX,dword ptr [EDI + 0x20]
CALL 0x0009295c
SUB ESP,0x8
PUSH ESI
PUSH EAX
CALL 0x00016a50
ADD ESP,0x10
SUB ESP,0xc
PUSH ESI
CALL 0x000161f0
ADD ESP,0x10
JMP 0x00094ab0
MOV EAX,dword ptr [EDI + -0x30]
MOV EDX,dword ptr [ESP + 0x40]
CALL 0x00093a51
MOV ECX,EAX
MOV ESI,dword ptr [EAX]
TEST ESI,ESI
JNZ 0x000958e7
CMP dword ptr [ESP + 0x38],0x7c
JNZ 0x00095a64
MOV dword ptr [ESP + 0x38],EAX
SUB ESP,0x8
LEA EAX,[EBX + 0xffff57dd]
PUSH EAX
PUSH dword ptr [ESP + 0x4c]
CALL 0x000164b0
MOV ESI,EAX
MOV ECX,dword ptr [ESP + 0x48]
MOV dword ptr [ECX],EAX
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00095a91
SUB ESP,0xc
LEA EAX,[EBX + 0xffffbdc9]
PUSH EAX
CALL 0x00018e79
LEA EDX,[EBX + 0xffff57dd]
CMP dword ptr [ESP + 0x38],0x77
JZ 0x00095a77
LEA EDX,[EBX + 0xffff8e83]
MOV dword ptr [ESP + 0x38],ECX
MOV EAX,dword ptr [ESP + 0x40]
CALL 0x00019c3e
MOV ESI,EAX
MOV ECX,dword ptr [ESP + 0x38]
MOV dword ptr [ECX],EAX
JMP 0x000958e7
MOV byte ptr [ECX + 0x14],0x1
JMP 0x000958e7
CMP EAX,0x1800
JNZ 0x00095ae8
MOV EAX,dword ptr [EBP + 0x8]
LEA EDX,[EAX + EAX*0x4]
MOV EAX,dword ptr [EDI + 0x88]
LEA ESI,[EAX + EDX*0x4]
MOV EAX,dword ptr [EBP + 0xc]
MOV ECX,dword ptr [ESP + 0x10]
AND ECX,0xff00
MOV dword ptr [ESP + 0x10],ECX
TEST EAX,EAX
JZ 0x00095aff
MOV EDX,dword ptr [ESP + 0x34]
CALL 0x00094969
CALL 0x0009295c
MOV EBP,EAX
MOV EAX,ESI
CALL 0x0009211c
MOV EDX,EBP
CALL 0x0009269c
JMP 0x00094ab0
LEA EAX,[EBX + 0xffffbec4]
PUSH EAX
PUSH EDX
PUSH dword ptr [EDI + -0x28]
LEA EAX,[EBX + 0xffffbd7f]
PUSH EAX
CALL 0x000191a6
MOV EAX,ESI
CALL 0x0009211c
CALL 0x0009234a
JMP 0x00094ab0
MOV EAX,EDX
CALL 0x0009227b
MOV dword ptr [EBP + 0xc],0x0
MOV EAX,EBP
CALL 0x00092d5e
MOV EAX,EBP
ADD ESP,0x7c
POP EBX
POP ESI
POP EDI
POP EBP
RET
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\n\nuint * __regparm3 FUN_00094969(uint *param_1,uint *param_2)\n\n{\n  char cVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined *puVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  uint uVar8;\n  regex_t *__preg;\n  int *piVar9;\n  FILE *pFVar10;\n  undefined4 *puVar11;\n  uint *puVar12;\n  size_t sVar13;\n  time_t tVar14;\n  char *pcVar15;\n  char *pcVar16;\n  undefined1 *puVar17;\n  uint *puVar18;\n  byte *pbVar19;\n  undefined4 extraout_EDX;\n  int iVar20;\n  uint uVar21;\n  uint *puVar22;\n  longdouble lVar23;\n  longdouble lVar24;\n  uint *local_80;\n  uint local_7c;\n  uint *local_78;\n  double local_74;\n  uint *local_6c;\n  char *local_68;\n  double local_64;\n  uint *local_5c;\n  char *local_4c;\n  uint local_48;\n  uint local_34;\n  \n  if (param_1 == (uint *)0x0) {\n    FUN_0009227b();\n    param_2[3] = 0;\n    FUN_00092d5e();\n    return param_2;\n  }\n  FUN_00092151();\n  iVar6 = DAT_000d1700;\n  piVar5 = DAT_000d16fc;\n  puVar4 = PTR_stdout_000d0fb4;\n  local_80 = param_1;\n  local_78 = param_2;\nLAB_000949b7:\n  local_7c = *local_80;\n  uVar8 = local_80[1];\n  *(uint *)(iVar6 + -0x24) = uVar8;\n  puVar18 = (uint *)local_80[2];\n  uVar21 = local_7c >> 8 & 0xff;\n  if (uVar21 == 1) {\n    if (((*puVar18 & 0xff00) != 0x2700) && ((*puVar18 & 0xff00) != 0x1800)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),uVar8,"Not an array");\n    }\n    if (puVar18[3] == 0) {\n      FUN_0009211c();\n      FUN_0009234a();\n    }\n    else {\n      FUN_00094969();\n      FUN_0009295c();\n      FUN_0009211c();\n      FUN_0009269c();\n    }\n    goto LAB_00094ab0;\n  }\n  if ((local_7c & 0x10000) != 0) {\n    local_6c = (uint *)FUN_00094969();\n  }\n  if ((local_7c & 0x20000) != 0) {\n    local_5c = (uint *)FUN_00094969();\n  }\n  if ((local_7c & 0x40000) != 0) {\n    local_68 = (char *)FUN_0009295c();\n  }\n  if ((local_7c & 0x80000) != 0) {\n    local_4c = (char *)FUN_0009295c();\n  }\n  if ((local_7c & 0x100000) != 0) {\n    lVar23 = (longdouble)FUN_000925a2();\n    local_74 = (double)lVar23;\n  }\n  uVar8 = local_7c & 0x7f;\n  switch(uVar21) {\n  default:\n    goto switchD_00094a90_caseD_0;\n  case 2:\n    break;\n  case 3:\n    *(uint *)(iVar6 + -0x28) = local_80[2];\n    break;\n  case 4:\n  case 5:\n    if (local_80[3] == 0) {\n      pFVar10 = *(FILE **)PTR_stdout_000d0fb4;\n    }\n    else {\n      piVar9 = (int *)FUN_00093a51();\n      pFVar10 = (FILE *)*piVar9;\n      if (pFVar10 == (FILE *)0x0) {\n        if (uVar8 == 0x7c) {\n          pFVar10 = popen(local_4c,"w");\n          *piVar9 = (int)pFVar10;\n          if (pFVar10 == (FILE *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00018e79("popen");\n          }\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_00019c3e();\n          *piVar9 = (int)pFVar10;\n        }\n      }\n    }\n    if ((local_7c & 0xff00) == 0x400) {\n      if (puVar18 == (uint *)0x0) {\n        pcVar15 = (char *)FUN_0009295c();\n        fputs_unlocked(pcVar15,pFVar10);\n      }\n      else {\n        while( true ) {\n          puVar22 = (uint *)0x0;\n          if ((*puVar18 & 0xff00) == 0x1300) {\n            puVar22 = (uint *)puVar18[3];\n          }\n          puVar18 = puVar22;\n          pbVar19 = (byte *)FUN_00094969();\n          if ((*pbVar19 & 1) == 0) {\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }\n          else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }\n          if (puVar18 == (uint *)0x0) break;\n          pcVar15 = (char *)FUN_0009295c();\n          fputs_unlocked(pcVar15,pFVar10);\n        }\n      }\n      pcVar15 = (char *)FUN_0009295c();\n      fputs_unlocked(pcVar15,pFVar10);\n      fflush(pFVar10);\n    }\n    else {\n      pcVar15 = (char *)FUN_00095fab();\n      fputs_unlocked(pcVar15,pFVar10);\n      free(pcVar15);\n      fflush(pFVar10);\n    }\n    break;\n  case 6:\n    iVar7 = FUN_0009211c();\n    if ((*local_6c & 0x800) == 0) {\n      *local_6c = *local_6c | 0x800;\n      uVar8 = 0;\n    }\n    else {\n      uVar8 = local_6c[4];\n    }\n    piVar9 = (int *)FUN_00019b89();\n    local_6c[4] = (uint)piVar9;\n    *piVar9 = (int)(piVar9 + 3);\n    piVar9[1] = (int)(piVar9 + 3);\n    piVar9[2] = uVar8;\n    if (*(int *)(iVar7 + 4) != 0) {\n      uVar8 = 0;\n      do {\n        iVar20 = *(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4);\n        if (iVar20 != 0) {\n          pcVar15 = (char *)*piVar9;\n          do {\n            strcpy(pcVar15,(char *)(iVar20 + 0x1c));\n            pcVar16 = (char *)*piVar9;\n            do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');\n            iVar20 = *(int *)(iVar20 + 0x18);\n          } while (iVar20 != 0);\n        }\n        uVar8 = uVar8 + 1;\n      } while (uVar8 < *(uint *)(iVar7 + 4));\n    }\n    break;\n  case 7:\n    goto switchD_00094a90_caseD_7;\n  case 10:\n    FUN_00095b2f();\n    goto switchD_00094a90_caseD_7;\n  case 0xb:\n    goto switchD_00094a90_caseD_b;\n  case 0xc:\n    *(undefined1 *)(iVar6 + -5) = 1;\n    goto switchD_00094a90_caseD_b;\n  case 0xd:\n    if ((*puVar18 & 0xff00) != 0x1300) {\n      iVar7 = FUN_00096324();\n      if (iVar7 != 0) goto LAB_000956d3;\n      local_80 = (uint *)local_80[3];\n      break;\n    }\n    if (((local_7c & 0x200000) == 0) && (iVar7 = FUN_00096324(), iVar7 == 0)) {\n      local_80 = (uint *)local_80[3];\n      break;\n    }\n    *local_80 = *local_80 | 0x200000;\n    iVar7 = FUN_00096324();\n    if (iVar7 != 0) {\n      *local_80 = *local_80 & 0xffdfffff;\n    }\n    goto LAB_000956d3;\n  case 0xe:\n    puVar18 = (uint *)local_6c[4];\n    pcVar15 = (char *)puVar18[1];\n    if (pcVar15 < (char *)*puVar18) {\n      do {\n        puVar18[1] = (uint)(pcVar15 + 1);\n        cVar1 = *pcVar15;\n        pcVar15 = pcVar15 + 1;\n      } while (cVar1 != '\0');\n      FUN_00093016();\n      goto LAB_000956d3;\n    }\n    uVar8 = puVar18[2];\n    free(puVar18);\n    local_6c[4] = uVar8;\n    local_80 = (uint *)local_80[3];\n    break;\n  case 0x10:\n  case 0x22:\n    lVar23 = (longdouble)FUN_000925a2();\n    switch(uVar8) {\n    case 0x25:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40) {\nLAB_00095638:\n        pcVar15 = "Division by zero";\n        goto LAB_00094f35;\n      }\n      local_74 = (double)((longdouble)local_74 -\n                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23);\n      break;\n    case 0x26:\nswitchD_000950ee_caseD_2:\n      pcVar15 = "Math support is not compiled in";\n      goto LAB_00094f35;\n    case 0x27:\n    case 0x28:\n    case 0x29:\n    case 0x2c:\n    case 0x2e:\n      break;\n    case 0x2a:\n      local_74 = (double)(lVar23 * (longdouble)local_74);\n      break;\n    case 0x2b:\n      local_74 = (double)(lVar23 + (longdouble)local_74);\n      break;\n    case 0x2d:\n      local_74 = (double)((longdouble)local_74 - lVar23);\n      break;\n    case 0x2f:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)\n      goto LAB_00095638;\n      local_74 = (double)((longdouble)local_74 / lVar23);\n    }\n    if ((local_7c & 0xff00) != 0x1000) {\n      local_78 = local_6c;\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = local_74;\n    FUN_00092d5e();\n    break;\n  case 0x11:\n    local_78 = (uint *)FUN_00093dbd();\n    break;\n  case 0x13:\n  case 0x15:\n    puVar17 = &DAT_000cd91f;\n    if ((local_7c & 0xff00) == 0x1300) {\n      puVar17 = (undefined1 *)FUN_0009295c();\n    }\n    uVar8 = FUN_00019fd7("%s%s%s",local_68,puVar17,local_4c);\n    FUN_0009227b();\n    local_78[3] = uVar8;\n    FUN_00092d5e();\n    break;\n  case 0x14:\n    FUN_000925a2();\n    if (((((ushort)*local_6c ^ 0x4000) & 0x4201) == 0) ||\n       (FUN_000925a2(), (((ushort)*local_5c ^ 0x4000) & 0x4201) == 0)) {\n      pcVar15 = (char *)FUN_0009295c();\n      pcVar16 = (char *)FUN_0009295c();\n      if (*(char *)(iVar6 + -8) == '\0') {\n        iVar7 = strcmp(pcVar15,pcVar16);\n        lVar23 = (longdouble)iVar7;\n        goto joined_r0x0009536c;\n      }\n      iVar7 = strcasecmp(pcVar15,pcVar16);\n      lVar23 = (longdouble)iVar7;\n      if ((local_7c & 0x7e) != 2) goto LAB_00095372;\nLAB_000952b4:\n      local_48 = (uint)((longdouble)0 <= lVar23);\n    }\n    else {\n      lVar24 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)(double)lVar24 - lVar23;\njoined_r0x0009536c:\n      if ((local_7c & 0x7e) == 2) goto LAB_000952b4;\nLAB_00095372:\n      if ((local_7c & 0x7e) == 4) {\n        lVar24 = (longdouble)0;\n        local_48 = (uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40);\n      }\n      else if ((local_7c & 0x7e) == 0) {\n        local_48 = (uint)((longdouble)0 < lVar23);\n      }\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)(int)(local_7c & 1 ^ local_48 ^ 1);\n    FUN_00092d5e();\n    break;\n  case 0x16:\n    switch(uVar8) {\n    case 0:\n      local_64 = (double)(longlong)ROUND(local_74);\n      break;\n    case 1:\n      iVar7 = rand();\n      local_64 = (double)iVar7 / DAT_000b65c0;\n      break;\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n      goto switchD_000950ee_caseD_2;\n    case 7:\n      uVar8 = *(uint *)(iVar6 + 0x8c);\n      if (puVar18 == (uint *)0x0) {\n        local_34 = time((time_t *)0x0);\n      }\n      else {\n        local_34 = (uint)(longlong)ROUND(local_74);\n      }\n      local_64 = (double)(ulonglong)uVar8;\n      local_64 = (double)(longlong)local_64;\n      *(uint *)(iVar6 + 0x8c) = local_34;\n      srand(local_34);\n      break;\n    case 8:\n      tVar14 = time((time_t *)0x0);\n      local_64 = (double)tVar14;\n      break;\n    case 9:\n      if (puVar18 == (uint *)0x0) {\n        local_68 = (char *)FUN_0009295c();\n      }\n      else if ((*local_6c & 2) != 0) {\n        local_64 = (double)(ulonglong)*(uint *)local_6c[4];\n        local_64 = (double)(longlong)local_64;\n        break;\n      }\n      sVar13 = strlen(local_68);\n      local_64 = (double)(ulonglong)sVar13;\n      local_64 = (double)(longlong)local_64;\n      break;\n    case 10:\n      FUN_00019f78();\n      if (local_68 == (char *)0x0) {\n        local_64 = 0.0;\n      }\n      else if (*local_68 == '\0') {\n        local_64 = 0.0;\n      }\n      else {\n        iVar7 = system(local_68);\n        local_64 = (double)(iVar7 >> 8);\n      }\n      break;\n    case 0xb:\n      if (puVar18 == (uint *)0x0) {\n        fflush(*(FILE **)puVar4);\n      }\n      else if ((local_68 == (char *)0x0) || (*local_68 == '\0')) {\n        FUN_00019f78();\n      }\n      else {\n        puVar11 = (undefined4 *)FUN_00093a51();\n        fflush((FILE *)*puVar11);\n      }\n      break;\n    case 0xc:\n      puVar11 = (undefined4 *)FUN_000939df();\n      if (puVar11 == (undefined4 *)0x0) {\n        local_64 = 0.0;\n      }\n      else {\n        pFVar10 = (FILE *)*puVar11;\n        if (pFVar10 == (FILE *)0x0) {\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          local_64 = 0.0;\n        }\n        else {\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }\n      }\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = local_64;\n    FUN_00092d5e();\n    break;\n  case 0x17:\n    lVar23 = (longdouble)FUN_000925a2();\n    iVar7 = (int)ROUND(lVar23);\n    if (iVar7 < 0) {\n      pcVar15 = "Access to negative field";\n      goto LAB_00094f35;\n    }\n    if (iVar7 == 0) {\n      local_78 = *(uint **)(iVar6 + 0x34);\n    }\n    else {\n      FUN_00092cc4();\n      if (*(int *)(iVar6 + -0x20) < iVar7) {\n        FUN_000922c0();\n      }\n      local_78 = (uint *)(*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14);\n    }\n    break;\n  case 0x18:\n    local_78 = (uint *)(*(int *)(iVar6 + 0x88) + local_80[2] * 0x14);\n    goto LAB_00094b15;\n  case 0x19:\n    if ((*(int *)local_80[3] == 0) && (((int *)local_80[3])[1] == 0)) {\n      pcVar15 = "Call to undefined function";\n      goto LAB_00094f35;\n    }\n    puVar12 = (uint *)FUN_00092151();\n    puVar22 = puVar12;\n    if (puVar18 != (uint *)0x0) {\n      while ((*puVar18 & 0xff00) == 0x1300) {\n        puVar18 = (uint *)puVar18[3];\n        uVar8 = FUN_00094969();\n        FUN_00093453();\n        *puVar22 = *puVar22 | 0x2000;\n        puVar22[4] = uVar8;\n        if ((*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))\n           || (puVar22 = puVar22 + 5, puVar18 == (uint *)0x0)) goto LAB_00094fd5;\n      }\n      uVar8 = FUN_00094969();\n      FUN_00093453();\n      *puVar22 = *puVar22 | 0x2000;\n      puVar22[4] = uVar8;\n    }\nLAB_00094fd5:\n    uVar2 = *(undefined4 *)(iVar6 + 0x88);\n    *(uint **)(iVar6 + 0x88) = puVar12;\n    uVar3 = *(undefined4 *)(iVar6 + -0x28);\n    local_78 = (uint *)FUN_00094969();\n    *(undefined4 *)(iVar6 + -0x28) = uVar3;\n    FUN_000938f0();\n    *(undefined4 *)(iVar6 + 0x88) = uVar2;\n    break;\n  case 0x1a:\n  case 0x20:\n    if (puVar18 == (uint *)0x0) {\n      puVar11 = *(undefined4 **)(iVar6 + -0x3c);\n      if (puVar11 != (undefined4 *)0x0) {\nLAB_00094e49:\n        pFVar10 = (FILE *)*puVar11;\n        goto LAB_00094e4b;\n      }\n      puVar11 = (undefined4 *)FUN_00093cca();\n      *(undefined4 **)(iVar6 + -0x3c) = puVar11;\n      if (puVar11 != (undefined4 *)0x0) goto LAB_00094e49;\nLAB_00094e4f:\n      iVar7 = *DAT_000d16fc;\n      puVar18 = *(uint **)(iVar6 + 0x44);\n      FUN_0009227b();\n      *puVar18 = *puVar18 | 1;\n      *(double *)(puVar18 + 1) = (double)iVar7;\n      FUN_00092d5e();\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      local_78[1] = 0;\n      local_78[2] = 0xbff00000;\n      FUN_00092d5e();\n    }\n    else {\n      piVar9 = (int *)FUN_00093a51();\n      if (*piVar9 == 0) {\n        if ((local_7c & 0xff00) == 0x2000) {\n          pFVar10 = popen(local_68,"r");\n          *piVar9 = (int)pFVar10;\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_0001923e();\n          *piVar9 = (int)pFVar10;\n        }\nLAB_00094e4b:\n        if (pFVar10 == (FILE *)0x0) goto LAB_00094e4f;\n      }\n      if (local_80[3] == 0) {\n        local_5c = *(uint **)(iVar6 + 0x34);\n      }\n      iVar7 = FUN_0009307e();\n      if ((0 < iVar7) && (puVar18 == (uint *)0x0)) {\n        FUN_0009304a();\n        FUN_0009304a();\n      }\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      *(double *)(local_78 + 1) = (double)iVar7;\n      FUN_00092d5e();\n    }\n    break;\n  case 0x1b:\n    FUN_0009211c();\n    iVar7 = FUN_000939df();\n    if (iVar7 == 0) {\nLAB_00094c2d:\n      lVar23 = (longdouble)0;\n    }\n    else {\n      lVar23 = (longdouble)1;\n    }\n    goto LAB_00094b8a;\n  case 0x1c:\n    iVar7 = FUN_00092658();\n    if (iVar7 == 0) goto LAB_00094c2d;\nLAB_00094da9:\n    iVar7 = FUN_00096324();\n    lVar23 = (longdouble)iVar7;\n    goto LAB_00094b8a;\n  case 0x1d:\n    iVar7 = FUN_00092658();\n    if (iVar7 == 0) goto LAB_00094da9;\nLAB_00094c15:\n    lVar23 = (longdouble)1;\n    goto LAB_00094b8a;\n  case 0x1e:\n    goto LAB_00094ce7;\n  case 0x1f:\n    local_78 = (uint *)FUN_00093453();\n    break;\n  case 0x21:\n    local_68 = (char *)FUN_0009295c();\nLAB_00094ce7:\n    __preg = (regex_t *)FUN_00095bc7();\n    iVar7 = regexec(__preg,local_68,0,(regmatch_t *)0x0,0);\n    if ((regex_t *)(iVar6 + 0x90) == __preg) {\n      regfree((regex_t *)(iVar6 + 0x90));\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)((iVar7 == 0) != (uVar8 == 0x21));\n    FUN_00092d5e();\n    break;\n  case 0x23:\n    FUN_00093453();\n    break;\n  case 0x24:\n    uVar8 = FUN_00095fab();\n    FUN_0009227b();\n    local_78[3] = uVar8;\n    FUN_00092d5e();\n    break;\n  case 0x25:\n    if ((*(uint *)local_80[3] & 0xff00) == 0x1200) {\n      FUN_00092658();\n      local_78 = (uint *)FUN_00094969();\n      break;\n    }\n    goto switchD_00094a90_caseD_0;\n  case 0x26:\n    lVar23 = (longdouble)FUN_000925a2();\n    if (uVar8 == 0x4d) {\n      lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      lVar23 = lVar24;\n    }\n    else {\n      if (uVar8 < 0x4e) {\n        if (uVar8 == 0x21) {\n          iVar7 = FUN_00092658();\n          if (iVar7 == 0) goto LAB_00094c15;\n          goto LAB_00094c2d;\n        }\n        if (uVar8 == 0x2d) {\n          lVar23 = -lVar23;\n        }\n        goto LAB_00094b8a;\n      }\n      if (uVar8 == 0x6d) {\n        lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      }\n      else if (uVar8 == 0x70) {\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n      }\n      else {\n        if (uVar8 != 0x50) goto LAB_00094b8a;\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n        lVar23 = lVar24;\n      }\n    }\n    FUN_0009227b();\n    *local_5c = *local_5c | 1;\n    *(double *)(local_5c + 1) = (double)lVar24;\n    FUN_00092d5e();\n    lVar23 = (longdouble)(double)lVar23;\nLAB_00094b8a:\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)lVar23;\n    FUN_00092d5e();\n    break;\n  case 0x27:\n    local_78 = (uint *)local_80[2];\n    if (local_78 == *(uint **)(iVar6 + 0x50)) {\n      FUN_00092cc4();\n    }\nLAB_00094b15:\n    if (local_80[3] != 0) {\n      FUN_0009211c();\n      local_78 = (uint *)FUN_00093a51();\n    }\n    break;\n  case 0x28:\n    goto switchD_00094a90_caseD_28;\n  }\nLAB_00094ab0:\n  local_7c = local_7c & 0xff00;\n  if (local_7c < 0x601) {\n    local_80 = (uint *)local_80[4];\n    cVar1 = *(char *)(iVar6 + -6);\n  }\n  else {\n    if (0xfff < local_7c) {\nLAB_00094acb:\n      FUN_000938f0();\n      return local_78;\n    }\n    cVar1 = *(char *)(iVar6 + -6);\n  }\n  if ((cVar1 != '\0') || (local_80 == (uint *)0x0)) goto LAB_00094acb;\n  goto LAB_000949b7;\nswitchD_00094a90_caseD_b:\n  *(undefined1 *)(iVar6 + -6) = 1;\nswitchD_00094a90_caseD_28:\n  FUN_0009227b();\n  goto LAB_00094ab0;\nswitchD_00094a90_caseD_7:\n  iVar7 = FUN_00092658();\n  if (iVar7 == 0) {\n    local_80 = (uint *)local_80[3];\n  }\n  else {\nLAB_000956d3:\n    local_80 = (uint *)local_80[4];\n  }\n  goto LAB_00094ab0;\nswitchD_00094a90_caseD_0:\n  pcVar15 = "Possible syntax error";\nLAB_00094f35:\n                    /* WARNING: Subroutine does not return */\n  FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),*(undefined4 *)(iVar6 + -0x24),pcVar15);\n}\n\n" comment comment (ERROR "uint * __regparm3 FUN_00094969(uint *param_1,uint *param_2)" (binary_expression "uint * __regparm3 FUN_00094969(uint *param_1,uint *param_2)" identifier * (ERROR "__regparm3" identifier) (call_expression "FUN_00094969(uint *param_1,uint *param_2)" identifier (argument_list "(uint *param_1,uint *param_2)" ( (binary_expression "uint *param_1" identifier * identifier) , (binary_expression "uint *param_2" identifier * identifier) ))))) (compound_statement "{\n  char cVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined *puVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  uint uVar8;\n  regex_t *__preg;\n  int *piVar9;\n  FILE *pFVar10;\n  undefined4 *puVar11;\n  uint *puVar12;\n  size_t sVar13;\n  time_t tVar14;\n  char *pcVar15;\n  char *pcVar16;\n  undefined1 *puVar17;\n  uint *puVar18;\n  byte *pbVar19;\n  undefined4 extraout_EDX;\n  int iVar20;\n  uint uVar21;\n  uint *puVar22;\n  longdouble lVar23;\n  longdouble lVar24;\n  uint *local_80;\n  uint local_7c;\n  uint *local_78;\n  double local_74;\n  uint *local_6c;\n  char *local_68;\n  double local_64;\n  uint *local_5c;\n  char *local_4c;\n  uint local_48;\n  uint local_34;\n  \n  if (param_1 == (uint *)0x0) {\n    FUN_0009227b();\n    param_2[3] = 0;\n    FUN_00092d5e();\n    return param_2;\n  }\n  FUN_00092151();\n  iVar6 = DAT_000d1700;\n  piVar5 = DAT_000d16fc;\n  puVar4 = PTR_stdout_000d0fb4;\n  local_80 = param_1;\n  local_78 = param_2;\nLAB_000949b7:\n  local_7c = *local_80;\n  uVar8 = local_80[1];\n  *(uint *)(iVar6 + -0x24) = uVar8;\n  puVar18 = (uint *)local_80[2];\n  uVar21 = local_7c >> 8 & 0xff;\n  if (uVar21 == 1) {\n    if (((*puVar18 & 0xff00) != 0x2700) && ((*puVar18 & 0xff00) != 0x1800)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),uVar8,"Not an array");\n    }\n    if (puVar18[3] == 0) {\n      FUN_0009211c();\n      FUN_0009234a();\n    }\n    else {\n      FUN_00094969();\n      FUN_0009295c();\n      FUN_0009211c();\n      FUN_0009269c();\n    }\n    goto LAB_00094ab0;\n  }\n  if ((local_7c & 0x10000) != 0) {\n    local_6c = (uint *)FUN_00094969();\n  }\n  if ((local_7c & 0x20000) != 0) {\n    local_5c = (uint *)FUN_00094969();\n  }\n  if ((local_7c & 0x40000) != 0) {\n    local_68 = (char *)FUN_0009295c();\n  }\n  if ((local_7c & 0x80000) != 0) {\n    local_4c = (char *)FUN_0009295c();\n  }\n  if ((local_7c & 0x100000) != 0) {\n    lVar23 = (longdouble)FUN_000925a2();\n    local_74 = (double)lVar23;\n  }\n  uVar8 = local_7c & 0x7f;\n  switch(uVar21) {\n  default:\n    goto switchD_00094a90_caseD_0;\n  case 2:\n    break;\n  case 3:\n    *(uint *)(iVar6 + -0x28) = local_80[2];\n    break;\n  case 4:\n  case 5:\n    if (local_80[3] == 0) {\n      pFVar10 = *(FILE **)PTR_stdout_000d0fb4;\n    }\n    else {\n      piVar9 = (int *)FUN_00093a51();\n      pFVar10 = (FILE *)*piVar9;\n      if (pFVar10 == (FILE *)0x0) {\n        if (uVar8 == 0x7c) {\n          pFVar10 = popen(local_4c,"w");\n          *piVar9 = (int)pFVar10;\n          if (pFVar10 == (FILE *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00018e79("popen");\n          }\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_00019c3e();\n          *piVar9 = (int)pFVar10;\n        }\n      }\n    }\n    if ((local_7c & 0xff00) == 0x400) {\n      if (puVar18 == (uint *)0x0) {\n        pcVar15 = (char *)FUN_0009295c();\n        fputs_unlocked(pcVar15,pFVar10);\n      }\n      else {\n        while( true ) {\n          puVar22 = (uint *)0x0;\n          if ((*puVar18 & 0xff00) == 0x1300) {\n            puVar22 = (uint *)puVar18[3];\n          }\n          puVar18 = puVar22;\n          pbVar19 = (byte *)FUN_00094969();\n          if ((*pbVar19 & 1) == 0) {\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }\n          else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }\n          if (puVar18 == (uint *)0x0) break;\n          pcVar15 = (char *)FUN_0009295c();\n          fputs_unlocked(pcVar15,pFVar10);\n        }\n      }\n      pcVar15 = (char *)FUN_0009295c();\n      fputs_unlocked(pcVar15,pFVar10);\n      fflush(pFVar10);\n    }\n    else {\n      pcVar15 = (char *)FUN_00095fab();\n      fputs_unlocked(pcVar15,pFVar10);\n      free(pcVar15);\n      fflush(pFVar10);\n    }\n    break;\n  case 6:\n    iVar7 = FUN_0009211c();\n    if ((*local_6c & 0x800) == 0) {\n      *local_6c = *local_6c | 0x800;\n      uVar8 = 0;\n    }\n    else {\n      uVar8 = local_6c[4];\n    }\n    piVar9 = (int *)FUN_00019b89();\n    local_6c[4] = (uint)piVar9;\n    *piVar9 = (int)(piVar9 + 3);\n    piVar9[1] = (int)(piVar9 + 3);\n    piVar9[2] = uVar8;\n    if (*(int *)(iVar7 + 4) != 0) {\n      uVar8 = 0;\n      do {\n        iVar20 = *(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4);\n        if (iVar20 != 0) {\n          pcVar15 = (char *)*piVar9;\n          do {\n            strcpy(pcVar15,(char *)(iVar20 + 0x1c));\n            pcVar16 = (char *)*piVar9;\n            do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');\n            iVar20 = *(int *)(iVar20 + 0x18);\n          } while (iVar20 != 0);\n        }\n        uVar8 = uVar8 + 1;\n      } while (uVar8 < *(uint *)(iVar7 + 4));\n    }\n    break;\n  case 7:\n    goto switchD_00094a90_caseD_7;\n  case 10:\n    FUN_00095b2f();\n    goto switchD_00094a90_caseD_7;\n  case 0xb:\n    goto switchD_00094a90_caseD_b;\n  case 0xc:\n    *(undefined1 *)(iVar6 + -5) = 1;\n    goto switchD_00094a90_caseD_b;\n  case 0xd:\n    if ((*puVar18 & 0xff00) != 0x1300) {\n      iVar7 = FUN_00096324();\n      if (iVar7 != 0) goto LAB_000956d3;\n      local_80 = (uint *)local_80[3];\n      break;\n    }\n    if (((local_7c & 0x200000) == 0) && (iVar7 = FUN_00096324(), iVar7 == 0)) {\n      local_80 = (uint *)local_80[3];\n      break;\n    }\n    *local_80 = *local_80 | 0x200000;\n    iVar7 = FUN_00096324();\n    if (iVar7 != 0) {\n      *local_80 = *local_80 & 0xffdfffff;\n    }\n    goto LAB_000956d3;\n  case 0xe:\n    puVar18 = (uint *)local_6c[4];\n    pcVar15 = (char *)puVar18[1];\n    if (pcVar15 < (char *)*puVar18) {\n      do {\n        puVar18[1] = (uint)(pcVar15 + 1);\n        cVar1 = *pcVar15;\n        pcVar15 = pcVar15 + 1;\n      } while (cVar1 != '\0');\n      FUN_00093016();\n      goto LAB_000956d3;\n    }\n    uVar8 = puVar18[2];\n    free(puVar18);\n    local_6c[4] = uVar8;\n    local_80 = (uint *)local_80[3];\n    break;\n  case 0x10:\n  case 0x22:\n    lVar23 = (longdouble)FUN_000925a2();\n    switch(uVar8) {\n    case 0x25:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40) {\nLAB_00095638:\n        pcVar15 = "Division by zero";\n        goto LAB_00094f35;\n      }\n      local_74 = (double)((longdouble)local_74 -\n                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23);\n      break;\n    case 0x26:\nswitchD_000950ee_caseD_2:\n      pcVar15 = "Math support is not compiled in";\n      goto LAB_00094f35;\n    case 0x27:\n    case 0x28:\n    case 0x29:\n    case 0x2c:\n    case 0x2e:\n      break;\n    case 0x2a:\n      local_74 = (double)(lVar23 * (longdouble)local_74);\n      break;\n    case 0x2b:\n      local_74 = (double)(lVar23 + (longdouble)local_74);\n      break;\n    case 0x2d:\n      local_74 = (double)((longdouble)local_74 - lVar23);\n      break;\n    case 0x2f:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)\n      goto LAB_00095638;\n      local_74 = (double)((longdouble)local_74 / lVar23);\n    }\n    if ((local_7c & 0xff00) != 0x1000) {\n      local_78 = local_6c;\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = local_74;\n    FUN_00092d5e();\n    break;\n  case 0x11:\n    local_78 = (uint *)FUN_00093dbd();\n    break;\n  case 0x13:\n  case 0x15:\n    puVar17 = &DAT_000cd91f;\n    if ((local_7c & 0xff00) == 0x1300) {\n      puVar17 = (undefined1 *)FUN_0009295c();\n    }\n    uVar8 = FUN_00019fd7("%s%s%s",local_68,puVar17,local_4c);\n    FUN_0009227b();\n    local_78[3] = uVar8;\n    FUN_00092d5e();\n    break;\n  case 0x14:\n    FUN_000925a2();\n    if (((((ushort)*local_6c ^ 0x4000) & 0x4201) == 0) ||\n       (FUN_000925a2(), (((ushort)*local_5c ^ 0x4000) & 0x4201) == 0)) {\n      pcVar15 = (char *)FUN_0009295c();\n      pcVar16 = (char *)FUN_0009295c();\n      if (*(char *)(iVar6 + -8) == '\0') {\n        iVar7 = strcmp(pcVar15,pcVar16);\n        lVar23 = (longdouble)iVar7;\n        goto joined_r0x0009536c;\n      }\n      iVar7 = strcasecmp(pcVar15,pcVar16);\n      lVar23 = (longdouble)iVar7;\n      if ((local_7c & 0x7e) != 2) goto LAB_00095372;\nLAB_000952b4:\n      local_48 = (uint)((longdouble)0 <= lVar23);\n    }\n    else {\n      lVar24 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)(double)lVar24 - lVar23;\njoined_r0x0009536c:\n      if ((local_7c & 0x7e) == 2) goto LAB_000952b4;\nLAB_00095372:\n      if ((local_7c & 0x7e) == 4) {\n        lVar24 = (longdouble)0;\n        local_48 = (uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40);\n      }\n      else if ((local_7c & 0x7e) == 0) {\n        local_48 = (uint)((longdouble)0 < lVar23);\n      }\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)(int)(local_7c & 1 ^ local_48 ^ 1);\n    FUN_00092d5e();\n    break;\n  case 0x16:\n    switch(uVar8) {\n    case 0:\n      local_64 = (double)(longlong)ROUND(local_74);\n      break;\n    case 1:\n      iVar7 = rand();\n      local_64 = (double)iVar7 / DAT_000b65c0;\n      break;\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n      goto switchD_000950ee_caseD_2;\n    case 7:\n      uVar8 = *(uint *)(iVar6 + 0x8c);\n      if (puVar18 == (uint *)0x0) {\n        local_34 = time((time_t *)0x0);\n      }\n      else {\n        local_34 = (uint)(longlong)ROUND(local_74);\n      }\n      local_64 = (double)(ulonglong)uVar8;\n      local_64 = (double)(longlong)local_64;\n      *(uint *)(iVar6 + 0x8c) = local_34;\n      srand(local_34);\n      break;\n    case 8:\n      tVar14 = time((time_t *)0x0);\n      local_64 = (double)tVar14;\n      break;\n    case 9:\n      if (puVar18 == (uint *)0x0) {\n        local_68 = (char *)FUN_0009295c();\n      }\n      else if ((*local_6c & 2) != 0) {\n        local_64 = (double)(ulonglong)*(uint *)local_6c[4];\n        local_64 = (double)(longlong)local_64;\n        break;\n      }\n      sVar13 = strlen(local_68);\n      local_64 = (double)(ulonglong)sVar13;\n      local_64 = (double)(longlong)local_64;\n      break;\n    case 10:\n      FUN_00019f78();\n      if (local_68 == (char *)0x0) {\n        local_64 = 0.0;\n      }\n      else if (*local_68 == '\0') {\n        local_64 = 0.0;\n      }\n      else {\n        iVar7 = system(local_68);\n        local_64 = (double)(iVar7 >> 8);\n      }\n      break;\n    case 0xb:\n      if (puVar18 == (uint *)0x0) {\n        fflush(*(FILE **)puVar4);\n      }\n      else if ((local_68 == (char *)0x0) || (*local_68 == '\0')) {\n        FUN_00019f78();\n      }\n      else {\n        puVar11 = (undefined4 *)FUN_00093a51();\n        fflush((FILE *)*puVar11);\n      }\n      break;\n    case 0xc:\n      puVar11 = (undefined4 *)FUN_000939df();\n      if (puVar11 == (undefined4 *)0x0) {\n        local_64 = 0.0;\n      }\n      else {\n        pFVar10 = (FILE *)*puVar11;\n        if (pFVar10 == (FILE *)0x0) {\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          local_64 = 0.0;\n        }\n        else {\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }\n      }\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = local_64;\n    FUN_00092d5e();\n    break;\n  case 0x17:\n    lVar23 = (longdouble)FUN_000925a2();\n    iVar7 = (int)ROUND(lVar23);\n    if (iVar7 < 0) {\n      pcVar15 = "Access to negative field";\n      goto LAB_00094f35;\n    }\n    if (iVar7 == 0) {\n      local_78 = *(uint **)(iVar6 + 0x34);\n    }\n    else {\n      FUN_00092cc4();\n      if (*(int *)(iVar6 + -0x20) < iVar7) {\n        FUN_000922c0();\n      }\n      local_78 = (uint *)(*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14);\n    }\n    break;\n  case 0x18:\n    local_78 = (uint *)(*(int *)(iVar6 + 0x88) + local_80[2] * 0x14);\n    goto LAB_00094b15;\n  case 0x19:\n    if ((*(int *)local_80[3] == 0) && (((int *)local_80[3])[1] == 0)) {\n      pcVar15 = "Call to undefined function";\n      goto LAB_00094f35;\n    }\n    puVar12 = (uint *)FUN_00092151();\n    puVar22 = puVar12;\n    if (puVar18 != (uint *)0x0) {\n      while ((*puVar18 & 0xff00) == 0x1300) {\n        puVar18 = (uint *)puVar18[3];\n        uVar8 = FUN_00094969();\n        FUN_00093453();\n        *puVar22 = *puVar22 | 0x2000;\n        puVar22[4] = uVar8;\n        if ((*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))\n           || (puVar22 = puVar22 + 5, puVar18 == (uint *)0x0)) goto LAB_00094fd5;\n      }\n      uVar8 = FUN_00094969();\n      FUN_00093453();\n      *puVar22 = *puVar22 | 0x2000;\n      puVar22[4] = uVar8;\n    }\nLAB_00094fd5:\n    uVar2 = *(undefined4 *)(iVar6 + 0x88);\n    *(uint **)(iVar6 + 0x88) = puVar12;\n    uVar3 = *(undefined4 *)(iVar6 + -0x28);\n    local_78 = (uint *)FUN_00094969();\n    *(undefined4 *)(iVar6 + -0x28) = uVar3;\n    FUN_000938f0();\n    *(undefined4 *)(iVar6 + 0x88) = uVar2;\n    break;\n  case 0x1a:\n  case 0x20:\n    if (puVar18 == (uint *)0x0) {\n      puVar11 = *(undefined4 **)(iVar6 + -0x3c);\n      if (puVar11 != (undefined4 *)0x0) {\nLAB_00094e49:\n        pFVar10 = (FILE *)*puVar11;\n        goto LAB_00094e4b;\n      }\n      puVar11 = (undefined4 *)FUN_00093cca();\n      *(undefined4 **)(iVar6 + -0x3c) = puVar11;\n      if (puVar11 != (undefined4 *)0x0) goto LAB_00094e49;\nLAB_00094e4f:\n      iVar7 = *DAT_000d16fc;\n      puVar18 = *(uint **)(iVar6 + 0x44);\n      FUN_0009227b();\n      *puVar18 = *puVar18 | 1;\n      *(double *)(puVar18 + 1) = (double)iVar7;\n      FUN_00092d5e();\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      local_78[1] = 0;\n      local_78[2] = 0xbff00000;\n      FUN_00092d5e();\n    }\n    else {\n      piVar9 = (int *)FUN_00093a51();\n      if (*piVar9 == 0) {\n        if ((local_7c & 0xff00) == 0x2000) {\n          pFVar10 = popen(local_68,"r");\n          *piVar9 = (int)pFVar10;\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_0001923e();\n          *piVar9 = (int)pFVar10;\n        }\nLAB_00094e4b:\n        if (pFVar10 == (FILE *)0x0) goto LAB_00094e4f;\n      }\n      if (local_80[3] == 0) {\n        local_5c = *(uint **)(iVar6 + 0x34);\n      }\n      iVar7 = FUN_0009307e();\n      if ((0 < iVar7) && (puVar18 == (uint *)0x0)) {\n        FUN_0009304a();\n        FUN_0009304a();\n      }\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      *(double *)(local_78 + 1) = (double)iVar7;\n      FUN_00092d5e();\n    }\n    break;\n  case 0x1b:\n    FUN_0009211c();\n    iVar7 = FUN_000939df();\n    if (iVar7 == 0) {\nLAB_00094c2d:\n      lVar23 = (longdouble)0;\n    }\n    else {\n      lVar23 = (longdouble)1;\n    }\n    goto LAB_00094b8a;\n  case 0x1c:\n    iVar7 = FUN_00092658();\n    if (iVar7 == 0) goto LAB_00094c2d;\nLAB_00094da9:\n    iVar7 = FUN_00096324();\n    lVar23 = (longdouble)iVar7;\n    goto LAB_00094b8a;\n  case 0x1d:\n    iVar7 = FUN_00092658();\n    if (iVar7 == 0) goto LAB_00094da9;\nLAB_00094c15:\n    lVar23 = (longdouble)1;\n    goto LAB_00094b8a;\n  case 0x1e:\n    goto LAB_00094ce7;\n  case 0x1f:\n    local_78 = (uint *)FUN_00093453();\n    break;\n  case 0x21:\n    local_68 = (char *)FUN_0009295c();\nLAB_00094ce7:\n    __preg = (regex_t *)FUN_00095bc7();\n    iVar7 = regexec(__preg,local_68,0,(regmatch_t *)0x0,0);\n    if ((regex_t *)(iVar6 + 0x90) == __preg) {\n      regfree((regex_t *)(iVar6 + 0x90));\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)((iVar7 == 0) != (uVar8 == 0x21));\n    FUN_00092d5e();\n    break;\n  case 0x23:\n    FUN_00093453();\n    break;\n  case 0x24:\n    uVar8 = FUN_00095fab();\n    FUN_0009227b();\n    local_78[3] = uVar8;\n    FUN_00092d5e();\n    break;\n  case 0x25:\n    if ((*(uint *)local_80[3] & 0xff00) == 0x1200) {\n      FUN_00092658();\n      local_78 = (uint *)FUN_00094969();\n      break;\n    }\n    goto switchD_00094a90_caseD_0;\n  case 0x26:\n    lVar23 = (longdouble)FUN_000925a2();\n    if (uVar8 == 0x4d) {\n      lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      lVar23 = lVar24;\n    }\n    else {\n      if (uVar8 < 0x4e) {\n        if (uVar8 == 0x21) {\n          iVar7 = FUN_00092658();\n          if (iVar7 == 0) goto LAB_00094c15;\n          goto LAB_00094c2d;\n        }\n        if (uVar8 == 0x2d) {\n          lVar23 = -lVar23;\n        }\n        goto LAB_00094b8a;\n      }\n      if (uVar8 == 0x6d) {\n        lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      }\n      else if (uVar8 == 0x70) {\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n      }\n      else {\n        if (uVar8 != 0x50) goto LAB_00094b8a;\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n        lVar23 = lVar24;\n      }\n    }\n    FUN_0009227b();\n    *local_5c = *local_5c | 1;\n    *(double *)(local_5c + 1) = (double)lVar24;\n    FUN_00092d5e();\n    lVar23 = (longdouble)(double)lVar23;\nLAB_00094b8a:\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)lVar23;\n    FUN_00092d5e();\n    break;\n  case 0x27:\n    local_78 = (uint *)local_80[2];\n    if (local_78 == *(uint **)(iVar6 + 0x50)) {\n      FUN_00092cc4();\n    }\nLAB_00094b15:\n    if (local_80[3] != 0) {\n      FUN_0009211c();\n      local_78 = (uint *)FUN_00093a51();\n    }\n    break;\n  case 0x28:\n    goto switchD_00094a90_caseD_28;\n  }\nLAB_00094ab0:\n  local_7c = local_7c & 0xff00;\n  if (local_7c < 0x601) {\n    local_80 = (uint *)local_80[4];\n    cVar1 = *(char *)(iVar6 + -6);\n  }\n  else {\n    if (0xfff < local_7c) {\nLAB_00094acb:\n      FUN_000938f0();\n      return local_78;\n    }\n    cVar1 = *(char *)(iVar6 + -6);\n  }\n  if ((cVar1 != '\0') || (local_80 == (uint *)0x0)) goto LAB_00094acb;\n  goto LAB_000949b7;\nswitchD_00094a90_caseD_b:\n  *(undefined1 *)(iVar6 + -6) = 1;\nswitchD_00094a90_caseD_28:\n  FUN_0009227b();\n  goto LAB_00094ab0;\nswitchD_00094a90_caseD_7:\n  iVar7 = FUN_00092658();\n  if (iVar7 == 0) {\n    local_80 = (uint *)local_80[3];\n  }\n  else {\nLAB_000956d3:\n    local_80 = (uint *)local_80[4];\n  }\n  goto LAB_00094ab0;\nswitchD_00094a90_caseD_0:\n  pcVar15 = "Possible syntax error";\nLAB_00094f35:\n                    /* WARNING: Subroutine does not return */\n  FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),*(undefined4 *)(iVar6 + -0x24),pcVar15);\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "regex_t *__preg;" type_identifier (pointer_declarator "*__preg" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "FILE *pFVar10;" type_identifier (pointer_declarator "*pFVar10" * identifier) ;) (declaration "undefined4 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "uint *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "size_t sVar13;" primitive_type identifier ;) (declaration "time_t tVar14;" type_identifier identifier ;) (declaration "char *pcVar15;" primitive_type (pointer_declarator "*pcVar15" * identifier) ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "undefined1 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "uint *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "byte *pbVar19;" type_identifier (pointer_declarator "*pbVar19" * identifier) ;) (declaration "undefined4 extraout_EDX;" type_identifier identifier ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "uint *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "longdouble lVar23;" type_identifier identifier ;) (declaration "longdouble lVar24;" type_identifier identifier ;) (declaration "uint *local_80;" type_identifier (pointer_declarator "*local_80" * identifier) ;) (declaration "uint local_7c;" type_identifier identifier ;) (declaration "uint *local_78;" type_identifier (pointer_declarator "*local_78" * identifier) ;) (declaration "double local_74;" primitive_type identifier ;) (declaration "uint *local_6c;" type_identifier (pointer_declarator "*local_6c" * identifier) ;) (declaration "char *local_68;" primitive_type (pointer_declarator "*local_68" * identifier) ;) (declaration "double local_64;" primitive_type identifier ;) (declaration "uint *local_5c;" type_identifier (pointer_declarator "*local_5c" * identifier) ;) (declaration "char *local_4c;" primitive_type (pointer_declarator "*local_4c" * identifier) ;) (declaration "uint local_48;" type_identifier identifier ;) (declaration "uint local_34;" type_identifier identifier ;) (if_statement "if (param_1 == (uint *)0x0) {\n    FUN_0009227b();\n    param_2[3] = 0;\n    FUN_00092d5e();\n    return param_2;\n  }" if (parenthesized_expression "(param_1 == (uint *)0x0)" ( (binary_expression "param_1 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    FUN_0009227b();\n    param_2[3] = 0;\n    FUN_00092d5e();\n    return param_2;\n  }" { (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" identifier (argument_list "()" ( ))) ;) (expression_statement "param_2[3] = 0;" (assignment_expression "param_2[3] = 0" (subscript_expression "param_2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00092d5e();" (call_expression "FUN_00092d5e()" identifier (argument_list "()" ( ))) ;) (return_statement "return param_2;" return identifier ;) })) (expression_statement "FUN_00092151();" (call_expression "FUN_00092151()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar6 = DAT_000d1700;" (assignment_expression "iVar6 = DAT_000d1700" identifier = identifier) ;) (expression_statement "piVar5 = DAT_000d16fc;" (assignment_expression "piVar5 = DAT_000d16fc" identifier = identifier) ;) (expression_statement "puVar4 = PTR_stdout_000d0fb4;" (assignment_expression "puVar4 = PTR_stdout_000d0fb4" identifier = identifier) ;) (expression_statement "local_80 = param_1;" (assignment_expression "local_80 = param_1" identifier = identifier) ;) (expression_statement "local_78 = param_2;" (assignment_expression "local_78 = param_2" identifier = identifier) ;) (labeled_statement "LAB_000949b7:\n  local_7c = *local_80;" statement_identifier : (expression_statement "local_7c = *local_80;" (assignment_expression "local_7c = *local_80" identifier = (pointer_expression "*local_80" * identifier)) ;)) (expression_statement "uVar8 = local_80[1];" (assignment_expression "uVar8 = local_80[1]" identifier = (subscript_expression "local_80[1]" identifier [ number_literal ])) ;) (expression_statement "*(uint *)(iVar6 + -0x24) = uVar8;" (assignment_expression "*(uint *)(iVar6 + -0x24) = uVar8" (pointer_expression "*(uint *)(iVar6 + -0x24)" * (cast_expression "(uint *)(iVar6 + -0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -0x24)" ( (binary_expression "iVar6 + -0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar18 = (uint *)local_80[2];" (assignment_expression "puVar18 = (uint *)local_80[2]" identifier = (cast_expression "(uint *)local_80[2]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_80[2]" identifier [ number_literal ]))) ;) (expression_statement "uVar21 = local_7c >> 8 & 0xff;" (assignment_expression "uVar21 = local_7c >> 8 & 0xff" identifier = (binary_expression "local_7c >> 8 & 0xff" (binary_expression "local_7c >> 8" identifier >> number_literal) & number_literal)) ;) (if_statement "if (uVar21 == 1) {\n    if (((*puVar18 & 0xff00) != 0x2700) && ((*puVar18 & 0xff00) != 0x1800)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),uVar8,"Not an array");\n    }\n    if (puVar18[3] == 0) {\n      FUN_0009211c();\n      FUN_0009234a();\n    }\n    else {\n      FUN_00094969();\n      FUN_0009295c();\n      FUN_0009211c();\n      FUN_0009269c();\n    }\n    goto LAB_00094ab0;\n  }" if (parenthesized_expression "(uVar21 == 1)" ( (binary_expression "uVar21 == 1" identifier == number_literal) )) (compound_statement "{\n    if (((*puVar18 & 0xff00) != 0x2700) && ((*puVar18 & 0xff00) != 0x1800)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),uVar8,"Not an array");\n    }\n    if (puVar18[3] == 0) {\n      FUN_0009211c();\n      FUN_0009234a();\n    }\n    else {\n      FUN_00094969();\n      FUN_0009295c();\n      FUN_0009211c();\n      FUN_0009269c();\n    }\n    goto LAB_00094ab0;\n  }" { (if_statement "if (((*puVar18 & 0xff00) != 0x2700) && ((*puVar18 & 0xff00) != 0x1800)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),uVar8,"Not an array");\n    }" if (parenthesized_expression "(((*puVar18 & 0xff00) != 0x2700) && ((*puVar18 & 0xff00) != 0x1800))" ( (binary_expression "((*puVar18 & 0xff00) != 0x2700) && ((*puVar18 & 0xff00) != 0x1800)" (parenthesized_expression "((*puVar18 & 0xff00) != 0x2700)" ( (binary_expression "(*puVar18 & 0xff00) != 0x2700" (parenthesized_expression "(*puVar18 & 0xff00)" ( (binary_expression "*puVar18 & 0xff00" (pointer_expression "*puVar18" * identifier) & number_literal) )) != number_literal) )) && (parenthesized_expression "((*puVar18 & 0xff00) != 0x1800)" ( (binary_expression "(*puVar18 & 0xff00) != 0x1800" (parenthesized_expression "(*puVar18 & 0xff00)" ( (binary_expression "*puVar18 & 0xff00" (pointer_expression "*puVar18" * identifier) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),uVar8,"Not an array");\n    }" { comment (expression_statement "FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),uVar8,"Not an array");" (call_expression "FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),uVar8,"Not an array")" identifier (argument_list "("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),uVar8,"Not an array")" ( (string_literal ""%s:%i: %s"" " string_content ") , (pointer_expression "*(undefined4 *)(iVar6 + -0x28)" * (cast_expression "(undefined4 *)(iVar6 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -0x28)" ( (binary_expression "iVar6 + -0x28" identifier + number_literal) )))) , identifier , (string_literal ""Not an array"" " string_content ") ))) ;) })) (if_statement "if (puVar18[3] == 0) {\n      FUN_0009211c();\n      FUN_0009234a();\n    }\n    else {\n      FUN_00094969();\n      FUN_0009295c();\n      FUN_0009211c();\n      FUN_0009269c();\n    }" if (parenthesized_expression "(puVar18[3] == 0)" ( (binary_expression "puVar18[3] == 0" (subscript_expression "puVar18[3]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      FUN_0009211c();\n      FUN_0009234a();\n    }" { (expression_statement "FUN_0009211c();" (call_expression "FUN_0009211c()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0009234a();" (call_expression "FUN_0009234a()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n      FUN_00094969();\n      FUN_0009295c();\n      FUN_0009211c();\n      FUN_0009269c();\n    }" else (compound_statement "{\n      FUN_00094969();\n      FUN_0009295c();\n      FUN_0009211c();\n      FUN_0009269c();\n    }" { (expression_statement "FUN_00094969();" (call_expression "FUN_00094969()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0009295c();" (call_expression "FUN_0009295c()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0009211c();" (call_expression "FUN_0009211c()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0009269c();" (call_expression "FUN_0009269c()" identifier (argument_list "()" ( ))) ;) }))) (goto_statement "goto LAB_00094ab0;" goto statement_identifier ;) })) (if_statement "if ((local_7c & 0x10000) != 0) {\n    local_6c = (uint *)FUN_00094969();\n  }" if (parenthesized_expression "((local_7c & 0x10000) != 0)" ( (binary_expression "(local_7c & 0x10000) != 0" (parenthesized_expression "(local_7c & 0x10000)" ( (binary_expression "local_7c & 0x10000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    local_6c = (uint *)FUN_00094969();\n  }" { (expression_statement "local_6c = (uint *)FUN_00094969();" (assignment_expression "local_6c = (uint *)FUN_00094969()" identifier = (cast_expression "(uint *)FUN_00094969()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00094969()" identifier (argument_list "()" ( ))))) ;) })) (if_statement "if ((local_7c & 0x20000) != 0) {\n    local_5c = (uint *)FUN_00094969();\n  }" if (parenthesized_expression "((local_7c & 0x20000) != 0)" ( (binary_expression "(local_7c & 0x20000) != 0" (parenthesized_expression "(local_7c & 0x20000)" ( (binary_expression "local_7c & 0x20000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    local_5c = (uint *)FUN_00094969();\n  }" { (expression_statement "local_5c = (uint *)FUN_00094969();" (assignment_expression "local_5c = (uint *)FUN_00094969()" identifier = (cast_expression "(uint *)FUN_00094969()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00094969()" identifier (argument_list "()" ( ))))) ;) })) (if_statement "if ((local_7c & 0x40000) != 0) {\n    local_68 = (char *)FUN_0009295c();\n  }" if (parenthesized_expression "((local_7c & 0x40000) != 0)" ( (binary_expression "(local_7c & 0x40000) != 0" (parenthesized_expression "(local_7c & 0x40000)" ( (binary_expression "local_7c & 0x40000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    local_68 = (char *)FUN_0009295c();\n  }" { (expression_statement "local_68 = (char *)FUN_0009295c();" (assignment_expression "local_68 = (char *)FUN_0009295c()" identifier = (cast_expression "(char *)FUN_0009295c()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0009295c()" identifier (argument_list "()" ( ))))) ;) })) (if_statement "if ((local_7c & 0x80000) != 0) {\n    local_4c = (char *)FUN_0009295c();\n  }" if (parenthesized_expression "((local_7c & 0x80000) != 0)" ( (binary_expression "(local_7c & 0x80000) != 0" (parenthesized_expression "(local_7c & 0x80000)" ( (binary_expression "local_7c & 0x80000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    local_4c = (char *)FUN_0009295c();\n  }" { (expression_statement "local_4c = (char *)FUN_0009295c();" (assignment_expression "local_4c = (char *)FUN_0009295c()" identifier = (cast_expression "(char *)FUN_0009295c()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0009295c()" identifier (argument_list "()" ( ))))) ;) })) (if_statement "if ((local_7c & 0x100000) != 0) {\n    lVar23 = (longdouble)FUN_000925a2();\n    local_74 = (double)lVar23;\n  }" if (parenthesized_expression "((local_7c & 0x100000) != 0)" ( (binary_expression "(local_7c & 0x100000) != 0" (parenthesized_expression "(local_7c & 0x100000)" ( (binary_expression "local_7c & 0x100000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    lVar23 = (longdouble)FUN_000925a2();\n    local_74 = (double)lVar23;\n  }" { (expression_statement "lVar23 = (longdouble)FUN_000925a2();" (assignment_expression "lVar23 = (longdouble)FUN_000925a2()" identifier = (cast_expression "(longdouble)FUN_000925a2()" ( (type_descriptor "longdouble" type_identifier) ) (call_expression "FUN_000925a2()" identifier (argument_list "()" ( ))))) ;) (expression_statement "local_74 = (double)lVar23;" (assignment_expression "local_74 = (double)lVar23" identifier = (cast_expression "(double)lVar23" ( (type_descriptor "double" primitive_type) ) identifier)) ;) })) (expression_statement "uVar8 = local_7c & 0x7f;" (assignment_expression "uVar8 = local_7c & 0x7f" identifier = (binary_expression "local_7c & 0x7f" identifier & number_literal)) ;) (switch_statement "switch(uVar21) {\n  default:\n    goto switchD_00094a90_caseD_0;\n  case 2:\n    break;\n  case 3:\n    *(uint *)(iVar6 + -0x28) = local_80[2];\n    break;\n  case 4:\n  case 5:\n    if (local_80[3] == 0) {\n      pFVar10 = *(FILE **)PTR_stdout_000d0fb4;\n    }\n    else {\n      piVar9 = (int *)FUN_00093a51();\n      pFVar10 = (FILE *)*piVar9;\n      if (pFVar10 == (FILE *)0x0) {\n        if (uVar8 == 0x7c) {\n          pFVar10 = popen(local_4c,"w");\n          *piVar9 = (int)pFVar10;\n          if (pFVar10 == (FILE *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00018e79("popen");\n          }\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_00019c3e();\n          *piVar9 = (int)pFVar10;\n        }\n      }\n    }\n    if ((local_7c & 0xff00) == 0x400) {\n      if (puVar18 == (uint *)0x0) {\n        pcVar15 = (char *)FUN_0009295c();\n        fputs_unlocked(pcVar15,pFVar10);\n      }\n      else {\n        while( true ) {\n          puVar22 = (uint *)0x0;\n          if ((*puVar18 & 0xff00) == 0x1300) {\n            puVar22 = (uint *)puVar18[3];\n          }\n          puVar18 = puVar22;\n          pbVar19 = (byte *)FUN_00094969();\n          if ((*pbVar19 & 1) == 0) {\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }\n          else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }\n          if (puVar18 == (uint *)0x0) break;\n          pcVar15 = (char *)FUN_0009295c();\n          fputs_unlocked(pcVar15,pFVar10);\n        }\n      }\n      pcVar15 = (char *)FUN_0009295c();\n      fputs_unlocked(pcVar15,pFVar10);\n      fflush(pFVar10);\n    }\n    else {\n      pcVar15 = (char *)FUN_00095fab();\n      fputs_unlocked(pcVar15,pFVar10);\n      free(pcVar15);\n      fflush(pFVar10);\n    }\n    break;\n  case 6:\n    iVar7 = FUN_0009211c();\n    if ((*local_6c & 0x800) == 0) {\n      *local_6c = *local_6c | 0x800;\n      uVar8 = 0;\n    }\n    else {\n      uVar8 = local_6c[4];\n    }\n    piVar9 = (int *)FUN_00019b89();\n    local_6c[4] = (uint)piVar9;\n    *piVar9 = (int)(piVar9 + 3);\n    piVar9[1] = (int)(piVar9 + 3);\n    piVar9[2] = uVar8;\n    if (*(int *)(iVar7 + 4) != 0) {\n      uVar8 = 0;\n      do {\n        iVar20 = *(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4);\n        if (iVar20 != 0) {\n          pcVar15 = (char *)*piVar9;\n          do {\n            strcpy(pcVar15,(char *)(iVar20 + 0x1c));\n            pcVar16 = (char *)*piVar9;\n            do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');\n            iVar20 = *(int *)(iVar20 + 0x18);\n          } while (iVar20 != 0);\n        }\n        uVar8 = uVar8 + 1;\n      } while (uVar8 < *(uint *)(iVar7 + 4));\n    }\n    break;\n  case 7:\n    goto switchD_00094a90_caseD_7;\n  case 10:\n    FUN_00095b2f();\n    goto switchD_00094a90_caseD_7;\n  case 0xb:\n    goto switchD_00094a90_caseD_b;\n  case 0xc:\n    *(undefined1 *)(iVar6 + -5) = 1;\n    goto switchD_00094a90_caseD_b;\n  case 0xd:\n    if ((*puVar18 & 0xff00) != 0x1300) {\n      iVar7 = FUN_00096324();\n      if (iVar7 != 0) goto LAB_000956d3;\n      local_80 = (uint *)local_80[3];\n      break;\n    }\n    if (((local_7c & 0x200000) == 0) && (iVar7 = FUN_00096324(), iVar7 == 0)) {\n      local_80 = (uint *)local_80[3];\n      break;\n    }\n    *local_80 = *local_80 | 0x200000;\n    iVar7 = FUN_00096324();\n    if (iVar7 != 0) {\n      *local_80 = *local_80 & 0xffdfffff;\n    }\n    goto LAB_000956d3;\n  case 0xe:\n    puVar18 = (uint *)local_6c[4];\n    pcVar15 = (char *)puVar18[1];\n    if (pcVar15 < (char *)*puVar18) {\n      do {\n        puVar18[1] = (uint)(pcVar15 + 1);\n        cVar1 = *pcVar15;\n        pcVar15 = pcVar15 + 1;\n      } while (cVar1 != '\0');\n      FUN_00093016();\n      goto LAB_000956d3;\n    }\n    uVar8 = puVar18[2];\n    free(puVar18);\n    local_6c[4] = uVar8;\n    local_80 = (uint *)local_80[3];\n    break;\n  case 0x10:\n  case 0x22:\n    lVar23 = (longdouble)FUN_000925a2();\n    switch(uVar8) {\n    case 0x25:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40) {\nLAB_00095638:\n        pcVar15 = "Division by zero";\n        goto LAB_00094f35;\n      }\n      local_74 = (double)((longdouble)local_74 -\n                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23);\n      break;\n    case 0x26:\nswitchD_000950ee_caseD_2:\n      pcVar15 = "Math support is not compiled in";\n      goto LAB_00094f35;\n    case 0x27:\n    case 0x28:\n    case 0x29:\n    case 0x2c:\n    case 0x2e:\n      break;\n    case 0x2a:\n      local_74 = (double)(lVar23 * (longdouble)local_74);\n      break;\n    case 0x2b:\n      local_74 = (double)(lVar23 + (longdouble)local_74);\n      break;\n    case 0x2d:\n      local_74 = (double)((longdouble)local_74 - lVar23);\n      break;\n    case 0x2f:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)\n      goto LAB_00095638;\n      local_74 = (double)((longdouble)local_74 / lVar23);\n    }\n    if ((local_7c & 0xff00) != 0x1000) {\n      local_78 = local_6c;\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = local_74;\n    FUN_00092d5e();\n    break;\n  case 0x11:\n    local_78 = (uint *)FUN_00093dbd();\n    break;\n  case 0x13:\n  case 0x15:\n    puVar17 = &DAT_000cd91f;\n    if ((local_7c & 0xff00) == 0x1300) {\n      puVar17 = (undefined1 *)FUN_0009295c();\n    }\n    uVar8 = FUN_00019fd7("%s%s%s",local_68,puVar17,local_4c);\n    FUN_0009227b();\n    local_78[3] = uVar8;\n    FUN_00092d5e();\n    break;\n  case 0x14:\n    FUN_000925a2();\n    if (((((ushort)*local_6c ^ 0x4000) & 0x4201) == 0) ||\n       (FUN_000925a2(), (((ushort)*local_5c ^ 0x4000) & 0x4201) == 0)) {\n      pcVar15 = (char *)FUN_0009295c();\n      pcVar16 = (char *)FUN_0009295c();\n      if (*(char *)(iVar6 + -8) == '\0') {\n        iVar7 = strcmp(pcVar15,pcVar16);\n        lVar23 = (longdouble)iVar7;\n        goto joined_r0x0009536c;\n      }\n      iVar7 = strcasecmp(pcVar15,pcVar16);\n      lVar23 = (longdouble)iVar7;\n      if ((local_7c & 0x7e) != 2) goto LAB_00095372;\nLAB_000952b4:\n      local_48 = (uint)((longdouble)0 <= lVar23);\n    }\n    else {\n      lVar24 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)(double)lVar24 - lVar23;\njoined_r0x0009536c:\n      if ((local_7c & 0x7e) == 2) goto LAB_000952b4;\nLAB_00095372:\n      if ((local_7c & 0x7e) == 4) {\n        lVar24 = (longdouble)0;\n        local_48 = (uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40);\n      }\n      else if ((local_7c & 0x7e) == 0) {\n        local_48 = (uint)((longdouble)0 < lVar23);\n      }\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)(int)(local_7c & 1 ^ local_48 ^ 1);\n    FUN_00092d5e();\n    break;\n  case 0x16:\n    switch(uVar8) {\n    case 0:\n      local_64 = (double)(longlong)ROUND(local_74);\n      break;\n    case 1:\n      iVar7 = rand();\n      local_64 = (double)iVar7 / DAT_000b65c0;\n      break;\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n      goto switchD_000950ee_caseD_2;\n    case 7:\n      uVar8 = *(uint *)(iVar6 + 0x8c);\n      if (puVar18 == (uint *)0x0) {\n        local_34 = time((time_t *)0x0);\n      }\n      else {\n        local_34 = (uint)(longlong)ROUND(local_74);\n      }\n      local_64 = (double)(ulonglong)uVar8;\n      local_64 = (double)(longlong)local_64;\n      *(uint *)(iVar6 + 0x8c) = local_34;\n      srand(local_34);\n      break;\n    case 8:\n      tVar14 = time((time_t *)0x0);\n      local_64 = (double)tVar14;\n      break;\n    case 9:\n      if (puVar18 == (uint *)0x0) {\n        local_68 = (char *)FUN_0009295c();\n      }\n      else if ((*local_6c & 2) != 0) {\n        local_64 = (double)(ulonglong)*(uint *)local_6c[4];\n        local_64 = (double)(longlong)local_64;\n        break;\n      }\n      sVar13 = strlen(local_68);\n      local_64 = (double)(ulonglong)sVar13;\n      local_64 = (double)(longlong)local_64;\n      break;\n    case 10:\n      FUN_00019f78();\n      if (local_68 == (char *)0x0) {\n        local_64 = 0.0;\n      }\n      else if (*local_68 == '\0') {\n        local_64 = 0.0;\n      }\n      else {\n        iVar7 = system(local_68);\n        local_64 = (double)(iVar7 >> 8);\n      }\n      break;\n    case 0xb:\n      if (puVar18 == (uint *)0x0) {\n        fflush(*(FILE **)puVar4);\n      }\n      else if ((local_68 == (char *)0x0) || (*local_68 == '\0')) {\n        FUN_00019f78();\n      }\n      else {\n        puVar11 = (undefined4 *)FUN_00093a51();\n        fflush((FILE *)*puVar11);\n      }\n      break;\n    case 0xc:\n      puVar11 = (undefined4 *)FUN_000939df();\n      if (puVar11 == (undefined4 *)0x0) {\n        local_64 = 0.0;\n      }\n      else {\n        pFVar10 = (FILE *)*puVar11;\n        if (pFVar10 == (FILE *)0x0) {\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          local_64 = 0.0;\n        }\n        else {\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }\n      }\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = local_64;\n    FUN_00092d5e();\n    break;\n  case 0x17:\n    lVar23 = (longdouble)FUN_000925a2();\n    iVar7 = (int)ROUND(lVar23);\n    if (iVar7 < 0) {\n      pcVar15 = "Access to negative field";\n      goto LAB_00094f35;\n    }\n    if (iVar7 == 0) {\n      local_78 = *(uint **)(iVar6 + 0x34);\n    }\n    else {\n      FUN_00092cc4();\n      if (*(int *)(iVar6 + -0x20) < iVar7) {\n        FUN_000922c0();\n      }\n      local_78 = (uint *)(*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14);\n    }\n    break;\n  case 0x18:\n    local_78 = (uint *)(*(int *)(iVar6 + 0x88) + local_80[2] * 0x14);\n    goto LAB_00094b15;\n  case 0x19:\n    if ((*(int *)local_80[3] == 0) && (((int *)local_80[3])[1] == 0)) {\n      pcVar15 = "Call to undefined function";\n      goto LAB_00094f35;\n    }\n    puVar12 = (uint *)FUN_00092151();\n    puVar22 = puVar12;\n    if (puVar18 != (uint *)0x0) {\n      while ((*puVar18 & 0xff00) == 0x1300) {\n        puVar18 = (uint *)puVar18[3];\n        uVar8 = FUN_00094969();\n        FUN_00093453();\n        *puVar22 = *puVar22 | 0x2000;\n        puVar22[4] = uVar8;\n        if ((*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))\n           || (puVar22 = puVar22 + 5, puVar18 == (uint *)0x0)) goto LAB_00094fd5;\n      }\n      uVar8 = FUN_00094969();\n      FUN_00093453();\n      *puVar22 = *puVar22 | 0x2000;\n      puVar22[4] = uVar8;\n    }\nLAB_00094fd5:\n    uVar2 = *(undefined4 *)(iVar6 + 0x88);\n    *(uint **)(iVar6 + 0x88) = puVar12;\n    uVar3 = *(undefined4 *)(iVar6 + -0x28);\n    local_78 = (uint *)FUN_00094969();\n    *(undefined4 *)(iVar6 + -0x28) = uVar3;\n    FUN_000938f0();\n    *(undefined4 *)(iVar6 + 0x88) = uVar2;\n    break;\n  case 0x1a:\n  case 0x20:\n    if (puVar18 == (uint *)0x0) {\n      puVar11 = *(undefined4 **)(iVar6 + -0x3c);\n      if (puVar11 != (undefined4 *)0x0) {\nLAB_00094e49:\n        pFVar10 = (FILE *)*puVar11;\n        goto LAB_00094e4b;\n      }\n      puVar11 = (undefined4 *)FUN_00093cca();\n      *(undefined4 **)(iVar6 + -0x3c) = puVar11;\n      if (puVar11 != (undefined4 *)0x0) goto LAB_00094e49;\nLAB_00094e4f:\n      iVar7 = *DAT_000d16fc;\n      puVar18 = *(uint **)(iVar6 + 0x44);\n      FUN_0009227b();\n      *puVar18 = *puVar18 | 1;\n      *(double *)(puVar18 + 1) = (double)iVar7;\n      FUN_00092d5e();\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      local_78[1] = 0;\n      local_78[2] = 0xbff00000;\n      FUN_00092d5e();\n    }\n    else {\n      piVar9 = (int *)FUN_00093a51();\n      if (*piVar9 == 0) {\n        if ((local_7c & 0xff00) == 0x2000) {\n          pFVar10 = popen(local_68,"r");\n          *piVar9 = (int)pFVar10;\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_0001923e();\n          *piVar9 = (int)pFVar10;\n        }\nLAB_00094e4b:\n        if (pFVar10 == (FILE *)0x0) goto LAB_00094e4f;\n      }\n      if (local_80[3] == 0) {\n        local_5c = *(uint **)(iVar6 + 0x34);\n      }\n      iVar7 = FUN_0009307e();\n      if ((0 < iVar7) && (puVar18 == (uint *)0x0)) {\n        FUN_0009304a();\n        FUN_0009304a();\n      }\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      *(double *)(local_78 + 1) = (double)iVar7;\n      FUN_00092d5e();\n    }\n    break;\n  case 0x1b:\n    FUN_0009211c();\n    iVar7 = FUN_000939df();\n    if (iVar7 == 0) {\nLAB_00094c2d:\n      lVar23 = (longdouble)0;\n    }\n    else {\n      lVar23 = (longdouble)1;\n    }\n    goto LAB_00094b8a;\n  case 0x1c:\n    iVar7 = FUN_00092658();\n    if (iVar7 == 0) goto LAB_00094c2d;\nLAB_00094da9:\n    iVar7 = FUN_00096324();\n    lVar23 = (longdouble)iVar7;\n    goto LAB_00094b8a;\n  case 0x1d:\n    iVar7 = FUN_00092658();\n    if (iVar7 == 0) goto LAB_00094da9;\nLAB_00094c15:\n    lVar23 = (longdouble)1;\n    goto LAB_00094b8a;\n  case 0x1e:\n    goto LAB_00094ce7;\n  case 0x1f:\n    local_78 = (uint *)FUN_00093453();\n    break;\n  case 0x21:\n    local_68 = (char *)FUN_0009295c();\nLAB_00094ce7:\n    __preg = (regex_t *)FUN_00095bc7();\n    iVar7 = regexec(__preg,local_68,0,(regmatch_t *)0x0,0);\n    if ((regex_t *)(iVar6 + 0x90) == __preg) {\n      regfree((regex_t *)(iVar6 + 0x90));\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)((iVar7 == 0) != (uVar8 == 0x21));\n    FUN_00092d5e();\n    break;\n  case 0x23:\n    FUN_00093453();\n    break;\n  case 0x24:\n    uVar8 = FUN_00095fab();\n    FUN_0009227b();\n    local_78[3] = uVar8;\n    FUN_00092d5e();\n    break;\n  case 0x25:\n    if ((*(uint *)local_80[3] & 0xff00) == 0x1200) {\n      FUN_00092658();\n      local_78 = (uint *)FUN_00094969();\n      break;\n    }\n    goto switchD_00094a90_caseD_0;\n  case 0x26:\n    lVar23 = (longdouble)FUN_000925a2();\n    if (uVar8 == 0x4d) {\n      lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      lVar23 = lVar24;\n    }\n    else {\n      if (uVar8 < 0x4e) {\n        if (uVar8 == 0x21) {\n          iVar7 = FUN_00092658();\n          if (iVar7 == 0) goto LAB_00094c15;\n          goto LAB_00094c2d;\n        }\n        if (uVar8 == 0x2d) {\n          lVar23 = -lVar23;\n        }\n        goto LAB_00094b8a;\n      }\n      if (uVar8 == 0x6d) {\n        lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      }\n      else if (uVar8 == 0x70) {\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n      }\n      else {\n        if (uVar8 != 0x50) goto LAB_00094b8a;\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n        lVar23 = lVar24;\n      }\n    }\n    FUN_0009227b();\n    *local_5c = *local_5c | 1;\n    *(double *)(local_5c + 1) = (double)lVar24;\n    FUN_00092d5e();\n    lVar23 = (longdouble)(double)lVar23;\nLAB_00094b8a:\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)lVar23;\n    FUN_00092d5e();\n    break;\n  case 0x27:\n    local_78 = (uint *)local_80[2];\n    if (local_78 == *(uint **)(iVar6 + 0x50)) {\n      FUN_00092cc4();\n    }\nLAB_00094b15:\n    if (local_80[3] != 0) {\n      FUN_0009211c();\n      local_78 = (uint *)FUN_00093a51();\n    }\n    break;\n  case 0x28:\n    goto switchD_00094a90_caseD_28;\n  }" switch (parenthesized_expression "(uVar21)" ( identifier )) (compound_statement "{\n  default:\n    goto switchD_00094a90_caseD_0;\n  case 2:\n    break;\n  case 3:\n    *(uint *)(iVar6 + -0x28) = local_80[2];\n    break;\n  case 4:\n  case 5:\n    if (local_80[3] == 0) {\n      pFVar10 = *(FILE **)PTR_stdout_000d0fb4;\n    }\n    else {\n      piVar9 = (int *)FUN_00093a51();\n      pFVar10 = (FILE *)*piVar9;\n      if (pFVar10 == (FILE *)0x0) {\n        if (uVar8 == 0x7c) {\n          pFVar10 = popen(local_4c,"w");\n          *piVar9 = (int)pFVar10;\n          if (pFVar10 == (FILE *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00018e79("popen");\n          }\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_00019c3e();\n          *piVar9 = (int)pFVar10;\n        }\n      }\n    }\n    if ((local_7c & 0xff00) == 0x400) {\n      if (puVar18 == (uint *)0x0) {\n        pcVar15 = (char *)FUN_0009295c();\n        fputs_unlocked(pcVar15,pFVar10);\n      }\n      else {\n        while( true ) {\n          puVar22 = (uint *)0x0;\n          if ((*puVar18 & 0xff00) == 0x1300) {\n            puVar22 = (uint *)puVar18[3];\n          }\n          puVar18 = puVar22;\n          pbVar19 = (byte *)FUN_00094969();\n          if ((*pbVar19 & 1) == 0) {\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }\n          else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }\n          if (puVar18 == (uint *)0x0) break;\n          pcVar15 = (char *)FUN_0009295c();\n          fputs_unlocked(pcVar15,pFVar10);\n        }\n      }\n      pcVar15 = (char *)FUN_0009295c();\n      fputs_unlocked(pcVar15,pFVar10);\n      fflush(pFVar10);\n    }\n    else {\n      pcVar15 = (char *)FUN_00095fab();\n      fputs_unlocked(pcVar15,pFVar10);\n      free(pcVar15);\n      fflush(pFVar10);\n    }\n    break;\n  case 6:\n    iVar7 = FUN_0009211c();\n    if ((*local_6c & 0x800) == 0) {\n      *local_6c = *local_6c | 0x800;\n      uVar8 = 0;\n    }\n    else {\n      uVar8 = local_6c[4];\n    }\n    piVar9 = (int *)FUN_00019b89();\n    local_6c[4] = (uint)piVar9;\n    *piVar9 = (int)(piVar9 + 3);\n    piVar9[1] = (int)(piVar9 + 3);\n    piVar9[2] = uVar8;\n    if (*(int *)(iVar7 + 4) != 0) {\n      uVar8 = 0;\n      do {\n        iVar20 = *(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4);\n        if (iVar20 != 0) {\n          pcVar15 = (char *)*piVar9;\n          do {\n            strcpy(pcVar15,(char *)(iVar20 + 0x1c));\n            pcVar16 = (char *)*piVar9;\n            do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');\n            iVar20 = *(int *)(iVar20 + 0x18);\n          } while (iVar20 != 0);\n        }\n        uVar8 = uVar8 + 1;\n      } while (uVar8 < *(uint *)(iVar7 + 4));\n    }\n    break;\n  case 7:\n    goto switchD_00094a90_caseD_7;\n  case 10:\n    FUN_00095b2f();\n    goto switchD_00094a90_caseD_7;\n  case 0xb:\n    goto switchD_00094a90_caseD_b;\n  case 0xc:\n    *(undefined1 *)(iVar6 + -5) = 1;\n    goto switchD_00094a90_caseD_b;\n  case 0xd:\n    if ((*puVar18 & 0xff00) != 0x1300) {\n      iVar7 = FUN_00096324();\n      if (iVar7 != 0) goto LAB_000956d3;\n      local_80 = (uint *)local_80[3];\n      break;\n    }\n    if (((local_7c & 0x200000) == 0) && (iVar7 = FUN_00096324(), iVar7 == 0)) {\n      local_80 = (uint *)local_80[3];\n      break;\n    }\n    *local_80 = *local_80 | 0x200000;\n    iVar7 = FUN_00096324();\n    if (iVar7 != 0) {\n      *local_80 = *local_80 & 0xffdfffff;\n    }\n    goto LAB_000956d3;\n  case 0xe:\n    puVar18 = (uint *)local_6c[4];\n    pcVar15 = (char *)puVar18[1];\n    if (pcVar15 < (char *)*puVar18) {\n      do {\n        puVar18[1] = (uint)(pcVar15 + 1);\n        cVar1 = *pcVar15;\n        pcVar15 = pcVar15 + 1;\n      } while (cVar1 != '\0');\n      FUN_00093016();\n      goto LAB_000956d3;\n    }\n    uVar8 = puVar18[2];\n    free(puVar18);\n    local_6c[4] = uVar8;\n    local_80 = (uint *)local_80[3];\n    break;\n  case 0x10:\n  case 0x22:\n    lVar23 = (longdouble)FUN_000925a2();\n    switch(uVar8) {\n    case 0x25:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40) {\nLAB_00095638:\n        pcVar15 = "Division by zero";\n        goto LAB_00094f35;\n      }\n      local_74 = (double)((longdouble)local_74 -\n                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23);\n      break;\n    case 0x26:\nswitchD_000950ee_caseD_2:\n      pcVar15 = "Math support is not compiled in";\n      goto LAB_00094f35;\n    case 0x27:\n    case 0x28:\n    case 0x29:\n    case 0x2c:\n    case 0x2e:\n      break;\n    case 0x2a:\n      local_74 = (double)(lVar23 * (longdouble)local_74);\n      break;\n    case 0x2b:\n      local_74 = (double)(lVar23 + (longdouble)local_74);\n      break;\n    case 0x2d:\n      local_74 = (double)((longdouble)local_74 - lVar23);\n      break;\n    case 0x2f:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)\n      goto LAB_00095638;\n      local_74 = (double)((longdouble)local_74 / lVar23);\n    }\n    if ((local_7c & 0xff00) != 0x1000) {\n      local_78 = local_6c;\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = local_74;\n    FUN_00092d5e();\n    break;\n  case 0x11:\n    local_78 = (uint *)FUN_00093dbd();\n    break;\n  case 0x13:\n  case 0x15:\n    puVar17 = &DAT_000cd91f;\n    if ((local_7c & 0xff00) == 0x1300) {\n      puVar17 = (undefined1 *)FUN_0009295c();\n    }\n    uVar8 = FUN_00019fd7("%s%s%s",local_68,puVar17,local_4c);\n    FUN_0009227b();\n    local_78[3] = uVar8;\n    FUN_00092d5e();\n    break;\n  case 0x14:\n    FUN_000925a2();\n    if (((((ushort)*local_6c ^ 0x4000) & 0x4201) == 0) ||\n       (FUN_000925a2(), (((ushort)*local_5c ^ 0x4000) & 0x4201) == 0)) {\n      pcVar15 = (char *)FUN_0009295c();\n      pcVar16 = (char *)FUN_0009295c();\n      if (*(char *)(iVar6 + -8) == '\0') {\n        iVar7 = strcmp(pcVar15,pcVar16);\n        lVar23 = (longdouble)iVar7;\n        goto joined_r0x0009536c;\n      }\n      iVar7 = strcasecmp(pcVar15,pcVar16);\n      lVar23 = (longdouble)iVar7;\n      if ((local_7c & 0x7e) != 2) goto LAB_00095372;\nLAB_000952b4:\n      local_48 = (uint)((longdouble)0 <= lVar23);\n    }\n    else {\n      lVar24 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)(double)lVar24 - lVar23;\njoined_r0x0009536c:\n      if ((local_7c & 0x7e) == 2) goto LAB_000952b4;\nLAB_00095372:\n      if ((local_7c & 0x7e) == 4) {\n        lVar24 = (longdouble)0;\n        local_48 = (uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40);\n      }\n      else if ((local_7c & 0x7e) == 0) {\n        local_48 = (uint)((longdouble)0 < lVar23);\n      }\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)(int)(local_7c & 1 ^ local_48 ^ 1);\n    FUN_00092d5e();\n    break;\n  case 0x16:\n    switch(uVar8) {\n    case 0:\n      local_64 = (double)(longlong)ROUND(local_74);\n      break;\n    case 1:\n      iVar7 = rand();\n      local_64 = (double)iVar7 / DAT_000b65c0;\n      break;\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n      goto switchD_000950ee_caseD_2;\n    case 7:\n      uVar8 = *(uint *)(iVar6 + 0x8c);\n      if (puVar18 == (uint *)0x0) {\n        local_34 = time((time_t *)0x0);\n      }\n      else {\n        local_34 = (uint)(longlong)ROUND(local_74);\n      }\n      local_64 = (double)(ulonglong)uVar8;\n      local_64 = (double)(longlong)local_64;\n      *(uint *)(iVar6 + 0x8c) = local_34;\n      srand(local_34);\n      break;\n    case 8:\n      tVar14 = time((time_t *)0x0);\n      local_64 = (double)tVar14;\n      break;\n    case 9:\n      if (puVar18 == (uint *)0x0) {\n        local_68 = (char *)FUN_0009295c();\n      }\n      else if ((*local_6c & 2) != 0) {\n        local_64 = (double)(ulonglong)*(uint *)local_6c[4];\n        local_64 = (double)(longlong)local_64;\n        break;\n      }\n      sVar13 = strlen(local_68);\n      local_64 = (double)(ulonglong)sVar13;\n      local_64 = (double)(longlong)local_64;\n      break;\n    case 10:\n      FUN_00019f78();\n      if (local_68 == (char *)0x0) {\n        local_64 = 0.0;\n      }\n      else if (*local_68 == '\0') {\n        local_64 = 0.0;\n      }\n      else {\n        iVar7 = system(local_68);\n        local_64 = (double)(iVar7 >> 8);\n      }\n      break;\n    case 0xb:\n      if (puVar18 == (uint *)0x0) {\n        fflush(*(FILE **)puVar4);\n      }\n      else if ((local_68 == (char *)0x0) || (*local_68 == '\0')) {\n        FUN_00019f78();\n      }\n      else {\n        puVar11 = (undefined4 *)FUN_00093a51();\n        fflush((FILE *)*puVar11);\n      }\n      break;\n    case 0xc:\n      puVar11 = (undefined4 *)FUN_000939df();\n      if (puVar11 == (undefined4 *)0x0) {\n        local_64 = 0.0;\n      }\n      else {\n        pFVar10 = (FILE *)*puVar11;\n        if (pFVar10 == (FILE *)0x0) {\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          local_64 = 0.0;\n        }\n        else {\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }\n      }\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = local_64;\n    FUN_00092d5e();\n    break;\n  case 0x17:\n    lVar23 = (longdouble)FUN_000925a2();\n    iVar7 = (int)ROUND(lVar23);\n    if (iVar7 < 0) {\n      pcVar15 = "Access to negative field";\n      goto LAB_00094f35;\n    }\n    if (iVar7 == 0) {\n      local_78 = *(uint **)(iVar6 + 0x34);\n    }\n    else {\n      FUN_00092cc4();\n      if (*(int *)(iVar6 + -0x20) < iVar7) {\n        FUN_000922c0();\n      }\n      local_78 = (uint *)(*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14);\n    }\n    break;\n  case 0x18:\n    local_78 = (uint *)(*(int *)(iVar6 + 0x88) + local_80[2] * 0x14);\n    goto LAB_00094b15;\n  case 0x19:\n    if ((*(int *)local_80[3] == 0) && (((int *)local_80[3])[1] == 0)) {\n      pcVar15 = "Call to undefined function";\n      goto LAB_00094f35;\n    }\n    puVar12 = (uint *)FUN_00092151();\n    puVar22 = puVar12;\n    if (puVar18 != (uint *)0x0) {\n      while ((*puVar18 & 0xff00) == 0x1300) {\n        puVar18 = (uint *)puVar18[3];\n        uVar8 = FUN_00094969();\n        FUN_00093453();\n        *puVar22 = *puVar22 | 0x2000;\n        puVar22[4] = uVar8;\n        if ((*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))\n           || (puVar22 = puVar22 + 5, puVar18 == (uint *)0x0)) goto LAB_00094fd5;\n      }\n      uVar8 = FUN_00094969();\n      FUN_00093453();\n      *puVar22 = *puVar22 | 0x2000;\n      puVar22[4] = uVar8;\n    }\nLAB_00094fd5:\n    uVar2 = *(undefined4 *)(iVar6 + 0x88);\n    *(uint **)(iVar6 + 0x88) = puVar12;\n    uVar3 = *(undefined4 *)(iVar6 + -0x28);\n    local_78 = (uint *)FUN_00094969();\n    *(undefined4 *)(iVar6 + -0x28) = uVar3;\n    FUN_000938f0();\n    *(undefined4 *)(iVar6 + 0x88) = uVar2;\n    break;\n  case 0x1a:\n  case 0x20:\n    if (puVar18 == (uint *)0x0) {\n      puVar11 = *(undefined4 **)(iVar6 + -0x3c);\n      if (puVar11 != (undefined4 *)0x0) {\nLAB_00094e49:\n        pFVar10 = (FILE *)*puVar11;\n        goto LAB_00094e4b;\n      }\n      puVar11 = (undefined4 *)FUN_00093cca();\n      *(undefined4 **)(iVar6 + -0x3c) = puVar11;\n      if (puVar11 != (undefined4 *)0x0) goto LAB_00094e49;\nLAB_00094e4f:\n      iVar7 = *DAT_000d16fc;\n      puVar18 = *(uint **)(iVar6 + 0x44);\n      FUN_0009227b();\n      *puVar18 = *puVar18 | 1;\n      *(double *)(puVar18 + 1) = (double)iVar7;\n      FUN_00092d5e();\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      local_78[1] = 0;\n      local_78[2] = 0xbff00000;\n      FUN_00092d5e();\n    }\n    else {\n      piVar9 = (int *)FUN_00093a51();\n      if (*piVar9 == 0) {\n        if ((local_7c & 0xff00) == 0x2000) {\n          pFVar10 = popen(local_68,"r");\n          *piVar9 = (int)pFVar10;\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_0001923e();\n          *piVar9 = (int)pFVar10;\n        }\nLAB_00094e4b:\n        if (pFVar10 == (FILE *)0x0) goto LAB_00094e4f;\n      }\n      if (local_80[3] == 0) {\n        local_5c = *(uint **)(iVar6 + 0x34);\n      }\n      iVar7 = FUN_0009307e();\n      if ((0 < iVar7) && (puVar18 == (uint *)0x0)) {\n        FUN_0009304a();\n        FUN_0009304a();\n      }\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      *(double *)(local_78 + 1) = (double)iVar7;\n      FUN_00092d5e();\n    }\n    break;\n  case 0x1b:\n    FUN_0009211c();\n    iVar7 = FUN_000939df();\n    if (iVar7 == 0) {\nLAB_00094c2d:\n      lVar23 = (longdouble)0;\n    }\n    else {\n      lVar23 = (longdouble)1;\n    }\n    goto LAB_00094b8a;\n  case 0x1c:\n    iVar7 = FUN_00092658();\n    if (iVar7 == 0) goto LAB_00094c2d;\nLAB_00094da9:\n    iVar7 = FUN_00096324();\n    lVar23 = (longdouble)iVar7;\n    goto LAB_00094b8a;\n  case 0x1d:\n    iVar7 = FUN_00092658();\n    if (iVar7 == 0) goto LAB_00094da9;\nLAB_00094c15:\n    lVar23 = (longdouble)1;\n    goto LAB_00094b8a;\n  case 0x1e:\n    goto LAB_00094ce7;\n  case 0x1f:\n    local_78 = (uint *)FUN_00093453();\n    break;\n  case 0x21:\n    local_68 = (char *)FUN_0009295c();\nLAB_00094ce7:\n    __preg = (regex_t *)FUN_00095bc7();\n    iVar7 = regexec(__preg,local_68,0,(regmatch_t *)0x0,0);\n    if ((regex_t *)(iVar6 + 0x90) == __preg) {\n      regfree((regex_t *)(iVar6 + 0x90));\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)((iVar7 == 0) != (uVar8 == 0x21));\n    FUN_00092d5e();\n    break;\n  case 0x23:\n    FUN_00093453();\n    break;\n  case 0x24:\n    uVar8 = FUN_00095fab();\n    FUN_0009227b();\n    local_78[3] = uVar8;\n    FUN_00092d5e();\n    break;\n  case 0x25:\n    if ((*(uint *)local_80[3] & 0xff00) == 0x1200) {\n      FUN_00092658();\n      local_78 = (uint *)FUN_00094969();\n      break;\n    }\n    goto switchD_00094a90_caseD_0;\n  case 0x26:\n    lVar23 = (longdouble)FUN_000925a2();\n    if (uVar8 == 0x4d) {\n      lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      lVar23 = lVar24;\n    }\n    else {\n      if (uVar8 < 0x4e) {\n        if (uVar8 == 0x21) {\n          iVar7 = FUN_00092658();\n          if (iVar7 == 0) goto LAB_00094c15;\n          goto LAB_00094c2d;\n        }\n        if (uVar8 == 0x2d) {\n          lVar23 = -lVar23;\n        }\n        goto LAB_00094b8a;\n      }\n      if (uVar8 == 0x6d) {\n        lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      }\n      else if (uVar8 == 0x70) {\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n      }\n      else {\n        if (uVar8 != 0x50) goto LAB_00094b8a;\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n        lVar23 = lVar24;\n      }\n    }\n    FUN_0009227b();\n    *local_5c = *local_5c | 1;\n    *(double *)(local_5c + 1) = (double)lVar24;\n    FUN_00092d5e();\n    lVar23 = (longdouble)(double)lVar23;\nLAB_00094b8a:\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)lVar23;\n    FUN_00092d5e();\n    break;\n  case 0x27:\n    local_78 = (uint *)local_80[2];\n    if (local_78 == *(uint **)(iVar6 + 0x50)) {\n      FUN_00092cc4();\n    }\nLAB_00094b15:\n    if (local_80[3] != 0) {\n      FUN_0009211c();\n      local_78 = (uint *)FUN_00093a51();\n    }\n    break;\n  case 0x28:\n    goto switchD_00094a90_caseD_28;\n  }" { (case_statement "default:\n    goto switchD_00094a90_caseD_0;" default : (goto_statement "goto switchD_00094a90_caseD_0;" goto statement_identifier ;)) (case_statement "case 2:\n    break;" case number_literal : (break_statement "break;" break ;)) (case_statement "case 3:\n    *(uint *)(iVar6 + -0x28) = local_80[2];\n    break;" case number_literal : (expression_statement "*(uint *)(iVar6 + -0x28) = local_80[2];" (assignment_expression "*(uint *)(iVar6 + -0x28) = local_80[2]" (pointer_expression "*(uint *)(iVar6 + -0x28)" * (cast_expression "(uint *)(iVar6 + -0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -0x28)" ( (binary_expression "iVar6 + -0x28" identifier + number_literal) )))) = (subscript_expression "local_80[2]" identifier [ number_literal ])) ;) (break_statement "break;" break ;)) (case_statement "case 4:" case number_literal :) (case_statement "case 5:\n    if (local_80[3] == 0) {\n      pFVar10 = *(FILE **)PTR_stdout_000d0fb4;\n    }\n    else {\n      piVar9 = (int *)FUN_00093a51();\n      pFVar10 = (FILE *)*piVar9;\n      if (pFVar10 == (FILE *)0x0) {\n        if (uVar8 == 0x7c) {\n          pFVar10 = popen(local_4c,"w");\n          *piVar9 = (int)pFVar10;\n          if (pFVar10 == (FILE *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00018e79("popen");\n          }\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_00019c3e();\n          *piVar9 = (int)pFVar10;\n        }\n      }\n    }\n    if ((local_7c & 0xff00) == 0x400) {\n      if (puVar18 == (uint *)0x0) {\n        pcVar15 = (char *)FUN_0009295c();\n        fputs_unlocked(pcVar15,pFVar10);\n      }\n      else {\n        while( true ) {\n          puVar22 = (uint *)0x0;\n          if ((*puVar18 & 0xff00) == 0x1300) {\n            puVar22 = (uint *)puVar18[3];\n          }\n          puVar18 = puVar22;\n          pbVar19 = (byte *)FUN_00094969();\n          if ((*pbVar19 & 1) == 0) {\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }\n          else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }\n          if (puVar18 == (uint *)0x0) break;\n          pcVar15 = (char *)FUN_0009295c();\n          fputs_unlocked(pcVar15,pFVar10);\n        }\n      }\n      pcVar15 = (char *)FUN_0009295c();\n      fputs_unlocked(pcVar15,pFVar10);\n      fflush(pFVar10);\n    }\n    else {\n      pcVar15 = (char *)FUN_00095fab();\n      fputs_unlocked(pcVar15,pFVar10);\n      free(pcVar15);\n      fflush(pFVar10);\n    }\n    break;" case number_literal : (if_statement "if (local_80[3] == 0) {\n      pFVar10 = *(FILE **)PTR_stdout_000d0fb4;\n    }\n    else {\n      piVar9 = (int *)FUN_00093a51();\n      pFVar10 = (FILE *)*piVar9;\n      if (pFVar10 == (FILE *)0x0) {\n        if (uVar8 == 0x7c) {\n          pFVar10 = popen(local_4c,"w");\n          *piVar9 = (int)pFVar10;\n          if (pFVar10 == (FILE *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00018e79("popen");\n          }\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_00019c3e();\n          *piVar9 = (int)pFVar10;\n        }\n      }\n    }" if (parenthesized_expression "(local_80[3] == 0)" ( (binary_expression "local_80[3] == 0" (subscript_expression "local_80[3]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      pFVar10 = *(FILE **)PTR_stdout_000d0fb4;\n    }" { (expression_statement "pFVar10 = *(FILE **)PTR_stdout_000d0fb4;" (assignment_expression "pFVar10 = *(FILE **)PTR_stdout_000d0fb4" identifier = (pointer_expression "*(FILE **)PTR_stdout_000d0fb4" * (cast_expression "(FILE **)PTR_stdout_000d0fb4" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) }) (else_clause "else {\n      piVar9 = (int *)FUN_00093a51();\n      pFVar10 = (FILE *)*piVar9;\n      if (pFVar10 == (FILE *)0x0) {\n        if (uVar8 == 0x7c) {\n          pFVar10 = popen(local_4c,"w");\n          *piVar9 = (int)pFVar10;\n          if (pFVar10 == (FILE *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00018e79("popen");\n          }\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_00019c3e();\n          *piVar9 = (int)pFVar10;\n        }\n      }\n    }" else (compound_statement "{\n      piVar9 = (int *)FUN_00093a51();\n      pFVar10 = (FILE *)*piVar9;\n      if (pFVar10 == (FILE *)0x0) {\n        if (uVar8 == 0x7c) {\n          pFVar10 = popen(local_4c,"w");\n          *piVar9 = (int)pFVar10;\n          if (pFVar10 == (FILE *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00018e79("popen");\n          }\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_00019c3e();\n          *piVar9 = (int)pFVar10;\n        }\n      }\n    }" { (expression_statement "piVar9 = (int *)FUN_00093a51();" (assignment_expression "piVar9 = (int *)FUN_00093a51()" identifier = (cast_expression "(int *)FUN_00093a51()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00093a51()" identifier (argument_list "()" ( ))))) ;) (expression_statement "pFVar10 = (FILE *)*piVar9;" (assignment_expression "pFVar10 = (FILE *)*piVar9" identifier = (cast_expression "(FILE *)*piVar9" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar9" * identifier))) ;) (if_statement "if (pFVar10 == (FILE *)0x0) {\n        if (uVar8 == 0x7c) {\n          pFVar10 = popen(local_4c,"w");\n          *piVar9 = (int)pFVar10;\n          if (pFVar10 == (FILE *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00018e79("popen");\n          }\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_00019c3e();\n          *piVar9 = (int)pFVar10;\n        }\n      }" if (parenthesized_expression "(pFVar10 == (FILE *)0x0)" ( (binary_expression "pFVar10 == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (uVar8 == 0x7c) {\n          pFVar10 = popen(local_4c,"w");\n          *piVar9 = (int)pFVar10;\n          if (pFVar10 == (FILE *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00018e79("popen");\n          }\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_00019c3e();\n          *piVar9 = (int)pFVar10;\n        }\n      }" { (if_statement "if (uVar8 == 0x7c) {\n          pFVar10 = popen(local_4c,"w");\n          *piVar9 = (int)pFVar10;\n          if (pFVar10 == (FILE *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00018e79("popen");\n          }\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_00019c3e();\n          *piVar9 = (int)pFVar10;\n        }" if (parenthesized_expression "(uVar8 == 0x7c)" ( (binary_expression "uVar8 == 0x7c" identifier == number_literal) )) (compound_statement "{\n          pFVar10 = popen(local_4c,"w");\n          *piVar9 = (int)pFVar10;\n          if (pFVar10 == (FILE *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00018e79("popen");\n          }\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }" { (expression_statement "pFVar10 = popen(local_4c,"w");" (assignment_expression "pFVar10 = popen(local_4c,"w")" identifier = (call_expression "popen(local_4c,"w")" identifier (argument_list "(local_4c,"w")" ( identifier , (string_literal ""w"" " string_content ") )))) ;) (expression_statement "*piVar9 = (int)pFVar10;" (assignment_expression "*piVar9 = (int)pFVar10" (pointer_expression "*piVar9" * identifier) = (cast_expression "(int)pFVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (pFVar10 == (FILE *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00018e79("popen");\n          }" if (parenthesized_expression "(pFVar10 == (FILE *)0x0)" ( (binary_expression "pFVar10 == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_00018e79("popen");\n          }" { comment (expression_statement "FUN_00018e79("popen");" (call_expression "FUN_00018e79("popen")" identifier (argument_list "("popen")" ( (string_literal ""popen"" " string_content ") ))) ;) })) (expression_statement "*(undefined1 *)(piVar9 + 5) = 1;" (assignment_expression "*(undefined1 *)(piVar9 + 5) = 1" (pointer_expression "*(undefined1 *)(piVar9 + 5)" * (cast_expression "(undefined1 *)(piVar9 + 5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9 + 5)" ( (binary_expression "piVar9 + 5" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n          pFVar10 = (FILE *)FUN_00019c3e();\n          *piVar9 = (int)pFVar10;\n        }" else (compound_statement "{\n          pFVar10 = (FILE *)FUN_00019c3e();\n          *piVar9 = (int)pFVar10;\n        }" { (expression_statement "pFVar10 = (FILE *)FUN_00019c3e();" (assignment_expression "pFVar10 = (FILE *)FUN_00019c3e()" identifier = (cast_expression "(FILE *)FUN_00019c3e()" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00019c3e()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*piVar9 = (int)pFVar10;" (assignment_expression "*piVar9 = (int)pFVar10" (pointer_expression "*piVar9" * identifier) = (cast_expression "(int)pFVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }))) })) }))) (if_statement "if ((local_7c & 0xff00) == 0x400) {\n      if (puVar18 == (uint *)0x0) {\n        pcVar15 = (char *)FUN_0009295c();\n        fputs_unlocked(pcVar15,pFVar10);\n      }\n      else {\n        while( true ) {\n          puVar22 = (uint *)0x0;\n          if ((*puVar18 & 0xff00) == 0x1300) {\n            puVar22 = (uint *)puVar18[3];\n          }\n          puVar18 = puVar22;\n          pbVar19 = (byte *)FUN_00094969();\n          if ((*pbVar19 & 1) == 0) {\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }\n          else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }\n          if (puVar18 == (uint *)0x0) break;\n          pcVar15 = (char *)FUN_0009295c();\n          fputs_unlocked(pcVar15,pFVar10);\n        }\n      }\n      pcVar15 = (char *)FUN_0009295c();\n      fputs_unlocked(pcVar15,pFVar10);\n      fflush(pFVar10);\n    }\n    else {\n      pcVar15 = (char *)FUN_00095fab();\n      fputs_unlocked(pcVar15,pFVar10);\n      free(pcVar15);\n      fflush(pFVar10);\n    }" if (parenthesized_expression "((local_7c & 0xff00) == 0x400)" ( (binary_expression "(local_7c & 0xff00) == 0x400" (parenthesized_expression "(local_7c & 0xff00)" ( (binary_expression "local_7c & 0xff00" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      if (puVar18 == (uint *)0x0) {\n        pcVar15 = (char *)FUN_0009295c();\n        fputs_unlocked(pcVar15,pFVar10);\n      }\n      else {\n        while( true ) {\n          puVar22 = (uint *)0x0;\n          if ((*puVar18 & 0xff00) == 0x1300) {\n            puVar22 = (uint *)puVar18[3];\n          }\n          puVar18 = puVar22;\n          pbVar19 = (byte *)FUN_00094969();\n          if ((*pbVar19 & 1) == 0) {\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }\n          else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }\n          if (puVar18 == (uint *)0x0) break;\n          pcVar15 = (char *)FUN_0009295c();\n          fputs_unlocked(pcVar15,pFVar10);\n        }\n      }\n      pcVar15 = (char *)FUN_0009295c();\n      fputs_unlocked(pcVar15,pFVar10);\n      fflush(pFVar10);\n    }" { (if_statement "if (puVar18 == (uint *)0x0) {\n        pcVar15 = (char *)FUN_0009295c();\n        fputs_unlocked(pcVar15,pFVar10);\n      }\n      else {\n        while( true ) {\n          puVar22 = (uint *)0x0;\n          if ((*puVar18 & 0xff00) == 0x1300) {\n            puVar22 = (uint *)puVar18[3];\n          }\n          puVar18 = puVar22;\n          pbVar19 = (byte *)FUN_00094969();\n          if ((*pbVar19 & 1) == 0) {\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }\n          else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }\n          if (puVar18 == (uint *)0x0) break;\n          pcVar15 = (char *)FUN_0009295c();\n          fputs_unlocked(pcVar15,pFVar10);\n        }\n      }" if (parenthesized_expression "(puVar18 == (uint *)0x0)" ( (binary_expression "puVar18 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar15 = (char *)FUN_0009295c();\n        fputs_unlocked(pcVar15,pFVar10);\n      }" { (expression_statement "pcVar15 = (char *)FUN_0009295c();" (assignment_expression "pcVar15 = (char *)FUN_0009295c()" identifier = (cast_expression "(char *)FUN_0009295c()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0009295c()" identifier (argument_list "()" ( ))))) ;) (expression_statement "fputs_unlocked(pcVar15,pFVar10);" (call_expression "fputs_unlocked(pcVar15,pFVar10)" identifier (argument_list "(pcVar15,pFVar10)" ( identifier , identifier ))) ;) }) (else_clause "else {\n        while( true ) {\n          puVar22 = (uint *)0x0;\n          if ((*puVar18 & 0xff00) == 0x1300) {\n            puVar22 = (uint *)puVar18[3];\n          }\n          puVar18 = puVar22;\n          pbVar19 = (byte *)FUN_00094969();\n          if ((*pbVar19 & 1) == 0) {\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }\n          else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }\n          if (puVar18 == (uint *)0x0) break;\n          pcVar15 = (char *)FUN_0009295c();\n          fputs_unlocked(pcVar15,pFVar10);\n        }\n      }" else (compound_statement "{\n        while( true ) {\n          puVar22 = (uint *)0x0;\n          if ((*puVar18 & 0xff00) == 0x1300) {\n            puVar22 = (uint *)puVar18[3];\n          }\n          puVar18 = puVar22;\n          pbVar19 = (byte *)FUN_00094969();\n          if ((*pbVar19 & 1) == 0) {\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }\n          else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }\n          if (puVar18 == (uint *)0x0) break;\n          pcVar15 = (char *)FUN_0009295c();\n          fputs_unlocked(pcVar15,pFVar10);\n        }\n      }" { (while_statement "while( true ) {\n          puVar22 = (uint *)0x0;\n          if ((*puVar18 & 0xff00) == 0x1300) {\n            puVar22 = (uint *)puVar18[3];\n          }\n          puVar18 = puVar22;\n          pbVar19 = (byte *)FUN_00094969();\n          if ((*pbVar19 & 1) == 0) {\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }\n          else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }\n          if (puVar18 == (uint *)0x0) break;\n          pcVar15 = (char *)FUN_0009295c();\n          fputs_unlocked(pcVar15,pFVar10);\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          puVar22 = (uint *)0x0;\n          if ((*puVar18 & 0xff00) == 0x1300) {\n            puVar22 = (uint *)puVar18[3];\n          }\n          puVar18 = puVar22;\n          pbVar19 = (byte *)FUN_00094969();\n          if ((*pbVar19 & 1) == 0) {\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }\n          else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }\n          if (puVar18 == (uint *)0x0) break;\n          pcVar15 = (char *)FUN_0009295c();\n          fputs_unlocked(pcVar15,pFVar10);\n        }" { (expression_statement "puVar22 = (uint *)0x0;" (assignment_expression "puVar22 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((*puVar18 & 0xff00) == 0x1300) {\n            puVar22 = (uint *)puVar18[3];\n          }" if (parenthesized_expression "((*puVar18 & 0xff00) == 0x1300)" ( (binary_expression "(*puVar18 & 0xff00) == 0x1300" (parenthesized_expression "(*puVar18 & 0xff00)" ( (binary_expression "*puVar18 & 0xff00" (pointer_expression "*puVar18" * identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n            puVar22 = (uint *)puVar18[3];\n          }" { (expression_statement "puVar22 = (uint *)puVar18[3];" (assignment_expression "puVar22 = (uint *)puVar18[3]" identifier = (cast_expression "(uint *)puVar18[3]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar18[3]" identifier [ number_literal ]))) ;) })) (expression_statement "puVar18 = puVar22;" (assignment_expression "puVar18 = puVar22" identifier = identifier) ;) (expression_statement "pbVar19 = (byte *)FUN_00094969();" (assignment_expression "pbVar19 = (byte *)FUN_00094969()" identifier = (cast_expression "(byte *)FUN_00094969()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00094969()" identifier (argument_list "()" ( ))))) ;) (if_statement "if ((*pbVar19 & 1) == 0) {\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }\n          else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }" if (parenthesized_expression "((*pbVar19 & 1) == 0)" ( (binary_expression "(*pbVar19 & 1) == 0" (parenthesized_expression "(*pbVar19 & 1)" ( (binary_expression "*pbVar19 & 1" (pointer_expression "*pbVar19" * identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }" { (expression_statement "pcVar15 = (char *)FUN_0009295c();" (assignment_expression "pcVar15 = (char *)FUN_0009295c()" identifier = (cast_expression "(char *)FUN_0009295c()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0009295c()" identifier (argument_list "()" ( ))))) ;) (expression_statement "fputs_unlocked(pcVar15,pFVar10);" (call_expression "fputs_unlocked(pcVar15,pFVar10)" identifier (argument_list "(pcVar15,pFVar10)" ( identifier , identifier ))) ;) }) (else_clause "else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }" else (compound_statement "{\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }" { (expression_statement "lVar23 = (longdouble)FUN_000925a2();" (assignment_expression "lVar23 = (longdouble)FUN_000925a2()" identifier = (cast_expression "(longdouble)FUN_000925a2()" ( (type_descriptor "longdouble" type_identifier) ) (call_expression "FUN_000925a2()" identifier (argument_list "()" ( ))))) ;) (expression_statement "FUN_0009295c();" (call_expression "FUN_0009295c()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00092815((double)lVar23,1,extraout_EDX);" (call_expression "FUN_00092815((double)lVar23,1,extraout_EDX)" identifier (argument_list "((double)lVar23,1,extraout_EDX)" ( (cast_expression "(double)lVar23" ( (type_descriptor "double" primitive_type) ) identifier) , number_literal , identifier ))) ;) (expression_statement "fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);" (call_expression "fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10)" identifier (argument_list "(*(char **)(iVar6 + -0xc),pFVar10)" ( (pointer_expression "*(char **)(iVar6 + -0xc)" * (cast_expression "(char **)(iVar6 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + -0xc)" ( (binary_expression "iVar6 + -0xc" identifier + number_literal) )))) , identifier ))) ;) }))) (if_statement "if (puVar18 == (uint *)0x0) break;" if (parenthesized_expression "(puVar18 == (uint *)0x0)" ( (binary_expression "puVar18 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "pcVar15 = (char *)FUN_0009295c();" (assignment_expression "pcVar15 = (char *)FUN_0009295c()" identifier = (cast_expression "(char *)FUN_0009295c()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0009295c()" identifier (argument_list "()" ( ))))) ;) (expression_statement "fputs_unlocked(pcVar15,pFVar10);" (call_expression "fputs_unlocked(pcVar15,pFVar10)" identifier (argument_list "(pcVar15,pFVar10)" ( identifier , identifier ))) ;) })) }))) (expression_statement "pcVar15 = (char *)FUN_0009295c();" (assignment_expression "pcVar15 = (char *)FUN_0009295c()" identifier = (cast_expression "(char *)FUN_0009295c()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0009295c()" identifier (argument_list "()" ( ))))) ;) (expression_statement "fputs_unlocked(pcVar15,pFVar10);" (call_expression "fputs_unlocked(pcVar15,pFVar10)" identifier (argument_list "(pcVar15,pFVar10)" ( identifier , identifier ))) ;) (expression_statement "fflush(pFVar10);" (call_expression "fflush(pFVar10)" identifier (argument_list "(pFVar10)" ( identifier ))) ;) }) (else_clause "else {\n      pcVar15 = (char *)FUN_00095fab();\n      fputs_unlocked(pcVar15,pFVar10);\n      free(pcVar15);\n      fflush(pFVar10);\n    }" else (compound_statement "{\n      pcVar15 = (char *)FUN_00095fab();\n      fputs_unlocked(pcVar15,pFVar10);\n      free(pcVar15);\n      fflush(pFVar10);\n    }" { (expression_statement "pcVar15 = (char *)FUN_00095fab();" (assignment_expression "pcVar15 = (char *)FUN_00095fab()" identifier = (cast_expression "(char *)FUN_00095fab()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00095fab()" identifier (argument_list "()" ( ))))) ;) (expression_statement "fputs_unlocked(pcVar15,pFVar10);" (call_expression "fputs_unlocked(pcVar15,pFVar10)" identifier (argument_list "(pcVar15,pFVar10)" ( identifier , identifier ))) ;) (expression_statement "free(pcVar15);" (call_expression "free(pcVar15)" identifier (argument_list "(pcVar15)" ( identifier ))) ;) (expression_statement "fflush(pFVar10);" (call_expression "fflush(pFVar10)" identifier (argument_list "(pFVar10)" ( identifier ))) ;) }))) (break_statement "break;" break ;)) (case_statement "case 6:\n    iVar7 = FUN_0009211c();\n    if ((*local_6c & 0x800) == 0) {\n      *local_6c = *local_6c | 0x800;\n      uVar8 = 0;\n    }\n    else {\n      uVar8 = local_6c[4];\n    }\n    piVar9 = (int *)FUN_00019b89();\n    local_6c[4] = (uint)piVar9;\n    *piVar9 = (int)(piVar9 + 3);\n    piVar9[1] = (int)(piVar9 + 3);\n    piVar9[2] = uVar8;\n    if (*(int *)(iVar7 + 4) != 0) {\n      uVar8 = 0;\n      do {\n        iVar20 = *(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4);\n        if (iVar20 != 0) {\n          pcVar15 = (char *)*piVar9;\n          do {\n            strcpy(pcVar15,(char *)(iVar20 + 0x1c));\n            pcVar16 = (char *)*piVar9;\n            do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');\n            iVar20 = *(int *)(iVar20 + 0x18);\n          } while (iVar20 != 0);\n        }\n        uVar8 = uVar8 + 1;\n      } while (uVar8 < *(uint *)(iVar7 + 4));\n    }\n    break;" case number_literal : (expression_statement "iVar7 = FUN_0009211c();" (assignment_expression "iVar7 = FUN_0009211c()" identifier = (call_expression "FUN_0009211c()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((*local_6c & 0x800) == 0) {\n      *local_6c = *local_6c | 0x800;\n      uVar8 = 0;\n    }\n    else {\n      uVar8 = local_6c[4];\n    }" if (parenthesized_expression "((*local_6c & 0x800) == 0)" ( (binary_expression "(*local_6c & 0x800) == 0" (parenthesized_expression "(*local_6c & 0x800)" ( (binary_expression "*local_6c & 0x800" (pointer_expression "*local_6c" * identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      *local_6c = *local_6c | 0x800;\n      uVar8 = 0;\n    }" { (expression_statement "*local_6c = *local_6c | 0x800;" (assignment_expression "*local_6c = *local_6c | 0x800" (pointer_expression "*local_6c" * identifier) = (binary_expression "*local_6c | 0x800" (pointer_expression "*local_6c" * identifier) | number_literal)) ;) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      uVar8 = local_6c[4];\n    }" else (compound_statement "{\n      uVar8 = local_6c[4];\n    }" { (expression_statement "uVar8 = local_6c[4];" (assignment_expression "uVar8 = local_6c[4]" identifier = (subscript_expression "local_6c[4]" identifier [ number_literal ])) ;) }))) (expression_statement "piVar9 = (int *)FUN_00019b89();" (assignment_expression "piVar9 = (int *)FUN_00019b89()" identifier = (cast_expression "(int *)FUN_00019b89()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00019b89()" identifier (argument_list "()" ( ))))) ;) (expression_statement "local_6c[4] = (uint)piVar9;" (assignment_expression "local_6c[4] = (uint)piVar9" (subscript_expression "local_6c[4]" identifier [ number_literal ]) = (cast_expression "(uint)piVar9" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*piVar9 = (int)(piVar9 + 3);" (assignment_expression "*piVar9 = (int)(piVar9 + 3)" (pointer_expression "*piVar9" * identifier) = (cast_expression "(int)(piVar9 + 3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar9 + 3)" ( (binary_expression "piVar9 + 3" identifier + number_literal) )))) ;) (expression_statement "piVar9[1] = (int)(piVar9 + 3);" (assignment_expression "piVar9[1] = (int)(piVar9 + 3)" (subscript_expression "piVar9[1]" identifier [ number_literal ]) = (cast_expression "(int)(piVar9 + 3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar9 + 3)" ( (binary_expression "piVar9 + 3" identifier + number_literal) )))) ;) (expression_statement "piVar9[2] = uVar8;" (assignment_expression "piVar9[2] = uVar8" (subscript_expression "piVar9[2]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (*(int *)(iVar7 + 4) != 0) {\n      uVar8 = 0;\n      do {\n        iVar20 = *(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4);\n        if (iVar20 != 0) {\n          pcVar15 = (char *)*piVar9;\n          do {\n            strcpy(pcVar15,(char *)(iVar20 + 0x1c));\n            pcVar16 = (char *)*piVar9;\n            do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');\n            iVar20 = *(int *)(iVar20 + 0x18);\n          } while (iVar20 != 0);\n        }\n        uVar8 = uVar8 + 1;\n      } while (uVar8 < *(uint *)(iVar7 + 4));\n    }" if (parenthesized_expression "(*(int *)(iVar7 + 4) != 0)" ( (binary_expression "*(int *)(iVar7 + 4) != 0" (pointer_expression "*(int *)(iVar7 + 4)" * (cast_expression "(int *)(iVar7 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      uVar8 = 0;\n      do {\n        iVar20 = *(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4);\n        if (iVar20 != 0) {\n          pcVar15 = (char *)*piVar9;\n          do {\n            strcpy(pcVar15,(char *)(iVar20 + 0x1c));\n            pcVar16 = (char *)*piVar9;\n            do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');\n            iVar20 = *(int *)(iVar20 + 0x18);\n          } while (iVar20 != 0);\n        }\n        uVar8 = uVar8 + 1;\n      } while (uVar8 < *(uint *)(iVar7 + 4));\n    }" { (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (do_statement "do {\n        iVar20 = *(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4);\n        if (iVar20 != 0) {\n          pcVar15 = (char *)*piVar9;\n          do {\n            strcpy(pcVar15,(char *)(iVar20 + 0x1c));\n            pcVar16 = (char *)*piVar9;\n            do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');\n            iVar20 = *(int *)(iVar20 + 0x18);\n          } while (iVar20 != 0);\n        }\n        uVar8 = uVar8 + 1;\n      } while (uVar8 < *(uint *)(iVar7 + 4));" do (compound_statement "{\n        iVar20 = *(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4);\n        if (iVar20 != 0) {\n          pcVar15 = (char *)*piVar9;\n          do {\n            strcpy(pcVar15,(char *)(iVar20 + 0x1c));\n            pcVar16 = (char *)*piVar9;\n            do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');\n            iVar20 = *(int *)(iVar20 + 0x18);\n          } while (iVar20 != 0);\n        }\n        uVar8 = uVar8 + 1;\n      }" { (expression_statement "iVar20 = *(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4);" (assignment_expression "iVar20 = *(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4)" identifier = (pointer_expression "*(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4)" * (cast_expression "(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar7 + 0x10) + uVar8 * 4)" ( (binary_expression "*(int *)(iVar7 + 0x10) + uVar8 * 4" (pointer_expression "*(int *)(iVar7 + 0x10)" * (cast_expression "(int *)(iVar7 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x10)" ( (binary_expression "iVar7 + 0x10" identifier + number_literal) )))) + (binary_expression "uVar8 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (iVar20 != 0) {\n          pcVar15 = (char *)*piVar9;\n          do {\n            strcpy(pcVar15,(char *)(iVar20 + 0x1c));\n            pcVar16 = (char *)*piVar9;\n            do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');\n            iVar20 = *(int *)(iVar20 + 0x18);\n          } while (iVar20 != 0);\n        }" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (compound_statement "{\n          pcVar15 = (char *)*piVar9;\n          do {\n            strcpy(pcVar15,(char *)(iVar20 + 0x1c));\n            pcVar16 = (char *)*piVar9;\n            do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');\n            iVar20 = *(int *)(iVar20 + 0x18);\n          } while (iVar20 != 0);\n        }" { (expression_statement "pcVar15 = (char *)*piVar9;" (assignment_expression "pcVar15 = (char *)*piVar9" identifier = (cast_expression "(char *)*piVar9" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar9" * identifier))) ;) (do_statement "do {\n            strcpy(pcVar15,(char *)(iVar20 + 0x1c));\n            pcVar16 = (char *)*piVar9;\n            do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');\n            iVar20 = *(int *)(iVar20 + 0x18);\n          } while (iVar20 != 0);" do (compound_statement "{\n            strcpy(pcVar15,(char *)(iVar20 + 0x1c));\n            pcVar16 = (char *)*piVar9;\n            do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');\n            iVar20 = *(int *)(iVar20 + 0x18);\n          }" { (expression_statement "strcpy(pcVar15,(char *)(iVar20 + 0x1c));" (call_expression "strcpy(pcVar15,(char *)(iVar20 + 0x1c))" identifier (argument_list "(pcVar15,(char *)(iVar20 + 0x1c))" ( identifier , (cast_expression "(char *)(iVar20 + 0x1c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x1c)" ( (binary_expression "iVar20 + 0x1c" identifier + number_literal) ))) ))) ;) (expression_statement "pcVar16 = (char *)*piVar9;" (assignment_expression "pcVar16 = (char *)*piVar9" identifier = (cast_expression "(char *)*piVar9" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar9" * identifier))) ;) (do_statement "do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');" do (compound_statement "{\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            }" { (expression_statement "pcVar15 = pcVar16 + 1;" (assignment_expression "pcVar15 = pcVar16 + 1" identifier = (binary_expression "pcVar16 + 1" identifier + number_literal)) ;) (expression_statement "*piVar9 = (int)pcVar15;" (assignment_expression "*piVar9 = (int)pcVar15" (pointer_expression "*piVar9" * identifier) = (cast_expression "(int)pcVar15" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "cVar1 = *pcVar16;" (assignment_expression "cVar1 = *pcVar16" identifier = (pointer_expression "*pcVar16" * identifier)) ;) (expression_statement "pcVar16 = pcVar15;" (assignment_expression "pcVar16 = pcVar15" identifier = identifier) ;) }) while (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) (expression_statement "iVar20 = *(int *)(iVar20 + 0x18);" (assignment_expression "iVar20 = *(int *)(iVar20 + 0x18)" identifier = (pointer_expression "*(int *)(iVar20 + 0x18)" * (cast_expression "(int *)(iVar20 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x18)" ( (binary_expression "iVar20 + 0x18" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) ;) })) (expression_statement "uVar8 = uVar8 + 1;" (assignment_expression "uVar8 = uVar8 + 1" identifier = (binary_expression "uVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar8 < *(uint *)(iVar7 + 4))" ( (binary_expression "uVar8 < *(uint *)(iVar7 + 4)" identifier < (pointer_expression "*(uint *)(iVar7 + 4)" * (cast_expression "(uint *)(iVar7 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) ))))) )) ;) })) (break_statement "break;" break ;)) (case_statement "case 7:\n    goto switchD_00094a90_caseD_7;" case number_literal : (goto_statement "goto switchD_00094a90_caseD_7;" goto statement_identifier ;)) (case_statement "case 10:\n    FUN_00095b2f();\n    goto switchD_00094a90_caseD_7;" case number_literal : (expression_statement "FUN_00095b2f();" (call_expression "FUN_00095b2f()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto switchD_00094a90_caseD_7;" goto statement_identifier ;)) (case_statement "case 0xb:\n    goto switchD_00094a90_caseD_b;" case number_literal : (goto_statement "goto switchD_00094a90_caseD_b;" goto statement_identifier ;)) (case_statement "case 0xc:\n    *(undefined1 *)(iVar6 + -5) = 1;\n    goto switchD_00094a90_caseD_b;" case number_literal : (expression_statement "*(undefined1 *)(iVar6 + -5) = 1;" (assignment_expression "*(undefined1 *)(iVar6 + -5) = 1" (pointer_expression "*(undefined1 *)(iVar6 + -5)" * (cast_expression "(undefined1 *)(iVar6 + -5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -5)" ( (binary_expression "iVar6 + -5" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto switchD_00094a90_caseD_b;" goto statement_identifier ;)) (case_statement "case 0xd:\n    if ((*puVar18 & 0xff00) != 0x1300) {\n      iVar7 = FUN_00096324();\n      if (iVar7 != 0) goto LAB_000956d3;\n      local_80 = (uint *)local_80[3];\n      break;\n    }\n    if (((local_7c & 0x200000) == 0) && (iVar7 = FUN_00096324(), iVar7 == 0)) {\n      local_80 = (uint *)local_80[3];\n      break;\n    }\n    *local_80 = *local_80 | 0x200000;\n    iVar7 = FUN_00096324();\n    if (iVar7 != 0) {\n      *local_80 = *local_80 & 0xffdfffff;\n    }\n    goto LAB_000956d3;" case number_literal : (if_statement "if ((*puVar18 & 0xff00) != 0x1300) {\n      iVar7 = FUN_00096324();\n      if (iVar7 != 0) goto LAB_000956d3;\n      local_80 = (uint *)local_80[3];\n      break;\n    }" if (parenthesized_expression "((*puVar18 & 0xff00) != 0x1300)" ( (binary_expression "(*puVar18 & 0xff00) != 0x1300" (parenthesized_expression "(*puVar18 & 0xff00)" ( (binary_expression "*puVar18 & 0xff00" (pointer_expression "*puVar18" * identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n      iVar7 = FUN_00096324();\n      if (iVar7 != 0) goto LAB_000956d3;\n      local_80 = (uint *)local_80[3];\n      break;\n    }" { (expression_statement "iVar7 = FUN_00096324();" (assignment_expression "iVar7 = FUN_00096324()" identifier = (call_expression "FUN_00096324()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar7 != 0) goto LAB_000956d3;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000956d3;" goto statement_identifier ;)) (expression_statement "local_80 = (uint *)local_80[3];" (assignment_expression "local_80 = (uint *)local_80[3]" identifier = (cast_expression "(uint *)local_80[3]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_80[3]" identifier [ number_literal ]))) ;) (break_statement "break;" break ;) })) (if_statement "if (((local_7c & 0x200000) == 0) && (iVar7 = FUN_00096324(), iVar7 == 0)) {\n      local_80 = (uint *)local_80[3];\n      break;\n    }" if (parenthesized_expression "(((local_7c & 0x200000) == 0) && (iVar7 = FUN_00096324(), iVar7 == 0))" ( (binary_expression "((local_7c & 0x200000) == 0) && (iVar7 = FUN_00096324(), iVar7 == 0)" (parenthesized_expression "((local_7c & 0x200000) == 0)" ( (binary_expression "(local_7c & 0x200000) == 0" (parenthesized_expression "(local_7c & 0x200000)" ( (binary_expression "local_7c & 0x200000" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(iVar7 = FUN_00096324(), iVar7 == 0)" ( (comma_expression "iVar7 = FUN_00096324(), iVar7 == 0" (assignment_expression "iVar7 = FUN_00096324()" identifier = (call_expression "FUN_00096324()" identifier (argument_list "()" ( )))) , (binary_expression "iVar7 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n      local_80 = (uint *)local_80[3];\n      break;\n    }" { (expression_statement "local_80 = (uint *)local_80[3];" (assignment_expression "local_80 = (uint *)local_80[3]" identifier = (cast_expression "(uint *)local_80[3]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_80[3]" identifier [ number_literal ]))) ;) (break_statement "break;" break ;) })) (expression_statement "*local_80 = *local_80 | 0x200000;" (assignment_expression "*local_80 = *local_80 | 0x200000" (pointer_expression "*local_80" * identifier) = (binary_expression "*local_80 | 0x200000" (pointer_expression "*local_80" * identifier) | number_literal)) ;) (expression_statement "iVar7 = FUN_00096324();" (assignment_expression "iVar7 = FUN_00096324()" identifier = (call_expression "FUN_00096324()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar7 != 0) {\n      *local_80 = *local_80 & 0xffdfffff;\n    }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n      *local_80 = *local_80 & 0xffdfffff;\n    }" { (expression_statement "*local_80 = *local_80 & 0xffdfffff;" (assignment_expression "*local_80 = *local_80 & 0xffdfffff" (pointer_expression "*local_80" * identifier) = (binary_expression "*local_80 & 0xffdfffff" (pointer_expression "*local_80" * identifier) & number_literal)) ;) })) (goto_statement "goto LAB_000956d3;" goto statement_identifier ;)) (case_statement "case 0xe:\n    puVar18 = (uint *)local_6c[4];\n    pcVar15 = (char *)puVar18[1];\n    if (pcVar15 < (char *)*puVar18) {\n      do {\n        puVar18[1] = (uint)(pcVar15 + 1);\n        cVar1 = *pcVar15;\n        pcVar15 = pcVar15 + 1;\n      } while (cVar1 != '\0');\n      FUN_00093016();\n      goto LAB_000956d3;\n    }\n    uVar8 = puVar18[2];\n    free(puVar18);\n    local_6c[4] = uVar8;\n    local_80 = (uint *)local_80[3];\n    break;" case number_literal : (expression_statement "puVar18 = (uint *)local_6c[4];" (assignment_expression "puVar18 = (uint *)local_6c[4]" identifier = (cast_expression "(uint *)local_6c[4]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_6c[4]" identifier [ number_literal ]))) ;) (expression_statement "pcVar15 = (char *)puVar18[1];" (assignment_expression "pcVar15 = (char *)puVar18[1]" identifier = (cast_expression "(char *)puVar18[1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar18[1]" identifier [ number_literal ]))) ;) (if_statement "if (pcVar15 < (char *)*puVar18) {\n      do {\n        puVar18[1] = (uint)(pcVar15 + 1);\n        cVar1 = *pcVar15;\n        pcVar15 = pcVar15 + 1;\n      } while (cVar1 != '\0');\n      FUN_00093016();\n      goto LAB_000956d3;\n    }" if (parenthesized_expression "(pcVar15 < (char *)*puVar18)" ( (binary_expression "pcVar15 < (char *)*puVar18" identifier < (cast_expression "(char *)*puVar18" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar18" * identifier))) )) (compound_statement "{\n      do {\n        puVar18[1] = (uint)(pcVar15 + 1);\n        cVar1 = *pcVar15;\n        pcVar15 = pcVar15 + 1;\n      } while (cVar1 != '\0');\n      FUN_00093016();\n      goto LAB_000956d3;\n    }" { (do_statement "do {\n        puVar18[1] = (uint)(pcVar15 + 1);\n        cVar1 = *pcVar15;\n        pcVar15 = pcVar15 + 1;\n      } while (cVar1 != '\0');" do (compound_statement "{\n        puVar18[1] = (uint)(pcVar15 + 1);\n        cVar1 = *pcVar15;\n        pcVar15 = pcVar15 + 1;\n      }" { (expression_statement "puVar18[1] = (uint)(pcVar15 + 1);" (assignment_expression "puVar18[1] = (uint)(pcVar15 + 1)" (subscript_expression "puVar18[1]" identifier [ number_literal ]) = (call_expression "(uint)(pcVar15 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar15 + 1)" ( (binary_expression "pcVar15 + 1" identifier + number_literal) )))) ;) (expression_statement "cVar1 = *pcVar15;" (assignment_expression "cVar1 = *pcVar15" identifier = (pointer_expression "*pcVar15" * identifier)) ;) (expression_statement "pcVar15 = pcVar15 + 1;" (assignment_expression "pcVar15 = pcVar15 + 1" identifier = (binary_expression "pcVar15 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) (expression_statement "FUN_00093016();" (call_expression "FUN_00093016()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_000956d3;" goto statement_identifier ;) })) (expression_statement "uVar8 = puVar18[2];" (assignment_expression "uVar8 = puVar18[2]" identifier = (subscript_expression "puVar18[2]" identifier [ number_literal ])) ;) (expression_statement "free(puVar18);" (call_expression "free(puVar18)" identifier (argument_list "(puVar18)" ( identifier ))) ;) (expression_statement "local_6c[4] = uVar8;" (assignment_expression "local_6c[4] = uVar8" (subscript_expression "local_6c[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_80 = (uint *)local_80[3];" (assignment_expression "local_80 = (uint *)local_80[3]" identifier = (cast_expression "(uint *)local_80[3]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_80[3]" identifier [ number_literal ]))) ;) (break_statement "break;" break ;)) (case_statement "case 0x10:" case number_literal :) (case_statement "case 0x22:\n    lVar23 = (longdouble)FUN_000925a2();\n    switch(uVar8) {\n    case 0x25:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40) {\nLAB_00095638:\n        pcVar15 = "Division by zero";\n        goto LAB_00094f35;\n      }\n      local_74 = (double)((longdouble)local_74 -\n                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23);\n      break;\n    case 0x26:\nswitchD_000950ee_caseD_2:\n      pcVar15 = "Math support is not compiled in";\n      goto LAB_00094f35;\n    case 0x27:\n    case 0x28:\n    case 0x29:\n    case 0x2c:\n    case 0x2e:\n      break;\n    case 0x2a:\n      local_74 = (double)(lVar23 * (longdouble)local_74);\n      break;\n    case 0x2b:\n      local_74 = (double)(lVar23 + (longdouble)local_74);\n      break;\n    case 0x2d:\n      local_74 = (double)((longdouble)local_74 - lVar23);\n      break;\n    case 0x2f:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)\n      goto LAB_00095638;\n      local_74 = (double)((longdouble)local_74 / lVar23);\n    }\n    if ((local_7c & 0xff00) != 0x1000) {\n      local_78 = local_6c;\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = local_74;\n    FUN_00092d5e();\n    break;" case number_literal : (expression_statement "lVar23 = (longdouble)FUN_000925a2();" (assignment_expression "lVar23 = (longdouble)FUN_000925a2()" identifier = (cast_expression "(longdouble)FUN_000925a2()" ( (type_descriptor "longdouble" type_identifier) ) (call_expression "FUN_000925a2()" identifier (argument_list "()" ( ))))) ;) (switch_statement "switch(uVar8) {\n    case 0x25:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40) {\nLAB_00095638:\n        pcVar15 = "Division by zero";\n        goto LAB_00094f35;\n      }\n      local_74 = (double)((longdouble)local_74 -\n                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23);\n      break;\n    case 0x26:\nswitchD_000950ee_caseD_2:\n      pcVar15 = "Math support is not compiled in";\n      goto LAB_00094f35;\n    case 0x27:\n    case 0x28:\n    case 0x29:\n    case 0x2c:\n    case 0x2e:\n      break;\n    case 0x2a:\n      local_74 = (double)(lVar23 * (longdouble)local_74);\n      break;\n    case 0x2b:\n      local_74 = (double)(lVar23 + (longdouble)local_74);\n      break;\n    case 0x2d:\n      local_74 = (double)((longdouble)local_74 - lVar23);\n      break;\n    case 0x2f:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)\n      goto LAB_00095638;\n      local_74 = (double)((longdouble)local_74 / lVar23);\n    }" switch (parenthesized_expression "(uVar8)" ( identifier )) (compound_statement "{\n    case 0x25:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40) {\nLAB_00095638:\n        pcVar15 = "Division by zero";\n        goto LAB_00094f35;\n      }\n      local_74 = (double)((longdouble)local_74 -\n                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23);\n      break;\n    case 0x26:\nswitchD_000950ee_caseD_2:\n      pcVar15 = "Math support is not compiled in";\n      goto LAB_00094f35;\n    case 0x27:\n    case 0x28:\n    case 0x29:\n    case 0x2c:\n    case 0x2e:\n      break;\n    case 0x2a:\n      local_74 = (double)(lVar23 * (longdouble)local_74);\n      break;\n    case 0x2b:\n      local_74 = (double)(lVar23 + (longdouble)local_74);\n      break;\n    case 0x2d:\n      local_74 = (double)((longdouble)local_74 - lVar23);\n      break;\n    case 0x2f:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)\n      goto LAB_00095638;\n      local_74 = (double)((longdouble)local_74 / lVar23);\n    }" { (case_statement "case 0x25:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40) {\nLAB_00095638:\n        pcVar15 = "Division by zero";\n        goto LAB_00094f35;\n      }\n      local_74 = (double)((longdouble)local_74 -\n                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23);\n      break;" case number_literal : (expression_statement "lVar24 = (longdouble)0;" (assignment_expression "lVar24 = (longdouble)0" identifier = (cast_expression "(longdouble)0" ( (type_descriptor "longdouble" type_identifier) ) number_literal)) ;) (if_statement "if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40) {\nLAB_00095638:\n        pcVar15 = "Division by zero";\n        goto LAB_00094f35;\n      }" if (parenthesized_expression "((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)" ( (binary_expression "(byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40" (call_expression "(byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8))" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8))" ( (binary_expression "lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)" (binary_expression "lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)" (binary_expression "lVar23 < lVar24" identifier < identifier) | (call_expression "(byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)" ( (binary_expression "(ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8" (call_expression "(ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((ushort)(NAN(lVar23) || NAN(lVar24)) << 10)" ( (binary_expression "(ushort)(NAN(lVar23) || NAN(lVar24)) << 10" (call_expression "(ushort)(NAN(lVar23) || NAN(lVar24))" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(NAN(lVar23) || NAN(lVar24))" ( (binary_expression "NAN(lVar23) || NAN(lVar24)" (call_expression "NAN(lVar23)" identifier (argument_list "(lVar23)" ( identifier ))) || (call_expression "NAN(lVar24)" identifier (argument_list "(lVar24)" ( identifier )))) ))) << number_literal) ))) >> number_literal) )))) | (call_expression "(byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)" ( (binary_expression "(ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8" (call_expression "(ushort)((ushort)(lVar23 == lVar24) << 0xe)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((ushort)(lVar23 == lVar24) << 0xe)" ( (binary_expression "(ushort)(lVar23 == lVar24) << 0xe" (call_expression "(ushort)(lVar23 == lVar24)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(lVar23 == lVar24)" ( (binary_expression "lVar23 == lVar24" identifier == identifier) ))) << number_literal) ))) >> number_literal) )))) ))) == number_literal) )) (compound_statement "{\nLAB_00095638:\n        pcVar15 = "Division by zero";\n        goto LAB_00094f35;\n      }" { (labeled_statement "LAB_00095638:\n        pcVar15 = "Division by zero";" statement_identifier : (expression_statement "pcVar15 = "Division by zero";" (assignment_expression "pcVar15 = "Division by zero"" identifier = (string_literal ""Division by zero"" " string_content ")) ;)) (goto_statement "goto LAB_00094f35;" goto statement_identifier ;) })) (expression_statement "local_74 = (double)((longdouble)local_74 -\n                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23);" (assignment_expression "local_74 = (double)((longdouble)local_74 -\n                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23)" identifier = (cast_expression "(double)((longdouble)local_74 -\n                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((longdouble)local_74 -\n                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23)" ( (binary_expression "(longdouble)local_74 -\n                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23" (cast_expression "(longdouble)local_74" ( (type_descriptor "longdouble" type_identifier) ) identifier) - (binary_expression "(longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23" (cast_expression "(longdouble)(longlong)ROUND((longdouble)local_74 / lVar23)" ( (type_descriptor "longdouble" type_identifier) ) (cast_expression "(longlong)ROUND((longdouble)local_74 / lVar23)" ( (type_descriptor "longlong" type_identifier) ) (call_expression "ROUND((longdouble)local_74 / lVar23)" identifier (argument_list "((longdouble)local_74 / lVar23)" ( (binary_expression "(longdouble)local_74 / lVar23" (cast_expression "(longdouble)local_74" ( (type_descriptor "longdouble" type_identifier) ) identifier) / identifier) ))))) * identifier)) )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x26:\nswitchD_000950ee_caseD_2:\n      pcVar15 = "Math support is not compiled in";\n      goto LAB_00094f35;" case number_literal : (labeled_statement "switchD_000950ee_caseD_2:\n      pcVar15 = "Math support is not compiled in";" statement_identifier : (expression_statement "pcVar15 = "Math support is not compiled in";" (assignment_expression "pcVar15 = "Math support is not compiled in"" identifier = (string_literal ""Math support is not compiled in"" " string_content ")) ;)) (goto_statement "goto LAB_00094f35;" goto statement_identifier ;)) (case_statement "case 0x27:" case number_literal :) (case_statement "case 0x28:" case number_literal :) (case_statement "case 0x29:" case number_literal :) (case_statement "case 0x2c:" case number_literal :) (case_statement "case 0x2e:\n      break;" case number_literal : (break_statement "break;" break ;)) (case_statement "case 0x2a:\n      local_74 = (double)(lVar23 * (longdouble)local_74);\n      break;" case number_literal : (expression_statement "local_74 = (double)(lVar23 * (longdouble)local_74);" (assignment_expression "local_74 = (double)(lVar23 * (longdouble)local_74)" identifier = (cast_expression "(double)(lVar23 * (longdouble)local_74)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(lVar23 * (longdouble)local_74)" ( (binary_expression "lVar23 * (longdouble)local_74" identifier * (cast_expression "(longdouble)local_74" ( (type_descriptor "longdouble" type_identifier) ) identifier)) )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x2b:\n      local_74 = (double)(lVar23 + (longdouble)local_74);\n      break;" case number_literal : (expression_statement "local_74 = (double)(lVar23 + (longdouble)local_74);" (assignment_expression "local_74 = (double)(lVar23 + (longdouble)local_74)" identifier = (cast_expression "(double)(lVar23 + (longdouble)local_74)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(lVar23 + (longdouble)local_74)" ( (binary_expression "lVar23 + (longdouble)local_74" identifier + (cast_expression "(longdouble)local_74" ( (type_descriptor "longdouble" type_identifier) ) identifier)) )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x2d:\n      local_74 = (double)((longdouble)local_74 - lVar23);\n      break;" case number_literal : (expression_statement "local_74 = (double)((longdouble)local_74 - lVar23);" (assignment_expression "local_74 = (double)((longdouble)local_74 - lVar23)" identifier = (cast_expression "(double)((longdouble)local_74 - lVar23)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((longdouble)local_74 - lVar23)" ( (binary_expression "(longdouble)local_74 - lVar23" (cast_expression "(longdouble)local_74" ( (type_descriptor "longdouble" type_identifier) ) identifier) - identifier) )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x2f:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)\n      goto LAB_00095638;\n      local_74 = (double)((longdouble)local_74 / lVar23);" case number_literal : (expression_statement "lVar24 = (longdouble)0;" (assignment_expression "lVar24 = (longdouble)0" identifier = (cast_expression "(longdouble)0" ( (type_descriptor "longdouble" type_identifier) ) number_literal)) ;) (if_statement "if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)\n      goto LAB_00095638;" if (parenthesized_expression "((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)" ( (binary_expression "(byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40" (call_expression "(byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8))" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8))" ( (binary_expression "lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)" (binary_expression "lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)" (binary_expression "lVar23 < lVar24" identifier < identifier) | (call_expression "(byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)" ( (binary_expression "(ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8" (call_expression "(ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((ushort)(NAN(lVar23) || NAN(lVar24)) << 10)" ( (binary_expression "(ushort)(NAN(lVar23) || NAN(lVar24)) << 10" (call_expression "(ushort)(NAN(lVar23) || NAN(lVar24))" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(NAN(lVar23) || NAN(lVar24))" ( (binary_expression "NAN(lVar23) || NAN(lVar24)" (call_expression "NAN(lVar23)" identifier (argument_list "(lVar23)" ( identifier ))) || (call_expression "NAN(lVar24)" identifier (argument_list "(lVar24)" ( identifier )))) ))) << number_literal) ))) >> number_literal) )))) | (call_expression "(byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)" ( (binary_expression "(ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8" (call_expression "(ushort)((ushort)(lVar23 == lVar24) << 0xe)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((ushort)(lVar23 == lVar24) << 0xe)" ( (binary_expression "(ushort)(lVar23 == lVar24) << 0xe" (call_expression "(ushort)(lVar23 == lVar24)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(lVar23 == lVar24)" ( (binary_expression "lVar23 == lVar24" identifier == identifier) ))) << number_literal) ))) >> number_literal) )))) ))) == number_literal) )) (goto_statement "goto LAB_00095638;" goto statement_identifier ;)) (expression_statement "local_74 = (double)((longdouble)local_74 / lVar23);" (assignment_expression "local_74 = (double)((longdouble)local_74 / lVar23)" identifier = (cast_expression "(double)((longdouble)local_74 / lVar23)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((longdouble)local_74 / lVar23)" ( (binary_expression "(longdouble)local_74 / lVar23" (cast_expression "(longdouble)local_74" ( (type_descriptor "longdouble" type_identifier) ) identifier) / identifier) )))) ;)) })) (if_statement "if ((local_7c & 0xff00) != 0x1000) {\n      local_78 = local_6c;\n    }" if (parenthesized_expression "((local_7c & 0xff00) != 0x1000)" ( (binary_expression "(local_7c & 0xff00) != 0x1000" (parenthesized_expression "(local_7c & 0xff00)" ( (binary_expression "local_7c & 0xff00" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      local_78 = local_6c;\n    }" { (expression_statement "local_78 = local_6c;" (assignment_expression "local_78 = local_6c" identifier = identifier) ;) })) (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" identifier (argument_list "()" ( ))) ;) (expression_statement "*local_78 = *local_78 | 1;" (assignment_expression "*local_78 = *local_78 | 1" (pointer_expression "*local_78" * identifier) = (binary_expression "*local_78 | 1" (pointer_expression "*local_78" * identifier) | number_literal)) ;) (expression_statement "*(double *)(local_78 + 1) = local_74;" (assignment_expression "*(double *)(local_78 + 1) = local_74" (pointer_expression "*(double *)(local_78 + 1)" * (cast_expression "(double *)(local_78 + 1)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_78 + 1)" ( (binary_expression "local_78 + 1" identifier + number_literal) )))) = identifier) ;) (expression_statement "FUN_00092d5e();" (call_expression "FUN_00092d5e()" identifier (argument_list "()" ( ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x11:\n    local_78 = (uint *)FUN_00093dbd();\n    break;" case number_literal : (expression_statement "local_78 = (uint *)FUN_00093dbd();" (assignment_expression "local_78 = (uint *)FUN_00093dbd()" identifier = (cast_expression "(uint *)FUN_00093dbd()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00093dbd()" identifier (argument_list "()" ( ))))) ;) (break_statement "break;" break ;)) (case_statement "case 0x13:" case number_literal :) (case_statement "case 0x15:\n    puVar17 = &DAT_000cd91f;\n    if ((local_7c & 0xff00) == 0x1300) {\n      puVar17 = (undefined1 *)FUN_0009295c();\n    }\n    uVar8 = FUN_00019fd7("%s%s%s",local_68,puVar17,local_4c);\n    FUN_0009227b();\n    local_78[3] = uVar8;\n    FUN_00092d5e();\n    break;" case number_literal : (expression_statement "puVar17 = &DAT_000cd91f;" (assignment_expression "puVar17 = &DAT_000cd91f" identifier = (pointer_expression "&DAT_000cd91f" & identifier)) ;) (if_statement "if ((local_7c & 0xff00) == 0x1300) {\n      puVar17 = (undefined1 *)FUN_0009295c();\n    }" if (parenthesized_expression "((local_7c & 0xff00) == 0x1300)" ( (binary_expression "(local_7c & 0xff00) == 0x1300" (parenthesized_expression "(local_7c & 0xff00)" ( (binary_expression "local_7c & 0xff00" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      puVar17 = (undefined1 *)FUN_0009295c();\n    }" { (expression_statement "puVar17 = (undefined1 *)FUN_0009295c();" (assignment_expression "puVar17 = (undefined1 *)FUN_0009295c()" identifier = (cast_expression "(undefined1 *)FUN_0009295c()" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0009295c()" identifier (argument_list "()" ( ))))) ;) })) (expression_statement "uVar8 = FUN_00019fd7("%s%s%s",local_68,puVar17,local_4c);" (assignment_expression "uVar8 = FUN_00019fd7("%s%s%s",local_68,puVar17,local_4c)" identifier = (call_expression "FUN_00019fd7("%s%s%s",local_68,puVar17,local_4c)" identifier (argument_list "("%s%s%s",local_68,puVar17,local_4c)" ( (string_literal ""%s%s%s"" " string_content ") , identifier , identifier , identifier )))) ;) (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_78[3] = uVar8;" (assignment_expression "local_78[3] = uVar8" (subscript_expression "local_78[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_00092d5e();" (call_expression "FUN_00092d5e()" identifier (argument_list "()" ( ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x14:\n    FUN_000925a2();\n    if (((((ushort)*local_6c ^ 0x4000) & 0x4201) == 0) ||\n       (FUN_000925a2(), (((ushort)*local_5c ^ 0x4000) & 0x4201) == 0)) {\n      pcVar15 = (char *)FUN_0009295c();\n      pcVar16 = (char *)FUN_0009295c();\n      if (*(char *)(iVar6 + -8) == '\0') {\n        iVar7 = strcmp(pcVar15,pcVar16);\n        lVar23 = (longdouble)iVar7;\n        goto joined_r0x0009536c;\n      }\n      iVar7 = strcasecmp(pcVar15,pcVar16);\n      lVar23 = (longdouble)iVar7;\n      if ((local_7c & 0x7e) != 2) goto LAB_00095372;\nLAB_000952b4:\n      local_48 = (uint)((longdouble)0 <= lVar23);\n    }\n    else {\n      lVar24 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)(double)lVar24 - lVar23;\njoined_r0x0009536c:\n      if ((local_7c & 0x7e) == 2) goto LAB_000952b4;\nLAB_00095372:\n      if ((local_7c & 0x7e) == 4) {\n        lVar24 = (longdouble)0;\n        local_48 = (uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40);\n      }\n      else if ((local_7c & 0x7e) == 0) {\n        local_48 = (uint)((longdouble)0 < lVar23);\n      }\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)(int)(local_7c & 1 ^ local_48 ^ 1);\n    FUN_00092d5e();\n    break;" case number_literal : (expression_statement "FUN_000925a2();" (call_expression "FUN_000925a2()" identifier (argument_list "()" ( ))) ;) (if_statement "if (((((ushort)*local_6c ^ 0x4000) & 0x4201) == 0) ||\n       (FUN_000925a2(), (((ushort)*local_5c ^ 0x4000) & 0x4201) == 0)) {\n      pcVar15 = (char *)FUN_0009295c();\n      pcVar16 = (char *)FUN_0009295c();\n      if (*(char *)(iVar6 + -8) == '\0') {\n        iVar7 = strcmp(pcVar15,pcVar16);\n        lVar23 = (longdouble)iVar7;\n        goto joined_r0x0009536c;\n      }\n      iVar7 = strcasecmp(pcVar15,pcVar16);\n      lVar23 = (longdouble)iVar7;\n      if ((local_7c & 0x7e) != 2) goto LAB_00095372;\nLAB_000952b4:\n      local_48 = (uint)((longdouble)0 <= lVar23);\n    }\n    else {\n      lVar24 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)(double)lVar24 - lVar23;\njoined_r0x0009536c:\n      if ((local_7c & 0x7e) == 2) goto LAB_000952b4;\nLAB_00095372:\n      if ((local_7c & 0x7e) == 4) {\n        lVar24 = (longdouble)0;\n        local_48 = (uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40);\n      }\n      else if ((local_7c & 0x7e) == 0) {\n        local_48 = (uint)((longdouble)0 < lVar23);\n      }\n    }" if (parenthesized_expression "(((((ushort)*local_6c ^ 0x4000) & 0x4201) == 0) ||\n       (FUN_000925a2(), (((ushort)*local_5c ^ 0x4000) & 0x4201) == 0))" ( (binary_expression "((((ushort)*local_6c ^ 0x4000) & 0x4201) == 0) ||\n       (FUN_000925a2(), (((ushort)*local_5c ^ 0x4000) & 0x4201) == 0)" (parenthesized_expression "((((ushort)*local_6c ^ 0x4000) & 0x4201) == 0)" ( (binary_expression "(((ushort)*local_6c ^ 0x4000) & 0x4201) == 0" (parenthesized_expression "(((ushort)*local_6c ^ 0x4000) & 0x4201)" ( (binary_expression "((ushort)*local_6c ^ 0x4000) & 0x4201" (parenthesized_expression "((ushort)*local_6c ^ 0x4000)" ( (binary_expression "(ushort)*local_6c ^ 0x4000" (binary_expression "(ushort)*local_6c" (parenthesized_expression "(ushort)" ( identifier )) * identifier) ^ number_literal) )) & number_literal) )) == number_literal) )) || (parenthesized_expression "(FUN_000925a2(), (((ushort)*local_5c ^ 0x4000) & 0x4201) == 0)" ( (comma_expression "FUN_000925a2(), (((ushort)*local_5c ^ 0x4000) & 0x4201) == 0" (call_expression "FUN_000925a2()" identifier (argument_list "()" ( ))) , (binary_expression "(((ushort)*local_5c ^ 0x4000) & 0x4201) == 0" (parenthesized_expression "(((ushort)*local_5c ^ 0x4000) & 0x4201)" ( (binary_expression "((ushort)*local_5c ^ 0x4000) & 0x4201" (parenthesized_expression "((ushort)*local_5c ^ 0x4000)" ( (binary_expression "(ushort)*local_5c ^ 0x4000" (binary_expression "(ushort)*local_5c" (parenthesized_expression "(ushort)" ( identifier )) * identifier) ^ number_literal) )) & number_literal) )) == number_literal)) ))) )) (compound_statement "{\n      pcVar15 = (char *)FUN_0009295c();\n      pcVar16 = (char *)FUN_0009295c();\n      if (*(char *)(iVar6 + -8) == '\0') {\n        iVar7 = strcmp(pcVar15,pcVar16);\n        lVar23 = (longdouble)iVar7;\n        goto joined_r0x0009536c;\n      }\n      iVar7 = strcasecmp(pcVar15,pcVar16);\n      lVar23 = (longdouble)iVar7;\n      if ((local_7c & 0x7e) != 2) goto LAB_00095372;\nLAB_000952b4:\n      local_48 = (uint)((longdouble)0 <= lVar23);\n    }" { (expression_statement "pcVar15 = (char *)FUN_0009295c();" (assignment_expression "pcVar15 = (char *)FUN_0009295c()" identifier = (cast_expression "(char *)FUN_0009295c()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0009295c()" identifier (argument_list "()" ( ))))) ;) (expression_statement "pcVar16 = (char *)FUN_0009295c();" (assignment_expression "pcVar16 = (char *)FUN_0009295c()" identifier = (cast_expression "(char *)FUN_0009295c()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0009295c()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (*(char *)(iVar6 + -8) == '\0') {\n        iVar7 = strcmp(pcVar15,pcVar16);\n        lVar23 = (longdouble)iVar7;\n        goto joined_r0x0009536c;\n      }" if (parenthesized_expression "(*(char *)(iVar6 + -8) == '\0')" ( (binary_expression "*(char *)(iVar6 + -8) == '\0'" (pointer_expression "*(char *)(iVar6 + -8)" * (cast_expression "(char *)(iVar6 + -8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -8)" ( (binary_expression "iVar6 + -8" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        iVar7 = strcmp(pcVar15,pcVar16);\n        lVar23 = (longdouble)iVar7;\n        goto joined_r0x0009536c;\n      }" { (expression_statement "iVar7 = strcmp(pcVar15,pcVar16);" (assignment_expression "iVar7 = strcmp(pcVar15,pcVar16)" identifier = (call_expression "strcmp(pcVar15,pcVar16)" identifier (argument_list "(pcVar15,pcVar16)" ( identifier , identifier )))) ;) (expression_statement "lVar23 = (longdouble)iVar7;" (assignment_expression "lVar23 = (longdouble)iVar7" identifier = (cast_expression "(longdouble)iVar7" ( (type_descriptor "longdouble" type_identifier) ) identifier)) ;) (goto_statement "goto joined_r0x0009536c;" goto statement_identifier ;) })) (expression_statement "iVar7 = strcasecmp(pcVar15,pcVar16);" (assignment_expression "iVar7 = strcasecmp(pcVar15,pcVar16)" identifier = (call_expression "strcasecmp(pcVar15,pcVar16)" identifier (argument_list "(pcVar15,pcVar16)" ( identifier , identifier )))) ;) (expression_statement "lVar23 = (longdouble)iVar7;" (assignment_expression "lVar23 = (longdouble)iVar7" identifier = (cast_expression "(longdouble)iVar7" ( (type_descriptor "longdouble" type_identifier) ) identifier)) ;) (if_statement "if ((local_7c & 0x7e) != 2) goto LAB_00095372;" if (parenthesized_expression "((local_7c & 0x7e) != 2)" ( (binary_expression "(local_7c & 0x7e) != 2" (parenthesized_expression "(local_7c & 0x7e)" ( (binary_expression "local_7c & 0x7e" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00095372;" goto statement_identifier ;)) (labeled_statement "LAB_000952b4:\n      local_48 = (uint)((longdouble)0 <= lVar23);" statement_identifier : (expression_statement "local_48 = (uint)((longdouble)0 <= lVar23);" (assignment_expression "local_48 = (uint)((longdouble)0 <= lVar23)" identifier = (call_expression "(uint)((longdouble)0 <= lVar23)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((longdouble)0 <= lVar23)" ( (binary_expression "(longdouble)0 <= lVar23" (cast_expression "(longdouble)0" ( (type_descriptor "longdouble" type_identifier) ) number_literal) <= identifier) )))) ;)) }) (else_clause "else {\n      lVar24 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)(double)lVar24 - lVar23;\njoined_r0x0009536c:\n      if ((local_7c & 0x7e) == 2) goto LAB_000952b4;\nLAB_00095372:\n      if ((local_7c & 0x7e) == 4) {\n        lVar24 = (longdouble)0;\n        local_48 = (uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40);\n      }\n      else if ((local_7c & 0x7e) == 0) {\n        local_48 = (uint)((longdouble)0 < lVar23);\n      }\n    }" else (compound_statement "{\n      lVar24 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)(double)lVar24 - lVar23;\njoined_r0x0009536c:\n      if ((local_7c & 0x7e) == 2) goto LAB_000952b4;\nLAB_00095372:\n      if ((local_7c & 0x7e) == 4) {\n        lVar24 = (longdouble)0;\n        local_48 = (uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40);\n      }\n      else if ((local_7c & 0x7e) == 0) {\n        local_48 = (uint)((longdouble)0 < lVar23);\n      }\n    }" { (expression_statement "lVar24 = (longdouble)FUN_000925a2();" (assignment_expression "lVar24 = (longdouble)FUN_000925a2()" identifier = (cast_expression "(longdouble)FUN_000925a2()" ( (type_descriptor "longdouble" type_identifier) ) (call_expression "FUN_000925a2()" identifier (argument_list "()" ( ))))) ;) (expression_statement "lVar23 = (longdouble)FUN_000925a2();" (assignment_expression "lVar23 = (longdouble)FUN_000925a2()" identifier = (cast_expression "(longdouble)FUN_000925a2()" ( (type_descriptor "longdouble" type_identifier) ) (call_expression "FUN_000925a2()" identifier (argument_list "()" ( ))))) ;) (expression_statement "lVar23 = (longdouble)(double)lVar24 - lVar23;" (assignment_expression "lVar23 = (longdouble)(double)lVar24 - lVar23" identifier = (binary_expression "(longdouble)(double)lVar24 - lVar23" (cast_expression "(longdouble)(double)lVar24" ( (type_descriptor "longdouble" type_identifier) ) (cast_expression "(double)lVar24" ( (type_descriptor "double" primitive_type) ) identifier)) - identifier)) ;) (labeled_statement "joined_r0x0009536c:\n      if ((local_7c & 0x7e) == 2) goto LAB_000952b4;" statement_identifier : (if_statement "if ((local_7c & 0x7e) == 2) goto LAB_000952b4;" if (parenthesized_expression "((local_7c & 0x7e) == 2)" ( (binary_expression "(local_7c & 0x7e) == 2" (parenthesized_expression "(local_7c & 0x7e)" ( (binary_expression "local_7c & 0x7e" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000952b4;" goto statement_identifier ;))) (labeled_statement "LAB_00095372:\n      if ((local_7c & 0x7e) == 4) {\n        lVar24 = (longdouble)0;\n        local_48 = (uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40);\n      }\n      else if ((local_7c & 0x7e) == 0) {\n        local_48 = (uint)((longdouble)0 < lVar23);\n      }" statement_identifier : (if_statement "if ((local_7c & 0x7e) == 4) {\n        lVar24 = (longdouble)0;\n        local_48 = (uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40);\n      }\n      else if ((local_7c & 0x7e) == 0) {\n        local_48 = (uint)((longdouble)0 < lVar23);\n      }" if (parenthesized_expression "((local_7c & 0x7e) == 4)" ( (binary_expression "(local_7c & 0x7e) == 4" (parenthesized_expression "(local_7c & 0x7e)" ( (binary_expression "local_7c & 0x7e" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        lVar24 = (longdouble)0;\n        local_48 = (uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40);\n      }" { (expression_statement "lVar24 = (longdouble)0;" (assignment_expression "lVar24 = (longdouble)0" identifier = (cast_expression "(longdouble)0" ( (type_descriptor "longdouble" type_identifier) ) number_literal)) ;) (expression_statement "local_48 = (uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40);" (assignment_expression "local_48 = (uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)" identifier = (call_expression "(uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)" ( (binary_expression "(byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40" (call_expression "(byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8))" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8))" ( (binary_expression "lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)" (binary_expression "lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)" (binary_expression "lVar23 < lVar24" identifier < identifier) | (call_expression "(byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)" ( (binary_expression "(ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8" (call_expression "(ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((ushort)(NAN(lVar23) || NAN(lVar24)) << 10)" ( (binary_expression "(ushort)(NAN(lVar23) || NAN(lVar24)) << 10" (call_expression "(ushort)(NAN(lVar23) || NAN(lVar24))" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(NAN(lVar23) || NAN(lVar24))" ( (binary_expression "NAN(lVar23) || NAN(lVar24)" (call_expression "NAN(lVar23)" identifier (argument_list "(lVar23)" ( identifier ))) || (call_expression "NAN(lVar24)" identifier (argument_list "(lVar24)" ( identifier )))) ))) << number_literal) ))) >> number_literal) )))) | (call_expression "(byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)" ( (binary_expression "(ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8" (call_expression "(ushort)((ushort)(lVar23 == lVar24) << 0xe)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((ushort)(lVar23 == lVar24) << 0xe)" ( (binary_expression "(ushort)(lVar23 == lVar24) << 0xe" (call_expression "(ushort)(lVar23 == lVar24)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(lVar23 == lVar24)" ( (binary_expression "lVar23 == lVar24" identifier == identifier) ))) << number_literal) ))) >> number_literal) )))) ))) == number_literal) )))) ;) }) (else_clause "else if ((local_7c & 0x7e) == 0) {\n        local_48 = (uint)((longdouble)0 < lVar23);\n      }" else (if_statement "if ((local_7c & 0x7e) == 0) {\n        local_48 = (uint)((longdouble)0 < lVar23);\n      }" if (parenthesized_expression "((local_7c & 0x7e) == 0)" ( (binary_expression "(local_7c & 0x7e) == 0" (parenthesized_expression "(local_7c & 0x7e)" ( (binary_expression "local_7c & 0x7e" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        local_48 = (uint)((longdouble)0 < lVar23);\n      }" { (expression_statement "local_48 = (uint)((longdouble)0 < lVar23);" (assignment_expression "local_48 = (uint)((longdouble)0 < lVar23)" identifier = (call_expression "(uint)((longdouble)0 < lVar23)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((longdouble)0 < lVar23)" ( (binary_expression "(longdouble)0 < lVar23" (cast_expression "(longdouble)0" ( (type_descriptor "longdouble" type_identifier) ) number_literal) < identifier) )))) ;) }))))) }))) (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" identifier (argument_list "()" ( ))) ;) (expression_statement "*local_78 = *local_78 | 1;" (assignment_expression "*local_78 = *local_78 | 1" (pointer_expression "*local_78" * identifier) = (binary_expression "*local_78 | 1" (pointer_expression "*local_78" * identifier) | number_literal)) ;) (expression_statement "*(double *)(local_78 + 1) = (double)(int)(local_7c & 1 ^ local_48 ^ 1);" (assignment_expression "*(double *)(local_78 + 1) = (double)(int)(local_7c & 1 ^ local_48 ^ 1)" (pointer_expression "*(double *)(local_78 + 1)" * (cast_expression "(double *)(local_78 + 1)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_78 + 1)" ( (binary_expression "local_78 + 1" identifier + number_literal) )))) = (cast_expression "(double)(int)(local_7c & 1 ^ local_48 ^ 1)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)(local_7c & 1 ^ local_48 ^ 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_7c & 1 ^ local_48 ^ 1)" ( (binary_expression "local_7c & 1 ^ local_48 ^ 1" (binary_expression "local_7c & 1 ^ local_48" (binary_expression "local_7c & 1" identifier & number_literal) ^ identifier) ^ number_literal) ))))) ;) (expression_statement "FUN_00092d5e();" (call_expression "FUN_00092d5e()" identifier (argument_list "()" ( ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x16:\n    switch(uVar8) {\n    case 0:\n      local_64 = (double)(longlong)ROUND(local_74);\n      break;\n    case 1:\n      iVar7 = rand();\n      local_64 = (double)iVar7 / DAT_000b65c0;\n      break;\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n      goto switchD_000950ee_caseD_2;\n    case 7:\n      uVar8 = *(uint *)(iVar6 + 0x8c);\n      if (puVar18 == (uint *)0x0) {\n        local_34 = time((time_t *)0x0);\n      }\n      else {\n        local_34 = (uint)(longlong)ROUND(local_74);\n      }\n      local_64 = (double)(ulonglong)uVar8;\n      local_64 = (double)(longlong)local_64;\n      *(uint *)(iVar6 + 0x8c) = local_34;\n      srand(local_34);\n      break;\n    case 8:\n      tVar14 = time((time_t *)0x0);\n      local_64 = (double)tVar14;\n      break;\n    case 9:\n      if (puVar18 == (uint *)0x0) {\n        local_68 = (char *)FUN_0009295c();\n      }\n      else if ((*local_6c & 2) != 0) {\n        local_64 = (double)(ulonglong)*(uint *)local_6c[4];\n        local_64 = (double)(longlong)local_64;\n        break;\n      }\n      sVar13 = strlen(local_68);\n      local_64 = (double)(ulonglong)sVar13;\n      local_64 = (double)(longlong)local_64;\n      break;\n    case 10:\n      FUN_00019f78();\n      if (local_68 == (char *)0x0) {\n        local_64 = 0.0;\n      }\n      else if (*local_68 == '\0') {\n        local_64 = 0.0;\n      }\n      else {\n        iVar7 = system(local_68);\n        local_64 = (double)(iVar7 >> 8);\n      }\n      break;\n    case 0xb:\n      if (puVar18 == (uint *)0x0) {\n        fflush(*(FILE **)puVar4);\n      }\n      else if ((local_68 == (char *)0x0) || (*local_68 == '\0')) {\n        FUN_00019f78();\n      }\n      else {\n        puVar11 = (undefined4 *)FUN_00093a51();\n        fflush((FILE *)*puVar11);\n      }\n      break;\n    case 0xc:\n      puVar11 = (undefined4 *)FUN_000939df();\n      if (puVar11 == (undefined4 *)0x0) {\n        local_64 = 0.0;\n      }\n      else {\n        pFVar10 = (FILE *)*puVar11;\n        if (pFVar10 == (FILE *)0x0) {\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          local_64 = 0.0;\n        }\n        else {\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }\n      }\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = local_64;\n    FUN_00092d5e();\n    break;" case number_literal : (switch_statement "switch(uVar8) {\n    case 0:\n      local_64 = (double)(longlong)ROUND(local_74);\n      break;\n    case 1:\n      iVar7 = rand();\n      local_64 = (double)iVar7 / DAT_000b65c0;\n      break;\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n      goto switchD_000950ee_caseD_2;\n    case 7:\n      uVar8 = *(uint *)(iVar6 + 0x8c);\n      if (puVar18 == (uint *)0x0) {\n        local_34 = time((time_t *)0x0);\n      }\n      else {\n        local_34 = (uint)(longlong)ROUND(local_74);\n      }\n      local_64 = (double)(ulonglong)uVar8;\n      local_64 = (double)(longlong)local_64;\n      *(uint *)(iVar6 + 0x8c) = local_34;\n      srand(local_34);\n      break;\n    case 8:\n      tVar14 = time((time_t *)0x0);\n      local_64 = (double)tVar14;\n      break;\n    case 9:\n      if (puVar18 == (uint *)0x0) {\n        local_68 = (char *)FUN_0009295c();\n      }\n      else if ((*local_6c & 2) != 0) {\n        local_64 = (double)(ulonglong)*(uint *)local_6c[4];\n        local_64 = (double)(longlong)local_64;\n        break;\n      }\n      sVar13 = strlen(local_68);\n      local_64 = (double)(ulonglong)sVar13;\n      local_64 = (double)(longlong)local_64;\n      break;\n    case 10:\n      FUN_00019f78();\n      if (local_68 == (char *)0x0) {\n        local_64 = 0.0;\n      }\n      else if (*local_68 == '\0') {\n        local_64 = 0.0;\n      }\n      else {\n        iVar7 = system(local_68);\n        local_64 = (double)(iVar7 >> 8);\n      }\n      break;\n    case 0xb:\n      if (puVar18 == (uint *)0x0) {\n        fflush(*(FILE **)puVar4);\n      }\n      else if ((local_68 == (char *)0x0) || (*local_68 == '\0')) {\n        FUN_00019f78();\n      }\n      else {\n        puVar11 = (undefined4 *)FUN_00093a51();\n        fflush((FILE *)*puVar11);\n      }\n      break;\n    case 0xc:\n      puVar11 = (undefined4 *)FUN_000939df();\n      if (puVar11 == (undefined4 *)0x0) {\n        local_64 = 0.0;\n      }\n      else {\n        pFVar10 = (FILE *)*puVar11;\n        if (pFVar10 == (FILE *)0x0) {\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          local_64 = 0.0;\n        }\n        else {\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }\n      }\n    }" switch (parenthesized_expression "(uVar8)" ( identifier )) (compound_statement "{\n    case 0:\n      local_64 = (double)(longlong)ROUND(local_74);\n      break;\n    case 1:\n      iVar7 = rand();\n      local_64 = (double)iVar7 / DAT_000b65c0;\n      break;\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n      goto switchD_000950ee_caseD_2;\n    case 7:\n      uVar8 = *(uint *)(iVar6 + 0x8c);\n      if (puVar18 == (uint *)0x0) {\n        local_34 = time((time_t *)0x0);\n      }\n      else {\n        local_34 = (uint)(longlong)ROUND(local_74);\n      }\n      local_64 = (double)(ulonglong)uVar8;\n      local_64 = (double)(longlong)local_64;\n      *(uint *)(iVar6 + 0x8c) = local_34;\n      srand(local_34);\n      break;\n    case 8:\n      tVar14 = time((time_t *)0x0);\n      local_64 = (double)tVar14;\n      break;\n    case 9:\n      if (puVar18 == (uint *)0x0) {\n        local_68 = (char *)FUN_0009295c();\n      }\n      else if ((*local_6c & 2) != 0) {\n        local_64 = (double)(ulonglong)*(uint *)local_6c[4];\n        local_64 = (double)(longlong)local_64;\n        break;\n      }\n      sVar13 = strlen(local_68);\n      local_64 = (double)(ulonglong)sVar13;\n      local_64 = (double)(longlong)local_64;\n      break;\n    case 10:\n      FUN_00019f78();\n      if (local_68 == (char *)0x0) {\n        local_64 = 0.0;\n      }\n      else if (*local_68 == '\0') {\n        local_64 = 0.0;\n      }\n      else {\n        iVar7 = system(local_68);\n        local_64 = (double)(iVar7 >> 8);\n      }\n      break;\n    case 0xb:\n      if (puVar18 == (uint *)0x0) {\n        fflush(*(FILE **)puVar4);\n      }\n      else if ((local_68 == (char *)0x0) || (*local_68 == '\0')) {\n        FUN_00019f78();\n      }\n      else {\n        puVar11 = (undefined4 *)FUN_00093a51();\n        fflush((FILE *)*puVar11);\n      }\n      break;\n    case 0xc:\n      puVar11 = (undefined4 *)FUN_000939df();\n      if (puVar11 == (undefined4 *)0x0) {\n        local_64 = 0.0;\n      }\n      else {\n        pFVar10 = (FILE *)*puVar11;\n        if (pFVar10 == (FILE *)0x0) {\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          local_64 = 0.0;\n        }\n        else {\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }\n      }\n    }" { (case_statement "case 0:\n      local_64 = (double)(longlong)ROUND(local_74);\n      break;" case number_literal : (expression_statement "local_64 = (double)(longlong)ROUND(local_74);" (assignment_expression "local_64 = (double)(longlong)ROUND(local_74)" identifier = (cast_expression "(double)(longlong)ROUND(local_74)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)ROUND(local_74)" ( (type_descriptor "longlong" type_identifier) ) (call_expression "ROUND(local_74)" identifier (argument_list "(local_74)" ( identifier )))))) ;) (break_statement "break;" break ;)) (case_statement "case 1:\n      iVar7 = rand();\n      local_64 = (double)iVar7 / DAT_000b65c0;\n      break;" case number_literal : (expression_statement "iVar7 = rand();" (assignment_expression "iVar7 = rand()" identifier = (call_expression "rand()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_64 = (double)iVar7 / DAT_000b65c0;" (assignment_expression "local_64 = (double)iVar7 / DAT_000b65c0" identifier = (binary_expression "(double)iVar7 / DAT_000b65c0" (cast_expression "(double)iVar7" ( (type_descriptor "double" primitive_type) ) identifier) / identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 2:" case number_literal :) (case_statement "case 3:" case number_literal :) (case_statement "case 4:" case number_literal :) (case_statement "case 5:" case number_literal :) (case_statement "case 6:\n      goto switchD_000950ee_caseD_2;" case number_literal : (goto_statement "goto switchD_000950ee_caseD_2;" goto statement_identifier ;)) (case_statement "case 7:\n      uVar8 = *(uint *)(iVar6 + 0x8c);\n      if (puVar18 == (uint *)0x0) {\n        local_34 = time((time_t *)0x0);\n      }\n      else {\n        local_34 = (uint)(longlong)ROUND(local_74);\n      }\n      local_64 = (double)(ulonglong)uVar8;\n      local_64 = (double)(longlong)local_64;\n      *(uint *)(iVar6 + 0x8c) = local_34;\n      srand(local_34);\n      break;" case number_literal : (expression_statement "uVar8 = *(uint *)(iVar6 + 0x8c);" (assignment_expression "uVar8 = *(uint *)(iVar6 + 0x8c)" identifier = (pointer_expression "*(uint *)(iVar6 + 0x8c)" * (cast_expression "(uint *)(iVar6 + 0x8c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x8c)" ( (binary_expression "iVar6 + 0x8c" identifier + number_literal) ))))) ;) (if_statement "if (puVar18 == (uint *)0x0) {\n        local_34 = time((time_t *)0x0);\n      }\n      else {\n        local_34 = (uint)(longlong)ROUND(local_74);\n      }" if (parenthesized_expression "(puVar18 == (uint *)0x0)" ( (binary_expression "puVar18 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_34 = time((time_t *)0x0);\n      }" { (expression_statement "local_34 = time((time_t *)0x0);" (assignment_expression "local_34 = time((time_t *)0x0)" identifier = (call_expression "time((time_t *)0x0)" identifier (argument_list "((time_t *)0x0)" ( (cast_expression "(time_t *)0x0" ( (type_descriptor "time_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) }) (else_clause "else {\n        local_34 = (uint)(longlong)ROUND(local_74);\n      }" else (compound_statement "{\n        local_34 = (uint)(longlong)ROUND(local_74);\n      }" { (expression_statement "local_34 = (uint)(longlong)ROUND(local_74);" (assignment_expression "local_34 = (uint)(longlong)ROUND(local_74)" identifier = (cast_expression "(uint)(longlong)ROUND(local_74)" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(longlong)ROUND(local_74)" ( (type_descriptor "longlong" type_identifier) ) (call_expression "ROUND(local_74)" identifier (argument_list "(local_74)" ( identifier )))))) ;) }))) (expression_statement "local_64 = (double)(ulonglong)uVar8;" (assignment_expression "local_64 = (double)(ulonglong)uVar8" identifier = (cast_expression "(double)(ulonglong)uVar8" ( (type_descriptor "double" primitive_type) ) (cast_expression "(ulonglong)uVar8" ( (type_descriptor "ulonglong" type_identifier) ) identifier))) ;) (expression_statement "local_64 = (double)(longlong)local_64;" (assignment_expression "local_64 = (double)(longlong)local_64" identifier = (cast_expression "(double)(longlong)local_64" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_64" ( (type_descriptor "longlong" type_identifier) ) identifier))) ;) (expression_statement "*(uint *)(iVar6 + 0x8c) = local_34;" (assignment_expression "*(uint *)(iVar6 + 0x8c) = local_34" (pointer_expression "*(uint *)(iVar6 + 0x8c)" * (cast_expression "(uint *)(iVar6 + 0x8c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x8c)" ( (binary_expression "iVar6 + 0x8c" identifier + number_literal) )))) = identifier) ;) (expression_statement "srand(local_34);" (call_expression "srand(local_34)" identifier (argument_list "(local_34)" ( identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 8:\n      tVar14 = time((time_t *)0x0);\n      local_64 = (double)tVar14;\n      break;" case number_literal : (expression_statement "tVar14 = time((time_t *)0x0);" (assignment_expression "tVar14 = time((time_t *)0x0)" identifier = (call_expression "time((time_t *)0x0)" identifier (argument_list "((time_t *)0x0)" ( (cast_expression "(time_t *)0x0" ( (type_descriptor "time_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (expression_statement "local_64 = (double)tVar14;" (assignment_expression "local_64 = (double)tVar14" identifier = (cast_expression "(double)tVar14" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 9:\n      if (puVar18 == (uint *)0x0) {\n        local_68 = (char *)FUN_0009295c();\n      }\n      else if ((*local_6c & 2) != 0) {\n        local_64 = (double)(ulonglong)*(uint *)local_6c[4];\n        local_64 = (double)(longlong)local_64;\n        break;\n      }\n      sVar13 = strlen(local_68);\n      local_64 = (double)(ulonglong)sVar13;\n      local_64 = (double)(longlong)local_64;\n      break;" case number_literal : (if_statement "if (puVar18 == (uint *)0x0) {\n        local_68 = (char *)FUN_0009295c();\n      }\n      else if ((*local_6c & 2) != 0) {\n        local_64 = (double)(ulonglong)*(uint *)local_6c[4];\n        local_64 = (double)(longlong)local_64;\n        break;\n      }" if (parenthesized_expression "(puVar18 == (uint *)0x0)" ( (binary_expression "puVar18 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_68 = (char *)FUN_0009295c();\n      }" { (expression_statement "local_68 = (char *)FUN_0009295c();" (assignment_expression "local_68 = (char *)FUN_0009295c()" identifier = (cast_expression "(char *)FUN_0009295c()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0009295c()" identifier (argument_list "()" ( ))))) ;) }) (else_clause "else if ((*local_6c & 2) != 0) {\n        local_64 = (double)(ulonglong)*(uint *)local_6c[4];\n        local_64 = (double)(longlong)local_64;\n        break;\n      }" else (if_statement "if ((*local_6c & 2) != 0) {\n        local_64 = (double)(ulonglong)*(uint *)local_6c[4];\n        local_64 = (double)(longlong)local_64;\n        break;\n      }" if (parenthesized_expression "((*local_6c & 2) != 0)" ( (binary_expression "(*local_6c & 2) != 0" (parenthesized_expression "(*local_6c & 2)" ( (binary_expression "*local_6c & 2" (pointer_expression "*local_6c" * identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n        local_64 = (double)(ulonglong)*(uint *)local_6c[4];\n        local_64 = (double)(longlong)local_64;\n        break;\n      }" { (expression_statement "local_64 = (double)(ulonglong)*(uint *)local_6c[4];" (assignment_expression "local_64 = (double)(ulonglong)*(uint *)local_6c[4]" identifier = (binary_expression "(double)(ulonglong)*(uint *)local_6c[4]" (cast_expression "(double)(ulonglong)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(ulonglong)" ( identifier ))) * (cast_expression "(uint *)local_6c[4]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_6c[4]" identifier [ number_literal ])))) ;) (expression_statement "local_64 = (double)(longlong)local_64;" (assignment_expression "local_64 = (double)(longlong)local_64" identifier = (cast_expression "(double)(longlong)local_64" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_64" ( (type_descriptor "longlong" type_identifier) ) identifier))) ;) (break_statement "break;" break ;) })))) (expression_statement "sVar13 = strlen(local_68);" (assignment_expression "sVar13 = strlen(local_68)" identifier = (call_expression "strlen(local_68)" identifier (argument_list "(local_68)" ( identifier )))) ;) (expression_statement "local_64 = (double)(ulonglong)sVar13;" (assignment_expression "local_64 = (double)(ulonglong)sVar13" identifier = (cast_expression "(double)(ulonglong)sVar13" ( (type_descriptor "double" primitive_type) ) (cast_expression "(ulonglong)sVar13" ( (type_descriptor "ulonglong" type_identifier) ) identifier))) ;) (expression_statement "local_64 = (double)(longlong)local_64;" (assignment_expression "local_64 = (double)(longlong)local_64" identifier = (cast_expression "(double)(longlong)local_64" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_64" ( (type_descriptor "longlong" type_identifier) ) identifier))) ;) (break_statement "break;" break ;)) (case_statement "case 10:\n      FUN_00019f78();\n      if (local_68 == (char *)0x0) {\n        local_64 = 0.0;\n      }\n      else if (*local_68 == '\0') {\n        local_64 = 0.0;\n      }\n      else {\n        iVar7 = system(local_68);\n        local_64 = (double)(iVar7 >> 8);\n      }\n      break;" case number_literal : (expression_statement "FUN_00019f78();" (call_expression "FUN_00019f78()" identifier (argument_list "()" ( ))) ;) (if_statement "if (local_68 == (char *)0x0) {\n        local_64 = 0.0;\n      }\n      else if (*local_68 == '\0') {\n        local_64 = 0.0;\n      }\n      else {\n        iVar7 = system(local_68);\n        local_64 = (double)(iVar7 >> 8);\n      }" if (parenthesized_expression "(local_68 == (char *)0x0)" ( (binary_expression "local_68 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_64 = 0.0;\n      }" { (expression_statement "local_64 = 0.0;" (assignment_expression "local_64 = 0.0" identifier = number_literal) ;) }) (else_clause "else if (*local_68 == '\0') {\n        local_64 = 0.0;\n      }\n      else {\n        iVar7 = system(local_68);\n        local_64 = (double)(iVar7 >> 8);\n      }" else (if_statement "if (*local_68 == '\0') {\n        local_64 = 0.0;\n      }\n      else {\n        iVar7 = system(local_68);\n        local_64 = (double)(iVar7 >> 8);\n      }" if (parenthesized_expression "(*local_68 == '\0')" ( (binary_expression "*local_68 == '\0'" (pointer_expression "*local_68" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        local_64 = 0.0;\n      }" { (expression_statement "local_64 = 0.0;" (assignment_expression "local_64 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n        iVar7 = system(local_68);\n        local_64 = (double)(iVar7 >> 8);\n      }" else (compound_statement "{\n        iVar7 = system(local_68);\n        local_64 = (double)(iVar7 >> 8);\n      }" { (expression_statement "iVar7 = system(local_68);" (assignment_expression "iVar7 = system(local_68)" identifier = (call_expression "system(local_68)" identifier (argument_list "(local_68)" ( identifier )))) ;) (expression_statement "local_64 = (double)(iVar7 >> 8);" (assignment_expression "local_64 = (double)(iVar7 >> 8)" identifier = (cast_expression "(double)(iVar7 >> 8)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(iVar7 >> 8)" ( (binary_expression "iVar7 >> 8" identifier >> number_literal) )))) ;) }))))) (break_statement "break;" break ;)) (case_statement "case 0xb:\n      if (puVar18 == (uint *)0x0) {\n        fflush(*(FILE **)puVar4);\n      }\n      else if ((local_68 == (char *)0x0) || (*local_68 == '\0')) {\n        FUN_00019f78();\n      }\n      else {\n        puVar11 = (undefined4 *)FUN_00093a51();\n        fflush((FILE *)*puVar11);\n      }\n      break;" case number_literal : (if_statement "if (puVar18 == (uint *)0x0) {\n        fflush(*(FILE **)puVar4);\n      }\n      else if ((local_68 == (char *)0x0) || (*local_68 == '\0')) {\n        FUN_00019f78();\n      }\n      else {\n        puVar11 = (undefined4 *)FUN_00093a51();\n        fflush((FILE *)*puVar11);\n      }" if (parenthesized_expression "(puVar18 == (uint *)0x0)" ( (binary_expression "puVar18 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        fflush(*(FILE **)puVar4);\n      }" { (expression_statement "fflush(*(FILE **)puVar4);" (call_expression "fflush(*(FILE **)puVar4)" identifier (argument_list "(*(FILE **)puVar4)" ( (pointer_expression "*(FILE **)puVar4" * (cast_expression "(FILE **)puVar4" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) }) (else_clause "else if ((local_68 == (char *)0x0) || (*local_68 == '\0')) {\n        FUN_00019f78();\n      }\n      else {\n        puVar11 = (undefined4 *)FUN_00093a51();\n        fflush((FILE *)*puVar11);\n      }" else (if_statement "if ((local_68 == (char *)0x0) || (*local_68 == '\0')) {\n        FUN_00019f78();\n      }\n      else {\n        puVar11 = (undefined4 *)FUN_00093a51();\n        fflush((FILE *)*puVar11);\n      }" if (parenthesized_expression "((local_68 == (char *)0x0) || (*local_68 == '\0'))" ( (binary_expression "(local_68 == (char *)0x0) || (*local_68 == '\0')" (parenthesized_expression "(local_68 == (char *)0x0)" ( (binary_expression "local_68 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*local_68 == '\0')" ( (binary_expression "*local_68 == '\0'" (pointer_expression "*local_68" * identifier) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n        FUN_00019f78();\n      }" { (expression_statement "FUN_00019f78();" (call_expression "FUN_00019f78()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n        puVar11 = (undefined4 *)FUN_00093a51();\n        fflush((FILE *)*puVar11);\n      }" else (compound_statement "{\n        puVar11 = (undefined4 *)FUN_00093a51();\n        fflush((FILE *)*puVar11);\n      }" { (expression_statement "puVar11 = (undefined4 *)FUN_00093a51();" (assignment_expression "puVar11 = (undefined4 *)FUN_00093a51()" identifier = (cast_expression "(undefined4 *)FUN_00093a51()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00093a51()" identifier (argument_list "()" ( ))))) ;) (expression_statement "fflush((FILE *)*puVar11);" (call_expression "fflush((FILE *)*puVar11)" identifier (argument_list "((FILE *)*puVar11)" ( (cast_expression "(FILE *)*puVar11" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar11" * identifier)) ))) ;) }))))) (break_statement "break;" break ;)) (case_statement "case 0xc:\n      puVar11 = (undefined4 *)FUN_000939df();\n      if (puVar11 == (undefined4 *)0x0) {\n        local_64 = 0.0;\n      }\n      else {\n        pFVar10 = (FILE *)*puVar11;\n        if (pFVar10 == (FILE *)0x0) {\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          local_64 = 0.0;\n        }\n        else {\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }\n      }" case number_literal : (expression_statement "puVar11 = (undefined4 *)FUN_000939df();" (assignment_expression "puVar11 = (undefined4 *)FUN_000939df()" identifier = (cast_expression "(undefined4 *)FUN_000939df()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000939df()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (puVar11 == (undefined4 *)0x0) {\n        local_64 = 0.0;\n      }\n      else {\n        pFVar10 = (FILE *)*puVar11;\n        if (pFVar10 == (FILE *)0x0) {\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          local_64 = 0.0;\n        }\n        else {\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }\n      }" if (parenthesized_expression "(puVar11 == (undefined4 *)0x0)" ( (binary_expression "puVar11 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_64 = 0.0;\n      }" { (expression_statement "local_64 = 0.0;" (assignment_expression "local_64 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n        pFVar10 = (FILE *)*puVar11;\n        if (pFVar10 == (FILE *)0x0) {\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          local_64 = 0.0;\n        }\n        else {\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }\n      }" else (compound_statement "{\n        pFVar10 = (FILE *)*puVar11;\n        if (pFVar10 == (FILE *)0x0) {\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          local_64 = 0.0;\n        }\n        else {\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }\n      }" { (expression_statement "pFVar10 = (FILE *)*puVar11;" (assignment_expression "pFVar10 = (FILE *)*puVar11" identifier = (cast_expression "(FILE *)*puVar11" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar11" * identifier))) ;) (if_statement "if (pFVar10 == (FILE *)0x0) {\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          local_64 = 0.0;\n        }\n        else {\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }" if (parenthesized_expression "(pFVar10 == (FILE *)0x0)" ( (binary_expression "pFVar10 == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          local_64 = 0.0;\n        }" { (expression_statement "free((void *)puVar11[1]);" (call_expression "free((void *)puVar11[1])" identifier (argument_list "((void *)puVar11[1])" ( (cast_expression "(void *)puVar11[1]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[1]" identifier [ number_literal ])) ))) ;) (expression_statement "FUN_0009269c();" (call_expression "FUN_0009269c()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_64 = 0.0;" (assignment_expression "local_64 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }" else (compound_statement "{\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }" { (if_statement "if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }" if (parenthesized_expression "(*(char *)(puVar11 + 5) == '\0')" ( (binary_expression "*(char *)(puVar11 + 5) == '\0'" (pointer_expression "*(char *)(puVar11 + 5)" * (cast_expression "(char *)(puVar11 + 5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 5)" ( (binary_expression "puVar11 + 5" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            iVar7 = fclose(pFVar10);\n          }" { (expression_statement "iVar7 = fclose(pFVar10);" (assignment_expression "iVar7 = fclose(pFVar10)" identifier = (call_expression "fclose(pFVar10)" identifier (argument_list "(pFVar10)" ( identifier )))) ;) }) (else_clause "else {\n            iVar7 = pclose(pFVar10);\n          }" else (compound_statement "{\n            iVar7 = pclose(pFVar10);\n          }" { (expression_statement "iVar7 = pclose(pFVar10);" (assignment_expression "iVar7 = pclose(pFVar10)" identifier = (call_expression "pclose(pFVar10)" identifier (argument_list "(pFVar10)" ( identifier )))) ;) }))) (expression_statement "free((void *)puVar11[1]);" (call_expression "free((void *)puVar11[1])" identifier (argument_list "((void *)puVar11[1])" ( (cast_expression "(void *)puVar11[1]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[1]" identifier [ number_literal ])) ))) ;) (expression_statement "FUN_0009269c();" (call_expression "FUN_0009269c()" identifier (argument_list "()" ( ))) ;) (if_statement "if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n            local_64 = 0.0;\n          }" { (expression_statement "local_64 = 0.0;" (assignment_expression "local_64 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }" else (compound_statement "{\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }" { (expression_statement "iVar20 = *piVar5;" (assignment_expression "iVar20 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "puVar18 = *(uint **)(iVar6 + 0x44);" (assignment_expression "puVar18 = *(uint **)(iVar6 + 0x44)" identifier = (pointer_expression "*(uint **)(iVar6 + 0x44)" * (cast_expression "(uint **)(iVar6 + 0x44)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x44)" ( (binary_expression "iVar6 + 0x44" identifier + number_literal) ))))) ;) (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" identifier (argument_list "()" ( ))) ;) (expression_statement "*puVar18 = *puVar18 | 1;" (assignment_expression "*puVar18 = *puVar18 | 1" (pointer_expression "*puVar18" * identifier) = (binary_expression "*puVar18 | 1" (pointer_expression "*puVar18" * identifier) | number_literal)) ;) (expression_statement "*(double *)(puVar18 + 1) = (double)iVar20;" (assignment_expression "*(double *)(puVar18 + 1) = (double)iVar20" (pointer_expression "*(double *)(puVar18 + 1)" * (cast_expression "(double *)(puVar18 + 1)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 1)" ( (binary_expression "puVar18 + 1" identifier + number_literal) )))) = (cast_expression "(double)iVar20" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "FUN_00092d5e();" (call_expression "FUN_00092d5e()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_64 = (double)iVar7;" (assignment_expression "local_64 = (double)iVar7" identifier = (cast_expression "(double)iVar7" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }))) }))) })))) })) (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" identifier (argument_list "()" ( ))) ;) (expression_statement "*local_78 = *local_78 | 1;" (assignment_expression "*local_78 = *local_78 | 1" (pointer_expression "*local_78" * identifier) = (binary_expression "*local_78 | 1" (pointer_expression "*local_78" * identifier) | number_literal)) ;) (expression_statement "*(double *)(local_78 + 1) = local_64;" (assignment_expression "*(double *)(local_78 + 1) = local_64" (pointer_expression "*(double *)(local_78 + 1)" * (cast_expression "(double *)(local_78 + 1)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_78 + 1)" ( (binary_expression "local_78 + 1" identifier + number_literal) )))) = identifier) ;) (expression_statement "FUN_00092d5e();" (call_expression "FUN_00092d5e()" identifier (argument_list "()" ( ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x17:\n    lVar23 = (longdouble)FUN_000925a2();\n    iVar7 = (int)ROUND(lVar23);\n    if (iVar7 < 0) {\n      pcVar15 = "Access to negative field";\n      goto LAB_00094f35;\n    }\n    if (iVar7 == 0) {\n      local_78 = *(uint **)(iVar6 + 0x34);\n    }\n    else {\n      FUN_00092cc4();\n      if (*(int *)(iVar6 + -0x20) < iVar7) {\n        FUN_000922c0();\n      }\n      local_78 = (uint *)(*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14);\n    }\n    break;" case number_literal : (expression_statement "lVar23 = (longdouble)FUN_000925a2();" (assignment_expression "lVar23 = (longdouble)FUN_000925a2()" identifier = (cast_expression "(longdouble)FUN_000925a2()" ( (type_descriptor "longdouble" type_identifier) ) (call_expression "FUN_000925a2()" identifier (argument_list "()" ( ))))) ;) (expression_statement "iVar7 = (int)ROUND(lVar23);" (assignment_expression "iVar7 = (int)ROUND(lVar23)" identifier = (cast_expression "(int)ROUND(lVar23)" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(lVar23)" identifier (argument_list "(lVar23)" ( identifier ))))) ;) (if_statement "if (iVar7 < 0) {\n      pcVar15 = "Access to negative field";\n      goto LAB_00094f35;\n    }" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (compound_statement "{\n      pcVar15 = "Access to negative field";\n      goto LAB_00094f35;\n    }" { (expression_statement "pcVar15 = "Access to negative field";" (assignment_expression "pcVar15 = "Access to negative field"" identifier = (string_literal ""Access to negative field"" " string_content ")) ;) (goto_statement "goto LAB_00094f35;" goto statement_identifier ;) })) (if_statement "if (iVar7 == 0) {\n      local_78 = *(uint **)(iVar6 + 0x34);\n    }\n    else {\n      FUN_00092cc4();\n      if (*(int *)(iVar6 + -0x20) < iVar7) {\n        FUN_000922c0();\n      }\n      local_78 = (uint *)(*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14);\n    }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      local_78 = *(uint **)(iVar6 + 0x34);\n    }" { (expression_statement "local_78 = *(uint **)(iVar6 + 0x34);" (assignment_expression "local_78 = *(uint **)(iVar6 + 0x34)" identifier = (pointer_expression "*(uint **)(iVar6 + 0x34)" * (cast_expression "(uint **)(iVar6 + 0x34)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x34)" ( (binary_expression "iVar6 + 0x34" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      FUN_00092cc4();\n      if (*(int *)(iVar6 + -0x20) < iVar7) {\n        FUN_000922c0();\n      }\n      local_78 = (uint *)(*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14);\n    }" else (compound_statement "{\n      FUN_00092cc4();\n      if (*(int *)(iVar6 + -0x20) < iVar7) {\n        FUN_000922c0();\n      }\n      local_78 = (uint *)(*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14);\n    }" { (expression_statement "FUN_00092cc4();" (call_expression "FUN_00092cc4()" identifier (argument_list "()" ( ))) ;) (if_statement "if (*(int *)(iVar6 + -0x20) < iVar7) {\n        FUN_000922c0();\n      }" if (parenthesized_expression "(*(int *)(iVar6 + -0x20) < iVar7)" ( (binary_expression "*(int *)(iVar6 + -0x20) < iVar7" (pointer_expression "*(int *)(iVar6 + -0x20)" * (cast_expression "(int *)(iVar6 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -0x20)" ( (binary_expression "iVar6 + -0x20" identifier + number_literal) )))) < identifier) )) (compound_statement "{\n        FUN_000922c0();\n      }" { (expression_statement "FUN_000922c0();" (call_expression "FUN_000922c0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_78 = (uint *)(*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14);" (assignment_expression "local_78 = (uint *)(*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14)" identifier = (cast_expression "(uint *)(*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14)" ( (binary_expression "*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14" (binary_expression "*(int *)(iVar6 + -0x18) + -0x14" (pointer_expression "*(int *)(iVar6 + -0x18)" * (cast_expression "(int *)(iVar6 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -0x18)" ( (binary_expression "iVar6 + -0x18" identifier + number_literal) )))) + number_literal) + (binary_expression "iVar7 * 0x14" identifier * number_literal)) )))) ;) }))) (break_statement "break;" break ;)) (case_statement "case 0x18:\n    local_78 = (uint *)(*(int *)(iVar6 + 0x88) + local_80[2] * 0x14);\n    goto LAB_00094b15;" case number_literal : (expression_statement "local_78 = (uint *)(*(int *)(iVar6 + 0x88) + local_80[2] * 0x14);" (assignment_expression "local_78 = (uint *)(*(int *)(iVar6 + 0x88) + local_80[2] * 0x14)" identifier = (cast_expression "(uint *)(*(int *)(iVar6 + 0x88) + local_80[2] * 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar6 + 0x88) + local_80[2] * 0x14)" ( (binary_expression "*(int *)(iVar6 + 0x88) + local_80[2] * 0x14" (pointer_expression "*(int *)(iVar6 + 0x88)" * (cast_expression "(int *)(iVar6 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x88)" ( (binary_expression "iVar6 + 0x88" identifier + number_literal) )))) + (binary_expression "local_80[2] * 0x14" (subscript_expression "local_80[2]" identifier [ number_literal ]) * number_literal)) )))) ;) (goto_statement "goto LAB_00094b15;" goto statement_identifier ;)) (case_statement "case 0x19:\n    if ((*(int *)local_80[3] == 0) && (((int *)local_80[3])[1] == 0)) {\n      pcVar15 = "Call to undefined function";\n      goto LAB_00094f35;\n    }\n    puVar12 = (uint *)FUN_00092151();\n    puVar22 = puVar12;\n    if (puVar18 != (uint *)0x0) {\n      while ((*puVar18 & 0xff00) == 0x1300) {\n        puVar18 = (uint *)puVar18[3];\n        uVar8 = FUN_00094969();\n        FUN_00093453();\n        *puVar22 = *puVar22 | 0x2000;\n        puVar22[4] = uVar8;\n        if ((*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))\n           || (puVar22 = puVar22 + 5, puVar18 == (uint *)0x0)) goto LAB_00094fd5;\n      }\n      uVar8 = FUN_00094969();\n      FUN_00093453();\n      *puVar22 = *puVar22 | 0x2000;\n      puVar22[4] = uVar8;\n    }\nLAB_00094fd5:\n    uVar2 = *(undefined4 *)(iVar6 + 0x88);\n    *(uint **)(iVar6 + 0x88) = puVar12;\n    uVar3 = *(undefined4 *)(iVar6 + -0x28);\n    local_78 = (uint *)FUN_00094969();\n    *(undefined4 *)(iVar6 + -0x28) = uVar3;\n    FUN_000938f0();\n    *(undefined4 *)(iVar6 + 0x88) = uVar2;\n    break;" case number_literal : (if_statement "if ((*(int *)local_80[3] == 0) && (((int *)local_80[3])[1] == 0)) {\n      pcVar15 = "Call to undefined function";\n      goto LAB_00094f35;\n    }" if (parenthesized_expression "((*(int *)local_80[3] == 0) && (((int *)local_80[3])[1] == 0))" ( (binary_expression "(*(int *)local_80[3] == 0) && (((int *)local_80[3])[1] == 0)" (parenthesized_expression "(*(int *)local_80[3] == 0)" ( (binary_expression "*(int *)local_80[3] == 0" (pointer_expression "*(int *)local_80[3]" * (cast_expression "(int *)local_80[3]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_80[3]" identifier [ number_literal ]))) == number_literal) )) && (parenthesized_expression "(((int *)local_80[3])[1] == 0)" ( (binary_expression "((int *)local_80[3])[1] == 0" (subscript_expression "((int *)local_80[3])[1]" (parenthesized_expression "((int *)local_80[3])" ( (cast_expression "(int *)local_80[3]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_80[3]" identifier [ number_literal ])) )) [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n      pcVar15 = "Call to undefined function";\n      goto LAB_00094f35;\n    }" { (expression_statement "pcVar15 = "Call to undefined function";" (assignment_expression "pcVar15 = "Call to undefined function"" identifier = (string_literal ""Call to undefined function"" " string_content ")) ;) (goto_statement "goto LAB_00094f35;" goto statement_identifier ;) })) (expression_statement "puVar12 = (uint *)FUN_00092151();" (assignment_expression "puVar12 = (uint *)FUN_00092151()" identifier = (cast_expression "(uint *)FUN_00092151()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00092151()" identifier (argument_list "()" ( ))))) ;) (expression_statement "puVar22 = puVar12;" (assignment_expression "puVar22 = puVar12" identifier = identifier) ;) (if_statement "if (puVar18 != (uint *)0x0) {\n      while ((*puVar18 & 0xff00) == 0x1300) {\n        puVar18 = (uint *)puVar18[3];\n        uVar8 = FUN_00094969();\n        FUN_00093453();\n        *puVar22 = *puVar22 | 0x2000;\n        puVar22[4] = uVar8;\n        if ((*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))\n           || (puVar22 = puVar22 + 5, puVar18 == (uint *)0x0)) goto LAB_00094fd5;\n      }\n      uVar8 = FUN_00094969();\n      FUN_00093453();\n      *puVar22 = *puVar22 | 0x2000;\n      puVar22[4] = uVar8;\n    }" if (parenthesized_expression "(puVar18 != (uint *)0x0)" ( (binary_expression "puVar18 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      while ((*puVar18 & 0xff00) == 0x1300) {\n        puVar18 = (uint *)puVar18[3];\n        uVar8 = FUN_00094969();\n        FUN_00093453();\n        *puVar22 = *puVar22 | 0x2000;\n        puVar22[4] = uVar8;\n        if ((*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))\n           || (puVar22 = puVar22 + 5, puVar18 == (uint *)0x0)) goto LAB_00094fd5;\n      }\n      uVar8 = FUN_00094969();\n      FUN_00093453();\n      *puVar22 = *puVar22 | 0x2000;\n      puVar22[4] = uVar8;\n    }" { (while_statement "while ((*puVar18 & 0xff00) == 0x1300) {\n        puVar18 = (uint *)puVar18[3];\n        uVar8 = FUN_00094969();\n        FUN_00093453();\n        *puVar22 = *puVar22 | 0x2000;\n        puVar22[4] = uVar8;\n        if ((*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))\n           || (puVar22 = puVar22 + 5, puVar18 == (uint *)0x0)) goto LAB_00094fd5;\n      }" while (parenthesized_expression "((*puVar18 & 0xff00) == 0x1300)" ( (binary_expression "(*puVar18 & 0xff00) == 0x1300" (parenthesized_expression "(*puVar18 & 0xff00)" ( (binary_expression "*puVar18 & 0xff00" (pointer_expression "*puVar18" * identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n        puVar18 = (uint *)puVar18[3];\n        uVar8 = FUN_00094969();\n        FUN_00093453();\n        *puVar22 = *puVar22 | 0x2000;\n        puVar22[4] = uVar8;\n        if ((*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))\n           || (puVar22 = puVar22 + 5, puVar18 == (uint *)0x0)) goto LAB_00094fd5;\n      }" { (expression_statement "puVar18 = (uint *)puVar18[3];" (assignment_expression "puVar18 = (uint *)puVar18[3]" identifier = (cast_expression "(uint *)puVar18[3]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar18[3]" identifier [ number_literal ]))) ;) (expression_statement "uVar8 = FUN_00094969();" (assignment_expression "uVar8 = FUN_00094969()" identifier = (call_expression "FUN_00094969()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_00093453();" (call_expression "FUN_00093453()" identifier (argument_list "()" ( ))) ;) (expression_statement "*puVar22 = *puVar22 | 0x2000;" (assignment_expression "*puVar22 = *puVar22 | 0x2000" (pointer_expression "*puVar22" * identifier) = (binary_expression "*puVar22 | 0x2000" (pointer_expression "*puVar22" * identifier) | number_literal)) ;) (expression_statement "puVar22[4] = uVar8;" (assignment_expression "puVar22[4] = uVar8" (subscript_expression "puVar22[4]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))\n           || (puVar22 = puVar22 + 5, puVar18 == (uint *)0x0)) goto LAB_00094fd5;" if (parenthesized_expression "((*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))\n           || (puVar22 = puVar22 + 5, puVar18 == (uint *)0x0))" ( (binary_expression "(*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))\n           || (puVar22 = puVar22 + 5, puVar18 == (uint *)0x0)" (parenthesized_expression "(*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))" ( (binary_expression "*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333)" (pointer_expression "*(uint *)local_80[3]" * (cast_expression "(uint *)local_80[3]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_80[3]" identifier [ number_literal ]))) <= (call_expression "(uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333)" ( (binary_expression "((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333" (parenthesized_expression "((int)(puVar22 + 5) - (int)puVar12 >> 2)" ( (binary_expression "(int)(puVar22 + 5) - (int)puVar12 >> 2" (binary_expression "(int)(puVar22 + 5) - (int)puVar12" (cast_expression "(int)(puVar22 + 5)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar22 + 5)" ( (binary_expression "puVar22 + 5" identifier + number_literal) ))) - (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal) )))) )) || (parenthesized_expression "(puVar22 = puVar22 + 5, puVar18 == (uint *)0x0)" ( (comma_expression "puVar22 = puVar22 + 5, puVar18 == (uint *)0x0" (assignment_expression "puVar22 = puVar22 + 5" identifier = (binary_expression "puVar22 + 5" identifier + number_literal)) , (binary_expression "puVar18 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_00094fd5;" goto statement_identifier ;)) })) (expression_statement "uVar8 = FUN_00094969();" (assignment_expression "uVar8 = FUN_00094969()" identifier = (call_expression "FUN_00094969()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_00093453();" (call_expression "FUN_00093453()" identifier (argument_list "()" ( ))) ;) (expression_statement "*puVar22 = *puVar22 | 0x2000;" (assignment_expression "*puVar22 = *puVar22 | 0x2000" (pointer_expression "*puVar22" * identifier) = (binary_expression "*puVar22 | 0x2000" (pointer_expression "*puVar22" * identifier) | number_literal)) ;) (expression_statement "puVar22[4] = uVar8;" (assignment_expression "puVar22[4] = uVar8" (subscript_expression "puVar22[4]" identifier [ number_literal ]) = identifier) ;) })) (labeled_statement "LAB_00094fd5:\n    uVar2 = *(undefined4 *)(iVar6 + 0x88);" statement_identifier : (expression_statement "uVar2 = *(undefined4 *)(iVar6 + 0x88);" (assignment_expression "uVar2 = *(undefined4 *)(iVar6 + 0x88)" identifier = (pointer_expression "*(undefined4 *)(iVar6 + 0x88)" * (cast_expression "(undefined4 *)(iVar6 + 0x88)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x88)" ( (binary_expression "iVar6 + 0x88" identifier + number_literal) ))))) ;)) (expression_statement "*(uint **)(iVar6 + 0x88) = puVar12;" (assignment_expression "*(uint **)(iVar6 + 0x88) = puVar12" (pointer_expression "*(uint **)(iVar6 + 0x88)" * (cast_expression "(uint **)(iVar6 + 0x88)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x88)" ( (binary_expression "iVar6 + 0x88" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar3 = *(undefined4 *)(iVar6 + -0x28);" (assignment_expression "uVar3 = *(undefined4 *)(iVar6 + -0x28)" identifier = (pointer_expression "*(undefined4 *)(iVar6 + -0x28)" * (cast_expression "(undefined4 *)(iVar6 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -0x28)" ( (binary_expression "iVar6 + -0x28" identifier + number_literal) ))))) ;) (expression_statement "local_78 = (uint *)FUN_00094969();" (assignment_expression "local_78 = (uint *)FUN_00094969()" identifier = (cast_expression "(uint *)FUN_00094969()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00094969()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*(undefined4 *)(iVar6 + -0x28) = uVar3;" (assignment_expression "*(undefined4 *)(iVar6 + -0x28) = uVar3" (pointer_expression "*(undefined4 *)(iVar6 + -0x28)" * (cast_expression "(undefined4 *)(iVar6 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -0x28)" ( (binary_expression "iVar6 + -0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "FUN_000938f0();" (call_expression "FUN_000938f0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(iVar6 + 0x88) = uVar2;" (assignment_expression "*(undefined4 *)(iVar6 + 0x88) = uVar2" (pointer_expression "*(undefined4 *)(iVar6 + 0x88)" * (cast_expression "(undefined4 *)(iVar6 + 0x88)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x88)" ( (binary_expression "iVar6 + 0x88" identifier + number_literal) )))) = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 0x1a:" case number_literal :) (case_statement "case 0x20:\n    if (puVar18 == (uint *)0x0) {\n      puVar11 = *(undefined4 **)(iVar6 + -0x3c);\n      if (puVar11 != (undefined4 *)0x0) {\nLAB_00094e49:\n        pFVar10 = (FILE *)*puVar11;\n        goto LAB_00094e4b;\n      }\n      puVar11 = (undefined4 *)FUN_00093cca();\n      *(undefined4 **)(iVar6 + -0x3c) = puVar11;\n      if (puVar11 != (undefined4 *)0x0) goto LAB_00094e49;\nLAB_00094e4f:\n      iVar7 = *DAT_000d16fc;\n      puVar18 = *(uint **)(iVar6 + 0x44);\n      FUN_0009227b();\n      *puVar18 = *puVar18 | 1;\n      *(double *)(puVar18 + 1) = (double)iVar7;\n      FUN_00092d5e();\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      local_78[1] = 0;\n      local_78[2] = 0xbff00000;\n      FUN_00092d5e();\n    }\n    else {\n      piVar9 = (int *)FUN_00093a51();\n      if (*piVar9 == 0) {\n        if ((local_7c & 0xff00) == 0x2000) {\n          pFVar10 = popen(local_68,"r");\n          *piVar9 = (int)pFVar10;\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_0001923e();\n          *piVar9 = (int)pFVar10;\n        }\nLAB_00094e4b:\n        if (pFVar10 == (FILE *)0x0) goto LAB_00094e4f;\n      }\n      if (local_80[3] == 0) {\n        local_5c = *(uint **)(iVar6 + 0x34);\n      }\n      iVar7 = FUN_0009307e();\n      if ((0 < iVar7) && (puVar18 == (uint *)0x0)) {\n        FUN_0009304a();\n        FUN_0009304a();\n      }\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      *(double *)(local_78 + 1) = (double)iVar7;\n      FUN_00092d5e();\n    }\n    break;" case number_literal : (if_statement "if (puVar18 == (uint *)0x0) {\n      puVar11 = *(undefined4 **)(iVar6 + -0x3c);\n      if (puVar11 != (undefined4 *)0x0) {\nLAB_00094e49:\n        pFVar10 = (FILE *)*puVar11;\n        goto LAB_00094e4b;\n      }\n      puVar11 = (undefined4 *)FUN_00093cca();\n      *(undefined4 **)(iVar6 + -0x3c) = puVar11;\n      if (puVar11 != (undefined4 *)0x0) goto LAB_00094e49;\nLAB_00094e4f:\n      iVar7 = *DAT_000d16fc;\n      puVar18 = *(uint **)(iVar6 + 0x44);\n      FUN_0009227b();\n      *puVar18 = *puVar18 | 1;\n      *(double *)(puVar18 + 1) = (double)iVar7;\n      FUN_00092d5e();\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      local_78[1] = 0;\n      local_78[2] = 0xbff00000;\n      FUN_00092d5e();\n    }\n    else {\n      piVar9 = (int *)FUN_00093a51();\n      if (*piVar9 == 0) {\n        if ((local_7c & 0xff00) == 0x2000) {\n          pFVar10 = popen(local_68,"r");\n          *piVar9 = (int)pFVar10;\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_0001923e();\n          *piVar9 = (int)pFVar10;\n        }\nLAB_00094e4b:\n        if (pFVar10 == (FILE *)0x0) goto LAB_00094e4f;\n      }\n      if (local_80[3] == 0) {\n        local_5c = *(uint **)(iVar6 + 0x34);\n      }\n      iVar7 = FUN_0009307e();\n      if ((0 < iVar7) && (puVar18 == (uint *)0x0)) {\n        FUN_0009304a();\n        FUN_0009304a();\n      }\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      *(double *)(local_78 + 1) = (double)iVar7;\n      FUN_00092d5e();\n    }" if (parenthesized_expression "(puVar18 == (uint *)0x0)" ( (binary_expression "puVar18 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      puVar11 = *(undefined4 **)(iVar6 + -0x3c);\n      if (puVar11 != (undefined4 *)0x0) {\nLAB_00094e49:\n        pFVar10 = (FILE *)*puVar11;\n        goto LAB_00094e4b;\n      }\n      puVar11 = (undefined4 *)FUN_00093cca();\n      *(undefined4 **)(iVar6 + -0x3c) = puVar11;\n      if (puVar11 != (undefined4 *)0x0) goto LAB_00094e49;\nLAB_00094e4f:\n      iVar7 = *DAT_000d16fc;\n      puVar18 = *(uint **)(iVar6 + 0x44);\n      FUN_0009227b();\n      *puVar18 = *puVar18 | 1;\n      *(double *)(puVar18 + 1) = (double)iVar7;\n      FUN_00092d5e();\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      local_78[1] = 0;\n      local_78[2] = 0xbff00000;\n      FUN_00092d5e();\n    }" { (expression_statement "puVar11 = *(undefined4 **)(iVar6 + -0x3c);" (assignment_expression "puVar11 = *(undefined4 **)(iVar6 + -0x3c)" identifier = (pointer_expression "*(undefined4 **)(iVar6 + -0x3c)" * (cast_expression "(undefined4 **)(iVar6 + -0x3c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + -0x3c)" ( (binary_expression "iVar6 + -0x3c" identifier + number_literal) ))))) ;) (if_statement "if (puVar11 != (undefined4 *)0x0) {\nLAB_00094e49:\n        pFVar10 = (FILE *)*puVar11;\n        goto LAB_00094e4b;\n      }" if (parenthesized_expression "(puVar11 != (undefined4 *)0x0)" ( (binary_expression "puVar11 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00094e49:\n        pFVar10 = (FILE *)*puVar11;\n        goto LAB_00094e4b;\n      }" { (labeled_statement "LAB_00094e49:\n        pFVar10 = (FILE *)*puVar11;" statement_identifier : (expression_statement "pFVar10 = (FILE *)*puVar11;" (assignment_expression "pFVar10 = (FILE *)*puVar11" identifier = (cast_expression "(FILE *)*puVar11" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar11" * identifier))) ;)) (goto_statement "goto LAB_00094e4b;" goto statement_identifier ;) })) (expression_statement "puVar11 = (undefined4 *)FUN_00093cca();" (assignment_expression "puVar11 = (undefined4 *)FUN_00093cca()" identifier = (cast_expression "(undefined4 *)FUN_00093cca()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00093cca()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*(undefined4 **)(iVar6 + -0x3c) = puVar11;" (assignment_expression "*(undefined4 **)(iVar6 + -0x3c) = puVar11" (pointer_expression "*(undefined4 **)(iVar6 + -0x3c)" * (cast_expression "(undefined4 **)(iVar6 + -0x3c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + -0x3c)" ( (binary_expression "iVar6 + -0x3c" identifier + number_literal) )))) = identifier) ;) (if_statement "if (puVar11 != (undefined4 *)0x0) goto LAB_00094e49;" if (parenthesized_expression "(puVar11 != (undefined4 *)0x0)" ( (binary_expression "puVar11 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00094e49;" goto statement_identifier ;)) (labeled_statement "LAB_00094e4f:\n      iVar7 = *DAT_000d16fc;" statement_identifier : (expression_statement "iVar7 = *DAT_000d16fc;" (assignment_expression "iVar7 = *DAT_000d16fc" identifier = (pointer_expression "*DAT_000d16fc" * identifier)) ;)) (expression_statement "puVar18 = *(uint **)(iVar6 + 0x44);" (assignment_expression "puVar18 = *(uint **)(iVar6 + 0x44)" identifier = (pointer_expression "*(uint **)(iVar6 + 0x44)" * (cast_expression "(uint **)(iVar6 + 0x44)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x44)" ( (binary_expression "iVar6 + 0x44" identifier + number_literal) ))))) ;) (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" identifier (argument_list "()" ( ))) ;) (expression_statement "*puVar18 = *puVar18 | 1;" (assignment_expression "*puVar18 = *puVar18 | 1" (pointer_expression "*puVar18" * identifier) = (binary_expression "*puVar18 | 1" (pointer_expression "*puVar18" * identifier) | number_literal)) ;) (expression_statement "*(double *)(puVar18 + 1) = (double)iVar7;" (assignment_expression "*(double *)(puVar18 + 1) = (double)iVar7" (pointer_expression "*(double *)(puVar18 + 1)" * (cast_expression "(double *)(puVar18 + 1)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 1)" ( (binary_expression "puVar18 + 1" identifier + number_literal) )))) = (cast_expression "(double)iVar7" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "FUN_00092d5e();" (call_expression "FUN_00092d5e()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" identifier (argument_list "()" ( ))) ;) (expression_statement "*local_78 = *local_78 | 1;" (assignment_expression "*local_78 = *local_78 | 1" (pointer_expression "*local_78" * identifier) = (binary_expression "*local_78 | 1" (pointer_expression "*local_78" * identifier) | number_literal)) ;) (expression_statement "local_78[1] = 0;" (assignment_expression "local_78[1] = 0" (subscript_expression "local_78[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_78[2] = 0xbff00000;" (assignment_expression "local_78[2] = 0xbff00000" (subscript_expression "local_78[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00092d5e();" (call_expression "FUN_00092d5e()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n      piVar9 = (int *)FUN_00093a51();\n      if (*piVar9 == 0) {\n        if ((local_7c & 0xff00) == 0x2000) {\n          pFVar10 = popen(local_68,"r");\n          *piVar9 = (int)pFVar10;\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_0001923e();\n          *piVar9 = (int)pFVar10;\n        }\nLAB_00094e4b:\n        if (pFVar10 == (FILE *)0x0) goto LAB_00094e4f;\n      }\n      if (local_80[3] == 0) {\n        local_5c = *(uint **)(iVar6 + 0x34);\n      }\n      iVar7 = FUN_0009307e();\n      if ((0 < iVar7) && (puVar18 == (uint *)0x0)) {\n        FUN_0009304a();\n        FUN_0009304a();\n      }\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      *(double *)(local_78 + 1) = (double)iVar7;\n      FUN_00092d5e();\n    }" else (compound_statement "{\n      piVar9 = (int *)FUN_00093a51();\n      if (*piVar9 == 0) {\n        if ((local_7c & 0xff00) == 0x2000) {\n          pFVar10 = popen(local_68,"r");\n          *piVar9 = (int)pFVar10;\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_0001923e();\n          *piVar9 = (int)pFVar10;\n        }\nLAB_00094e4b:\n        if (pFVar10 == (FILE *)0x0) goto LAB_00094e4f;\n      }\n      if (local_80[3] == 0) {\n        local_5c = *(uint **)(iVar6 + 0x34);\n      }\n      iVar7 = FUN_0009307e();\n      if ((0 < iVar7) && (puVar18 == (uint *)0x0)) {\n        FUN_0009304a();\n        FUN_0009304a();\n      }\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      *(double *)(local_78 + 1) = (double)iVar7;\n      FUN_00092d5e();\n    }" { (expression_statement "piVar9 = (int *)FUN_00093a51();" (assignment_expression "piVar9 = (int *)FUN_00093a51()" identifier = (cast_expression "(int *)FUN_00093a51()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00093a51()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (*piVar9 == 0) {\n        if ((local_7c & 0xff00) == 0x2000) {\n          pFVar10 = popen(local_68,"r");\n          *piVar9 = (int)pFVar10;\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_0001923e();\n          *piVar9 = (int)pFVar10;\n        }\nLAB_00094e4b:\n        if (pFVar10 == (FILE *)0x0) goto LAB_00094e4f;\n      }" if (parenthesized_expression "(*piVar9 == 0)" ( (binary_expression "*piVar9 == 0" (pointer_expression "*piVar9" * identifier) == number_literal) )) (compound_statement "{\n        if ((local_7c & 0xff00) == 0x2000) {\n          pFVar10 = popen(local_68,"r");\n          *piVar9 = (int)pFVar10;\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_0001923e();\n          *piVar9 = (int)pFVar10;\n        }\nLAB_00094e4b:\n        if (pFVar10 == (FILE *)0x0) goto LAB_00094e4f;\n      }" { (if_statement "if ((local_7c & 0xff00) == 0x2000) {\n          pFVar10 = popen(local_68,"r");\n          *piVar9 = (int)pFVar10;\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_0001923e();\n          *piVar9 = (int)pFVar10;\n        }" if (parenthesized_expression "((local_7c & 0xff00) == 0x2000)" ( (binary_expression "(local_7c & 0xff00) == 0x2000" (parenthesized_expression "(local_7c & 0xff00)" ( (binary_expression "local_7c & 0xff00" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          pFVar10 = popen(local_68,"r");\n          *piVar9 = (int)pFVar10;\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }" { (expression_statement "pFVar10 = popen(local_68,"r");" (assignment_expression "pFVar10 = popen(local_68,"r")" identifier = (call_expression "popen(local_68,"r")" identifier (argument_list "(local_68,"r")" ( identifier , (string_literal ""r"" " string_content ") )))) ;) (expression_statement "*piVar9 = (int)pFVar10;" (assignment_expression "*piVar9 = (int)pFVar10" (pointer_expression "*piVar9" * identifier) = (cast_expression "(int)pFVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(undefined1 *)(piVar9 + 5) = 1;" (assignment_expression "*(undefined1 *)(piVar9 + 5) = 1" (pointer_expression "*(undefined1 *)(piVar9 + 5)" * (cast_expression "(undefined1 *)(piVar9 + 5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9 + 5)" ( (binary_expression "piVar9 + 5" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n          pFVar10 = (FILE *)FUN_0001923e();\n          *piVar9 = (int)pFVar10;\n        }" else (compound_statement "{\n          pFVar10 = (FILE *)FUN_0001923e();\n          *piVar9 = (int)pFVar10;\n        }" { (expression_statement "pFVar10 = (FILE *)FUN_0001923e();" (assignment_expression "pFVar10 = (FILE *)FUN_0001923e()" identifier = (cast_expression "(FILE *)FUN_0001923e()" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0001923e()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*piVar9 = (int)pFVar10;" (assignment_expression "*piVar9 = (int)pFVar10" (pointer_expression "*piVar9" * identifier) = (cast_expression "(int)pFVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }))) (labeled_statement "LAB_00094e4b:\n        if (pFVar10 == (FILE *)0x0) goto LAB_00094e4f;" statement_identifier : (if_statement "if (pFVar10 == (FILE *)0x0) goto LAB_00094e4f;" if (parenthesized_expression "(pFVar10 == (FILE *)0x0)" ( (binary_expression "pFVar10 == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00094e4f;" goto statement_identifier ;))) })) (if_statement "if (local_80[3] == 0) {\n        local_5c = *(uint **)(iVar6 + 0x34);\n      }" if (parenthesized_expression "(local_80[3] == 0)" ( (binary_expression "local_80[3] == 0" (subscript_expression "local_80[3]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        local_5c = *(uint **)(iVar6 + 0x34);\n      }" { (expression_statement "local_5c = *(uint **)(iVar6 + 0x34);" (assignment_expression "local_5c = *(uint **)(iVar6 + 0x34)" identifier = (pointer_expression "*(uint **)(iVar6 + 0x34)" * (cast_expression "(uint **)(iVar6 + 0x34)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x34)" ( (binary_expression "iVar6 + 0x34" identifier + number_literal) ))))) ;) })) (expression_statement "iVar7 = FUN_0009307e();" (assignment_expression "iVar7 = FUN_0009307e()" identifier = (call_expression "FUN_0009307e()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((0 < iVar7) && (puVar18 == (uint *)0x0)) {\n        FUN_0009304a();\n        FUN_0009304a();\n      }" if (parenthesized_expression "((0 < iVar7) && (puVar18 == (uint *)0x0))" ( (binary_expression "(0 < iVar7) && (puVar18 == (uint *)0x0)" (parenthesized_expression "(0 < iVar7)" ( (binary_expression "0 < iVar7" number_literal < identifier) )) && (parenthesized_expression "(puVar18 == (uint *)0x0)" ( (binary_expression "puVar18 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n        FUN_0009304a();\n        FUN_0009304a();\n      }" { (expression_statement "FUN_0009304a();" (call_expression "FUN_0009304a()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0009304a();" (call_expression "FUN_0009304a()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" identifier (argument_list "()" ( ))) ;) (expression_statement "*local_78 = *local_78 | 1;" (assignment_expression "*local_78 = *local_78 | 1" (pointer_expression "*local_78" * identifier) = (binary_expression "*local_78 | 1" (pointer_expression "*local_78" * identifier) | number_literal)) ;) (expression_statement "*(double *)(local_78 + 1) = (double)iVar7;" (assignment_expression "*(double *)(local_78 + 1) = (double)iVar7" (pointer_expression "*(double *)(local_78 + 1)" * (cast_expression "(double *)(local_78 + 1)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_78 + 1)" ( (binary_expression "local_78 + 1" identifier + number_literal) )))) = (cast_expression "(double)iVar7" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "FUN_00092d5e();" (call_expression "FUN_00092d5e()" identifier (argument_list "()" ( ))) ;) }))) (break_statement "break;" break ;)) (case_statement "case 0x1b:\n    FUN_0009211c();\n    iVar7 = FUN_000939df();\n    if (iVar7 == 0) {\nLAB_00094c2d:\n      lVar23 = (longdouble)0;\n    }\n    else {\n      lVar23 = (longdouble)1;\n    }\n    goto LAB_00094b8a;" case number_literal : (expression_statement "FUN_0009211c();" (call_expression "FUN_0009211c()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar7 = FUN_000939df();" (assignment_expression "iVar7 = FUN_000939df()" identifier = (call_expression "FUN_000939df()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar7 == 0) {\nLAB_00094c2d:\n      lVar23 = (longdouble)0;\n    }\n    else {\n      lVar23 = (longdouble)1;\n    }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00094c2d:\n      lVar23 = (longdouble)0;\n    }" { (labeled_statement "LAB_00094c2d:\n      lVar23 = (longdouble)0;" statement_identifier : (expression_statement "lVar23 = (longdouble)0;" (assignment_expression "lVar23 = (longdouble)0" identifier = (cast_expression "(longdouble)0" ( (type_descriptor "longdouble" type_identifier) ) number_literal)) ;)) }) (else_clause "else {\n      lVar23 = (longdouble)1;\n    }" else (compound_statement "{\n      lVar23 = (longdouble)1;\n    }" { (expression_statement "lVar23 = (longdouble)1;" (assignment_expression "lVar23 = (longdouble)1" identifier = (cast_expression "(longdouble)1" ( (type_descriptor "longdouble" type_identifier) ) number_literal)) ;) }))) (goto_statement "goto LAB_00094b8a;" goto statement_identifier ;)) (case_statement "case 0x1c:\n    iVar7 = FUN_00092658();\n    if (iVar7 == 0) goto LAB_00094c2d;\nLAB_00094da9:\n    iVar7 = FUN_00096324();\n    lVar23 = (longdouble)iVar7;\n    goto LAB_00094b8a;" case number_literal : (expression_statement "iVar7 = FUN_00092658();" (assignment_expression "iVar7 = FUN_00092658()" identifier = (call_expression "FUN_00092658()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar7 == 0) goto LAB_00094c2d;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00094c2d;" goto statement_identifier ;)) (labeled_statement "LAB_00094da9:\n    iVar7 = FUN_00096324();" statement_identifier : (expression_statement "iVar7 = FUN_00096324();" (assignment_expression "iVar7 = FUN_00096324()" identifier = (call_expression "FUN_00096324()" identifier (argument_list "()" ( )))) ;)) (expression_statement "lVar23 = (longdouble)iVar7;" (assignment_expression "lVar23 = (longdouble)iVar7" identifier = (cast_expression "(longdouble)iVar7" ( (type_descriptor "longdouble" type_identifier) ) identifier)) ;) (goto_statement "goto LAB_00094b8a;" goto statement_identifier ;)) (case_statement "case 0x1d:\n    iVar7 = FUN_00092658();\n    if (iVar7 == 0) goto LAB_00094da9;\nLAB_00094c15:\n    lVar23 = (longdouble)1;\n    goto LAB_00094b8a;" case number_literal : (expression_statement "iVar7 = FUN_00092658();" (assignment_expression "iVar7 = FUN_00092658()" identifier = (call_expression "FUN_00092658()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar7 == 0) goto LAB_00094da9;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00094da9;" goto statement_identifier ;)) (labeled_statement "LAB_00094c15:\n    lVar23 = (longdouble)1;" statement_identifier : (expression_statement "lVar23 = (longdouble)1;" (assignment_expression "lVar23 = (longdouble)1" identifier = (cast_expression "(longdouble)1" ( (type_descriptor "longdouble" type_identifier) ) number_literal)) ;)) (goto_statement "goto LAB_00094b8a;" goto statement_identifier ;)) (case_statement "case 0x1e:\n    goto LAB_00094ce7;" case number_literal : (goto_statement "goto LAB_00094ce7;" goto statement_identifier ;)) (case_statement "case 0x1f:\n    local_78 = (uint *)FUN_00093453();\n    break;" case number_literal : (expression_statement "local_78 = (uint *)FUN_00093453();" (assignment_expression "local_78 = (uint *)FUN_00093453()" identifier = (cast_expression "(uint *)FUN_00093453()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00093453()" identifier (argument_list "()" ( ))))) ;) (break_statement "break;" break ;)) (case_statement "case 0x21:\n    local_68 = (char *)FUN_0009295c();\nLAB_00094ce7:\n    __preg = (regex_t *)FUN_00095bc7();\n    iVar7 = regexec(__preg,local_68,0,(regmatch_t *)0x0,0);\n    if ((regex_t *)(iVar6 + 0x90) == __preg) {\n      regfree((regex_t *)(iVar6 + 0x90));\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)((iVar7 == 0) != (uVar8 == 0x21));\n    FUN_00092d5e();\n    break;" case number_literal : (expression_statement "local_68 = (char *)FUN_0009295c();" (assignment_expression "local_68 = (char *)FUN_0009295c()" identifier = (cast_expression "(char *)FUN_0009295c()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0009295c()" identifier (argument_list "()" ( ))))) ;) (labeled_statement "LAB_00094ce7:\n    __preg = (regex_t *)FUN_00095bc7();" statement_identifier : (expression_statement "__preg = (regex_t *)FUN_00095bc7();" (assignment_expression "__preg = (regex_t *)FUN_00095bc7()" identifier = (cast_expression "(regex_t *)FUN_00095bc7()" ( (type_descriptor "regex_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00095bc7()" identifier (argument_list "()" ( ))))) ;)) (expression_statement "iVar7 = regexec(__preg,local_68,0,(regmatch_t *)0x0,0);" (assignment_expression "iVar7 = regexec(__preg,local_68,0,(regmatch_t *)0x0,0)" identifier = (call_expression "regexec(__preg,local_68,0,(regmatch_t *)0x0,0)" identifier (argument_list "(__preg,local_68,0,(regmatch_t *)0x0,0)" ( identifier , identifier , number_literal , (cast_expression "(regmatch_t *)0x0" ( (type_descriptor "regmatch_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , number_literal )))) ;) (if_statement "if ((regex_t *)(iVar6 + 0x90) == __preg) {\n      regfree((regex_t *)(iVar6 + 0x90));\n    }" if (parenthesized_expression "((regex_t *)(iVar6 + 0x90) == __preg)" ( (binary_expression "(regex_t *)(iVar6 + 0x90) == __preg" (cast_expression "(regex_t *)(iVar6 + 0x90)" ( (type_descriptor "regex_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x90)" ( (binary_expression "iVar6 + 0x90" identifier + number_literal) ))) == identifier) )) (compound_statement "{\n      regfree((regex_t *)(iVar6 + 0x90));\n    }" { (expression_statement "regfree((regex_t *)(iVar6 + 0x90));" (call_expression "regfree((regex_t *)(iVar6 + 0x90))" identifier (argument_list "((regex_t *)(iVar6 + 0x90))" ( (cast_expression "(regex_t *)(iVar6 + 0x90)" ( (type_descriptor "regex_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x90)" ( (binary_expression "iVar6 + 0x90" identifier + number_literal) ))) ))) ;) })) (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" identifier (argument_list "()" ( ))) ;) (expression_statement "*local_78 = *local_78 | 1;" (assignment_expression "*local_78 = *local_78 | 1" (pointer_expression "*local_78" * identifier) = (binary_expression "*local_78 | 1" (pointer_expression "*local_78" * identifier) | number_literal)) ;) (expression_statement "*(double *)(local_78 + 1) = (double)((iVar7 == 0) != (uVar8 == 0x21));" (assignment_expression "*(double *)(local_78 + 1) = (double)((iVar7 == 0) != (uVar8 == 0x21))" (pointer_expression "*(double *)(local_78 + 1)" * (cast_expression "(double *)(local_78 + 1)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_78 + 1)" ( (binary_expression "local_78 + 1" identifier + number_literal) )))) = (cast_expression "(double)((iVar7 == 0) != (uVar8 == 0x21))" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((iVar7 == 0) != (uVar8 == 0x21))" ( (binary_expression "(iVar7 == 0) != (uVar8 == 0x21)" (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) != (parenthesized_expression "(uVar8 == 0x21)" ( (binary_expression "uVar8 == 0x21" identifier == number_literal) ))) )))) ;) (expression_statement "FUN_00092d5e();" (call_expression "FUN_00092d5e()" identifier (argument_list "()" ( ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x23:\n    FUN_00093453();\n    break;" case number_literal : (expression_statement "FUN_00093453();" (call_expression "FUN_00093453()" identifier (argument_list "()" ( ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x24:\n    uVar8 = FUN_00095fab();\n    FUN_0009227b();\n    local_78[3] = uVar8;\n    FUN_00092d5e();\n    break;" case number_literal : (expression_statement "uVar8 = FUN_00095fab();" (assignment_expression "uVar8 = FUN_00095fab()" identifier = (call_expression "FUN_00095fab()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_78[3] = uVar8;" (assignment_expression "local_78[3] = uVar8" (subscript_expression "local_78[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_00092d5e();" (call_expression "FUN_00092d5e()" identifier (argument_list "()" ( ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x25:\n    if ((*(uint *)local_80[3] & 0xff00) == 0x1200) {\n      FUN_00092658();\n      local_78 = (uint *)FUN_00094969();\n      break;\n    }\n    goto switchD_00094a90_caseD_0;" case number_literal : (if_statement "if ((*(uint *)local_80[3] & 0xff00) == 0x1200) {\n      FUN_00092658();\n      local_78 = (uint *)FUN_00094969();\n      break;\n    }" if (parenthesized_expression "((*(uint *)local_80[3] & 0xff00) == 0x1200)" ( (binary_expression "(*(uint *)local_80[3] & 0xff00) == 0x1200" (parenthesized_expression "(*(uint *)local_80[3] & 0xff00)" ( (binary_expression "*(uint *)local_80[3] & 0xff00" (pointer_expression "*(uint *)local_80[3]" * (cast_expression "(uint *)local_80[3]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_80[3]" identifier [ number_literal ]))) & number_literal) )) == number_literal) )) (compound_statement "{\n      FUN_00092658();\n      local_78 = (uint *)FUN_00094969();\n      break;\n    }" { (expression_statement "FUN_00092658();" (call_expression "FUN_00092658()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_78 = (uint *)FUN_00094969();" (assignment_expression "local_78 = (uint *)FUN_00094969()" identifier = (cast_expression "(uint *)FUN_00094969()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00094969()" identifier (argument_list "()" ( ))))) ;) (break_statement "break;" break ;) })) (goto_statement "goto switchD_00094a90_caseD_0;" goto statement_identifier ;)) (case_statement "case 0x26:\n    lVar23 = (longdouble)FUN_000925a2();\n    if (uVar8 == 0x4d) {\n      lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      lVar23 = lVar24;\n    }\n    else {\n      if (uVar8 < 0x4e) {\n        if (uVar8 == 0x21) {\n          iVar7 = FUN_00092658();\n          if (iVar7 == 0) goto LAB_00094c15;\n          goto LAB_00094c2d;\n        }\n        if (uVar8 == 0x2d) {\n          lVar23 = -lVar23;\n        }\n        goto LAB_00094b8a;\n      }\n      if (uVar8 == 0x6d) {\n        lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      }\n      else if (uVar8 == 0x70) {\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n      }\n      else {\n        if (uVar8 != 0x50) goto LAB_00094b8a;\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n        lVar23 = lVar24;\n      }\n    }\n    FUN_0009227b();\n    *local_5c = *local_5c | 1;\n    *(double *)(local_5c + 1) = (double)lVar24;\n    FUN_00092d5e();\n    lVar23 = (longdouble)(double)lVar23;\nLAB_00094b8a:\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)lVar23;\n    FUN_00092d5e();\n    break;" case number_literal : (expression_statement "lVar23 = (longdouble)FUN_000925a2();" (assignment_expression "lVar23 = (longdouble)FUN_000925a2()" identifier = (cast_expression "(longdouble)FUN_000925a2()" ( (type_descriptor "longdouble" type_identifier) ) (call_expression "FUN_000925a2()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (uVar8 == 0x4d) {\n      lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      lVar23 = lVar24;\n    }\n    else {\n      if (uVar8 < 0x4e) {\n        if (uVar8 == 0x21) {\n          iVar7 = FUN_00092658();\n          if (iVar7 == 0) goto LAB_00094c15;\n          goto LAB_00094c2d;\n        }\n        if (uVar8 == 0x2d) {\n          lVar23 = -lVar23;\n        }\n        goto LAB_00094b8a;\n      }\n      if (uVar8 == 0x6d) {\n        lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      }\n      else if (uVar8 == 0x70) {\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n      }\n      else {\n        if (uVar8 != 0x50) goto LAB_00094b8a;\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n        lVar23 = lVar24;\n      }\n    }" if (parenthesized_expression "(uVar8 == 0x4d)" ( (binary_expression "uVar8 == 0x4d" identifier == number_literal) )) (compound_statement "{\n      lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      lVar23 = lVar24;\n    }" { (expression_statement "lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;" (assignment_expression "lVar24 = lVar23 - (longdouble)_DAT_000bc6f4" identifier = (binary_expression "lVar23 - (longdouble)_DAT_000bc6f4" identifier - (cast_expression "(longdouble)_DAT_000bc6f4" ( (type_descriptor "longdouble" type_identifier) ) identifier))) ;) (expression_statement "lVar23 = lVar24;" (assignment_expression "lVar23 = lVar24" identifier = identifier) ;) }) (else_clause "else {\n      if (uVar8 < 0x4e) {\n        if (uVar8 == 0x21) {\n          iVar7 = FUN_00092658();\n          if (iVar7 == 0) goto LAB_00094c15;\n          goto LAB_00094c2d;\n        }\n        if (uVar8 == 0x2d) {\n          lVar23 = -lVar23;\n        }\n        goto LAB_00094b8a;\n      }\n      if (uVar8 == 0x6d) {\n        lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      }\n      else if (uVar8 == 0x70) {\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n      }\n      else {\n        if (uVar8 != 0x50) goto LAB_00094b8a;\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n        lVar23 = lVar24;\n      }\n    }" else (compound_statement "{\n      if (uVar8 < 0x4e) {\n        if (uVar8 == 0x21) {\n          iVar7 = FUN_00092658();\n          if (iVar7 == 0) goto LAB_00094c15;\n          goto LAB_00094c2d;\n        }\n        if (uVar8 == 0x2d) {\n          lVar23 = -lVar23;\n        }\n        goto LAB_00094b8a;\n      }\n      if (uVar8 == 0x6d) {\n        lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      }\n      else if (uVar8 == 0x70) {\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n      }\n      else {\n        if (uVar8 != 0x50) goto LAB_00094b8a;\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n        lVar23 = lVar24;\n      }\n    }" { (if_statement "if (uVar8 < 0x4e) {\n        if (uVar8 == 0x21) {\n          iVar7 = FUN_00092658();\n          if (iVar7 == 0) goto LAB_00094c15;\n          goto LAB_00094c2d;\n        }\n        if (uVar8 == 0x2d) {\n          lVar23 = -lVar23;\n        }\n        goto LAB_00094b8a;\n      }" if (parenthesized_expression "(uVar8 < 0x4e)" ( (binary_expression "uVar8 < 0x4e" identifier < number_literal) )) (compound_statement "{\n        if (uVar8 == 0x21) {\n          iVar7 = FUN_00092658();\n          if (iVar7 == 0) goto LAB_00094c15;\n          goto LAB_00094c2d;\n        }\n        if (uVar8 == 0x2d) {\n          lVar23 = -lVar23;\n        }\n        goto LAB_00094b8a;\n      }" { (if_statement "if (uVar8 == 0x21) {\n          iVar7 = FUN_00092658();\n          if (iVar7 == 0) goto LAB_00094c15;\n          goto LAB_00094c2d;\n        }" if (parenthesized_expression "(uVar8 == 0x21)" ( (binary_expression "uVar8 == 0x21" identifier == number_literal) )) (compound_statement "{\n          iVar7 = FUN_00092658();\n          if (iVar7 == 0) goto LAB_00094c15;\n          goto LAB_00094c2d;\n        }" { (expression_statement "iVar7 = FUN_00092658();" (assignment_expression "iVar7 = FUN_00092658()" identifier = (call_expression "FUN_00092658()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar7 == 0) goto LAB_00094c15;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00094c15;" goto statement_identifier ;)) (goto_statement "goto LAB_00094c2d;" goto statement_identifier ;) })) (if_statement "if (uVar8 == 0x2d) {\n          lVar23 = -lVar23;\n        }" if (parenthesized_expression "(uVar8 == 0x2d)" ( (binary_expression "uVar8 == 0x2d" identifier == number_literal) )) (compound_statement "{\n          lVar23 = -lVar23;\n        }" { (expression_statement "lVar23 = -lVar23;" (assignment_expression "lVar23 = -lVar23" identifier = (unary_expression "-lVar23" - identifier)) ;) })) (goto_statement "goto LAB_00094b8a;" goto statement_identifier ;) })) (if_statement "if (uVar8 == 0x6d) {\n        lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      }\n      else if (uVar8 == 0x70) {\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n      }\n      else {\n        if (uVar8 != 0x50) goto LAB_00094b8a;\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n        lVar23 = lVar24;\n      }" if (parenthesized_expression "(uVar8 == 0x6d)" ( (binary_expression "uVar8 == 0x6d" identifier == number_literal) )) (compound_statement "{\n        lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      }" { (expression_statement "lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;" (assignment_expression "lVar24 = lVar23 - (longdouble)_DAT_000bc6f4" identifier = (binary_expression "lVar23 - (longdouble)_DAT_000bc6f4" identifier - (cast_expression "(longdouble)_DAT_000bc6f4" ( (type_descriptor "longdouble" type_identifier) ) identifier))) ;) }) (else_clause "else if (uVar8 == 0x70) {\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n      }\n      else {\n        if (uVar8 != 0x50) goto LAB_00094b8a;\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n        lVar23 = lVar24;\n      }" else (if_statement "if (uVar8 == 0x70) {\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n      }\n      else {\n        if (uVar8 != 0x50) goto LAB_00094b8a;\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n        lVar23 = lVar24;\n      }" if (parenthesized_expression "(uVar8 == 0x70)" ( (binary_expression "uVar8 == 0x70" identifier == number_literal) )) (compound_statement "{\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n      }" { (expression_statement "lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;" (assignment_expression "lVar24 = lVar23 + (longdouble)_DAT_000bc6f4" identifier = (binary_expression "lVar23 + (longdouble)_DAT_000bc6f4" identifier + (cast_expression "(longdouble)_DAT_000bc6f4" ( (type_descriptor "longdouble" type_identifier) ) identifier))) ;) }) (else_clause "else {\n        if (uVar8 != 0x50) goto LAB_00094b8a;\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n        lVar23 = lVar24;\n      }" else (compound_statement "{\n        if (uVar8 != 0x50) goto LAB_00094b8a;\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n        lVar23 = lVar24;\n      }" { (if_statement "if (uVar8 != 0x50) goto LAB_00094b8a;" if (parenthesized_expression "(uVar8 != 0x50)" ( (binary_expression "uVar8 != 0x50" identifier != number_literal) )) (goto_statement "goto LAB_00094b8a;" goto statement_identifier ;)) (expression_statement "lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;" (assignment_expression "lVar24 = lVar23 + (longdouble)_DAT_000bc6f4" identifier = (binary_expression "lVar23 + (longdouble)_DAT_000bc6f4" identifier + (cast_expression "(longdouble)_DAT_000bc6f4" ( (type_descriptor "longdouble" type_identifier) ) identifier))) ;) (expression_statement "lVar23 = lVar24;" (assignment_expression "lVar23 = lVar24" identifier = identifier) ;) }))))) }))) (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" identifier (argument_list "()" ( ))) ;) (expression_statement "*local_5c = *local_5c | 1;" (assignment_expression "*local_5c = *local_5c | 1" (pointer_expression "*local_5c" * identifier) = (binary_expression "*local_5c | 1" (pointer_expression "*local_5c" * identifier) | number_literal)) ;) (expression_statement "*(double *)(local_5c + 1) = (double)lVar24;" (assignment_expression "*(double *)(local_5c + 1) = (double)lVar24" (pointer_expression "*(double *)(local_5c + 1)" * (cast_expression "(double *)(local_5c + 1)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_5c + 1)" ( (binary_expression "local_5c + 1" identifier + number_literal) )))) = (cast_expression "(double)lVar24" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "FUN_00092d5e();" (call_expression "FUN_00092d5e()" identifier (argument_list "()" ( ))) ;) (expression_statement "lVar23 = (longdouble)(double)lVar23;" (assignment_expression "lVar23 = (longdouble)(double)lVar23" identifier = (cast_expression "(longdouble)(double)lVar23" ( (type_descriptor "longdouble" type_identifier) ) (cast_expression "(double)lVar23" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (labeled_statement "LAB_00094b8a:\n    FUN_0009227b();" statement_identifier : (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" identifier (argument_list "()" ( ))) ;)) (expression_statement "*local_78 = *local_78 | 1;" (assignment_expression "*local_78 = *local_78 | 1" (pointer_expression "*local_78" * identifier) = (binary_expression "*local_78 | 1" (pointer_expression "*local_78" * identifier) | number_literal)) ;) (expression_statement "*(double *)(local_78 + 1) = (double)lVar23;" (assignment_expression "*(double *)(local_78 + 1) = (double)lVar23" (pointer_expression "*(double *)(local_78 + 1)" * (cast_expression "(double *)(local_78 + 1)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_78 + 1)" ( (binary_expression "local_78 + 1" identifier + number_literal) )))) = (cast_expression "(double)lVar23" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "FUN_00092d5e();" (call_expression "FUN_00092d5e()" identifier (argument_list "()" ( ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x27:\n    local_78 = (uint *)local_80[2];\n    if (local_78 == *(uint **)(iVar6 + 0x50)) {\n      FUN_00092cc4();\n    }\nLAB_00094b15:\n    if (local_80[3] != 0) {\n      FUN_0009211c();\n      local_78 = (uint *)FUN_00093a51();\n    }\n    break;" case number_literal : (expression_statement "local_78 = (uint *)local_80[2];" (assignment_expression "local_78 = (uint *)local_80[2]" identifier = (cast_expression "(uint *)local_80[2]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_80[2]" identifier [ number_literal ]))) ;) (if_statement "if (local_78 == *(uint **)(iVar6 + 0x50)) {\n      FUN_00092cc4();\n    }" if (parenthesized_expression "(local_78 == *(uint **)(iVar6 + 0x50))" ( (binary_expression "local_78 == *(uint **)(iVar6 + 0x50)" identifier == (pointer_expression "*(uint **)(iVar6 + 0x50)" * (cast_expression "(uint **)(iVar6 + 0x50)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x50)" ( (binary_expression "iVar6 + 0x50" identifier + number_literal) ))))) )) (compound_statement "{\n      FUN_00092cc4();\n    }" { (expression_statement "FUN_00092cc4();" (call_expression "FUN_00092cc4()" identifier (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_00094b15:\n    if (local_80[3] != 0) {\n      FUN_0009211c();\n      local_78 = (uint *)FUN_00093a51();\n    }" statement_identifier : (if_statement "if (local_80[3] != 0) {\n      FUN_0009211c();\n      local_78 = (uint *)FUN_00093a51();\n    }" if (parenthesized_expression "(local_80[3] != 0)" ( (binary_expression "local_80[3] != 0" (subscript_expression "local_80[3]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      FUN_0009211c();\n      local_78 = (uint *)FUN_00093a51();\n    }" { (expression_statement "FUN_0009211c();" (call_expression "FUN_0009211c()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_78 = (uint *)FUN_00093a51();" (assignment_expression "local_78 = (uint *)FUN_00093a51()" identifier = (cast_expression "(uint *)FUN_00093a51()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00093a51()" identifier (argument_list "()" ( ))))) ;) }))) (break_statement "break;" break ;)) (case_statement "case 0x28:\n    goto switchD_00094a90_caseD_28;" case number_literal : (goto_statement "goto switchD_00094a90_caseD_28;" goto statement_identifier ;)) })) (labeled_statement "LAB_00094ab0:\n  local_7c = local_7c & 0xff00;" statement_identifier : (expression_statement "local_7c = local_7c & 0xff00;" (assignment_expression "local_7c = local_7c & 0xff00" identifier = (binary_expression "local_7c & 0xff00" identifier & number_literal)) ;)) (if_statement "if (local_7c < 0x601) {\n    local_80 = (uint *)local_80[4];\n    cVar1 = *(char *)(iVar6 + -6);\n  }\n  else {\n    if (0xfff < local_7c) {\nLAB_00094acb:\n      FUN_000938f0();\n      return local_78;\n    }\n    cVar1 = *(char *)(iVar6 + -6);\n  }" if (parenthesized_expression "(local_7c < 0x601)" ( (binary_expression "local_7c < 0x601" identifier < number_literal) )) (compound_statement "{\n    local_80 = (uint *)local_80[4];\n    cVar1 = *(char *)(iVar6 + -6);\n  }" { (expression_statement "local_80 = (uint *)local_80[4];" (assignment_expression "local_80 = (uint *)local_80[4]" identifier = (cast_expression "(uint *)local_80[4]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_80[4]" identifier [ number_literal ]))) ;) (expression_statement "cVar1 = *(char *)(iVar6 + -6);" (assignment_expression "cVar1 = *(char *)(iVar6 + -6)" identifier = (pointer_expression "*(char *)(iVar6 + -6)" * (cast_expression "(char *)(iVar6 + -6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -6)" ( (binary_expression "iVar6 + -6" identifier + number_literal) ))))) ;) }) (else_clause "else {\n    if (0xfff < local_7c) {\nLAB_00094acb:\n      FUN_000938f0();\n      return local_78;\n    }\n    cVar1 = *(char *)(iVar6 + -6);\n  }" else (compound_statement "{\n    if (0xfff < local_7c) {\nLAB_00094acb:\n      FUN_000938f0();\n      return local_78;\n    }\n    cVar1 = *(char *)(iVar6 + -6);\n  }" { (if_statement "if (0xfff < local_7c) {\nLAB_00094acb:\n      FUN_000938f0();\n      return local_78;\n    }" if (parenthesized_expression "(0xfff < local_7c)" ( (binary_expression "0xfff < local_7c" number_literal < identifier) )) (compound_statement "{\nLAB_00094acb:\n      FUN_000938f0();\n      return local_78;\n    }" { (labeled_statement "LAB_00094acb:\n      FUN_000938f0();" statement_identifier : (expression_statement "FUN_000938f0();" (call_expression "FUN_000938f0()" identifier (argument_list "()" ( ))) ;)) (return_statement "return local_78;" return identifier ;) })) (expression_statement "cVar1 = *(char *)(iVar6 + -6);" (assignment_expression "cVar1 = *(char *)(iVar6 + -6)" identifier = (pointer_expression "*(char *)(iVar6 + -6)" * (cast_expression "(char *)(iVar6 + -6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -6)" ( (binary_expression "iVar6 + -6" identifier + number_literal) ))))) ;) }))) (if_statement "if ((cVar1 != '\0') || (local_80 == (uint *)0x0)) goto LAB_00094acb;" if (parenthesized_expression "((cVar1 != '\0') || (local_80 == (uint *)0x0))" ( (binary_expression "(cVar1 != '\0') || (local_80 == (uint *)0x0)" (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(local_80 == (uint *)0x0)" ( (binary_expression "local_80 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (goto_statement "goto LAB_00094acb;" goto statement_identifier ;)) (goto_statement "goto LAB_000949b7;" goto statement_identifier ;) (labeled_statement "switchD_00094a90_caseD_b:\n  *(undefined1 *)(iVar6 + -6) = 1;" statement_identifier : (expression_statement "*(undefined1 *)(iVar6 + -6) = 1;" (assignment_expression "*(undefined1 *)(iVar6 + -6) = 1" (pointer_expression "*(undefined1 *)(iVar6 + -6)" * (cast_expression "(undefined1 *)(iVar6 + -6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -6)" ( (binary_expression "iVar6 + -6" identifier + number_literal) )))) = number_literal) ;)) (labeled_statement "switchD_00094a90_caseD_28:\n  FUN_0009227b();" statement_identifier : (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" identifier (argument_list "()" ( ))) ;)) (goto_statement "goto LAB_00094ab0;" goto statement_identifier ;) (labeled_statement "switchD_00094a90_caseD_7:\n  iVar7 = FUN_00092658();" statement_identifier : (expression_statement "iVar7 = FUN_00092658();" (assignment_expression "iVar7 = FUN_00092658()" identifier = (call_expression "FUN_00092658()" identifier (argument_list "()" ( )))) ;)) (if_statement "if (iVar7 == 0) {\n    local_80 = (uint *)local_80[3];\n  }\n  else {\nLAB_000956d3:\n    local_80 = (uint *)local_80[4];\n  }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n    local_80 = (uint *)local_80[3];\n  }" { (expression_statement "local_80 = (uint *)local_80[3];" (assignment_expression "local_80 = (uint *)local_80[3]" identifier = (cast_expression "(uint *)local_80[3]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_80[3]" identifier [ number_literal ]))) ;) }) (else_clause "else {\nLAB_000956d3:\n    local_80 = (uint *)local_80[4];\n  }" else (compound_statement "{\nLAB_000956d3:\n    local_80 = (uint *)local_80[4];\n  }" { (labeled_statement "LAB_000956d3:\n    local_80 = (uint *)local_80[4];" statement_identifier : (expression_statement "local_80 = (uint *)local_80[4];" (assignment_expression "local_80 = (uint *)local_80[4]" identifier = (cast_expression "(uint *)local_80[4]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_80[4]" identifier [ number_literal ]))) ;)) }))) (goto_statement "goto LAB_00094ab0;" goto statement_identifier ;) (labeled_statement "switchD_00094a90_caseD_0:\n  pcVar15 = "Possible syntax error";" statement_identifier : (expression_statement "pcVar15 = "Possible syntax error";" (assignment_expression "pcVar15 = "Possible syntax error"" identifier = (string_literal ""Possible syntax error"" " string_content ")) ;)) (labeled_statement "LAB_00094f35:\n                    /* WARNING: Subroutine does not return */\n  FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),*(undefined4 *)(iVar6 + -0x24),pcVar15);" statement_identifier : comment (expression_statement "FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),*(undefined4 *)(iVar6 + -0x24),pcVar15);" (call_expression "FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),*(undefined4 *)(iVar6 + -0x24),pcVar15)" identifier (argument_list "("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),*(undefined4 *)(iVar6 + -0x24),pcVar15)" ( (string_literal ""%s:%i: %s"" " string_content ") , (pointer_expression "*(undefined4 *)(iVar6 + -0x28)" * (cast_expression "(undefined4 *)(iVar6 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -0x28)" ( (binary_expression "iVar6 + -0x28" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar6 + -0x24)" * (cast_expression "(undefined4 *)(iVar6 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -0x24)" ( (binary_expression "iVar6 + -0x24" identifier + number_literal) )))) , identifier ))) ;)) }))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvar_conflict * evaluate(node_conflict *op,var_conflict *res)\n\n{\n}\n\n" comment (function_definition "var_conflict * evaluate(node_conflict *op,var_conflict *res)\n\n{\n}" type_identifier (pointer_declarator "* evaluate(node_conflict *op,var_conflict *res)" * (function_declarator "evaluate(node_conflict *op,var_conflict *res)" identifier (parameter_list "(node_conflict *op,var_conflict *res)" ( (parameter_declaration "node_conflict *op" type_identifier (pointer_declarator "*op" * identifier)) , (parameter_declaration "var_conflict *res" type_identifier (pointer_declarator "*res" * identifier)) )))) (compound_statement "{\n}" { })))
(translation_unit "uint * __regparm3 FUN_00094969(uint *param_1,uint *param_2)\n\n{\n  char cVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined *puVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  uint uVar8;\n  regex_t *__preg;\n  int *piVar9;\n  FILE *pFVar10;\n  undefined4 *puVar11;\n  uint *puVar12;\n  size_t sVar13;\n  time_t tVar14;\n  char *pcVar15;\n  char *pcVar16;\n  undefined1 *puVar17;\n  uint *puVar18;\n  byte *pbVar19;\n  undefined4 extraout_EDX;\n  int iVar20;\n  uint uVar21;\n  uint *puVar22;\n  longdouble lVar23;\n  longdouble lVar24;\n  uint *local_80;\n  uint local_7c;\n  uint *local_78;\n  double local_74;\n  uint *local_6c;\n  char *local_68;\n  double local_64;\n  uint *local_5c;\n  char *local_4c;\n  uint local_48;\n  uint local_34;\n  \n  if (param_1 == (uint *)0x0) {\n    FUN_0009227b();\n    param_2[3] = 0;\n    FUN_00092d5e();\n    return param_2;\n  }\n  FUN_00092151();\n  iVar6 = DAT_000d1700;\n  piVar5 = DAT_000d16fc;\n  puVar4 = PTR_stdout_000d0fb4;\n  local_80 = param_1;\n  local_78 = param_2;\nLAB_000949b7:\n  local_7c = *local_80;\n  uVar8 = local_80[1];\n  *(uint *)(iVar6 + -0x24) = uVar8;\n  puVar18 = (uint *)local_80[2];\n  uVar21 = local_7c >> 8 & 0xff;\n  if (uVar21 == 1) {\n    if (((*puVar18 & 0xff00) != 0x2700) && ((*puVar18 & 0xff00) != 0x1800)) {\n                    \n      FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),uVar8,"Not an array");\n    }\n    if (puVar18[3] == 0) {\n      FUN_0009211c();\n      FUN_0009234a();\n    }\n    else {\n      FUN_00094969();\n      FUN_0009295c();\n      FUN_0009211c();\n      FUN_0009269c();\n    }\n    goto LAB_00094ab0;\n  }\n  if ((local_7c & 0x10000) != 0) {\n    local_6c = (uint *)FUN_00094969();\n  }\n  if ((local_7c & 0x20000) != 0) {\n    local_5c = (uint *)FUN_00094969();\n  }\n  if ((local_7c & 0x40000) != 0) {\n    local_68 = (char *)FUN_0009295c();\n  }\n  if ((local_7c & 0x80000) != 0) {\n    local_4c = (char *)FUN_0009295c();\n  }\n  if ((local_7c & 0x100000) != 0) {\n    lVar23 = (longdouble)FUN_000925a2();\n    local_74 = (double)lVar23;\n  }\n  uVar8 = local_7c & 0x7f;\n  switch(uVar21) {\n  default:\n    goto switchD_00094a90_caseD_0;\n  case 2:\n    break;\n  case 3:\n    *(uint *)(iVar6 + -0x28) = local_80[2];\n    break;\n  case 4:\n  case 5:\n    if (local_80[3] == 0) {\n      pFVar10 = *(FILE **)PTR_stdout_000d0fb4;\n    }\n    else {\n      piVar9 = (int *)FUN_00093a51();\n      pFVar10 = (FILE *)*piVar9;\n      if (pFVar10 == (FILE *)0x0) {\n        if (uVar8 == 0x7c) {\n          pFVar10 = popen(local_4c,"w");\n          *piVar9 = (int)pFVar10;\n          if (pFVar10 == (FILE *)0x0) {\n                    \n            FUN_00018e79("popen");\n          }\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_00019c3e();\n          *piVar9 = (int)pFVar10;\n        }\n      }\n    }\n    if ((local_7c & 0xff00) == 0x400) {\n      if (puVar18 == (uint *)0x0) {\n        pcVar15 = (char *)FUN_0009295c();\n        fputs_unlocked(pcVar15,pFVar10);\n      }\n      else {\n        while( true ) {\n          puVar22 = (uint *)0x0;\n          if ((*puVar18 & 0xff00) == 0x1300) {\n            puVar22 = (uint *)puVar18[3];\n          }\n          puVar18 = puVar22;\n          pbVar19 = (byte *)FUN_00094969();\n          if ((*pbVar19 & 1) == 0) {\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }\n          else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }\n          if (puVar18 == (uint *)0x0) break;\n          pcVar15 = (char *)FUN_0009295c();\n          fputs_unlocked(pcVar15,pFVar10);\n        }\n      }\n      pcVar15 = (char *)FUN_0009295c();\n      fputs_unlocked(pcVar15,pFVar10);\n      fflush(pFVar10);\n    }\n    else {\n      pcVar15 = (char *)FUN_00095fab();\n      fputs_unlocked(pcVar15,pFVar10);\n      free(pcVar15);\n      fflush(pFVar10);\n    }\n    break;\n  case 6:\n    iVar7 = FUN_0009211c();\n    if ((*local_6c & 0x800) == 0) {\n      *local_6c = *local_6c | 0x800;\n      uVar8 = 0;\n    }\n    else {\n      uVar8 = local_6c[4];\n    }\n    piVar9 = (int *)FUN_00019b89();\n    local_6c[4] = (uint)piVar9;\n    *piVar9 = (int)(piVar9 + 3);\n    piVar9[1] = (int)(piVar9 + 3);\n    piVar9[2] = uVar8;\n    if (*(int *)(iVar7 + 4) != 0) {\n      uVar8 = 0;\n      do {\n        iVar20 = *(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4);\n        if (iVar20 != 0) {\n          pcVar15 = (char *)*piVar9;\n          do {\n            strcpy(pcVar15,(char *)(iVar20 + 0x1c));\n            pcVar16 = (char *)*piVar9;\n            do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');\n            iVar20 = *(int *)(iVar20 + 0x18);\n          } while (iVar20 != 0);\n        }\n        uVar8 = uVar8 + 1;\n      } while (uVar8 < *(uint *)(iVar7 + 4));\n    }\n    break;\n  case 7:\n    goto switchD_00094a90_caseD_7;\n  case 10:\n    FUN_00095b2f();\n    goto switchD_00094a90_caseD_7;\n  case 0xb:\n    goto switchD_00094a90_caseD_b;\n  case 0xc:\n    *(undefined1 *)(iVar6 + -5) = 1;\n    goto switchD_00094a90_caseD_b;\n  case 0xd:\n    if ((*puVar18 & 0xff00) != 0x1300) {\n      iVar7 = FUN_00096324();\n      if (iVar7 != 0) goto LAB_000956d3;\n      local_80 = (uint *)local_80[3];\n      break;\n    }\n    if (((local_7c & 0x200000) == 0) && (iVar7 = FUN_00096324(), iVar7 == 0)) {\n      local_80 = (uint *)local_80[3];\n      break;\n    }\n    *local_80 = *local_80 | 0x200000;\n    iVar7 = FUN_00096324();\n    if (iVar7 != 0) {\n      *local_80 = *local_80 & 0xffdfffff;\n    }\n    goto LAB_000956d3;\n  case 0xe:\n    puVar18 = (uint *)local_6c[4];\n    pcVar15 = (char *)puVar18[1];\n    if (pcVar15 < (char *)*puVar18) {\n      do {\n        puVar18[1] = (uint)(pcVar15 + 1);\n        cVar1 = *pcVar15;\n        pcVar15 = pcVar15 + 1;\n      } while (cVar1 != '\0');\n      FUN_00093016();\n      goto LAB_000956d3;\n    }\n    uVar8 = puVar18[2];\n    free(puVar18);\n    local_6c[4] = uVar8;\n    local_80 = (uint *)local_80[3];\n    break;\n  case 0x10:\n  case 0x22:\n    lVar23 = (longdouble)FUN_000925a2();\n    switch(uVar8) {\n    case 0x25:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40) {\nLAB_00095638:\n        pcVar15 = "Division by zero";\n        goto LAB_00094f35;\n      }\n      local_74 = (double)((longdouble)local_74 -\n                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23);\n      break;\n    case 0x26:\nswitchD_000950ee_caseD_2:\n      pcVar15 = "Math support is not compiled in";\n      goto LAB_00094f35;\n    case 0x27:\n    case 0x28:\n    case 0x29:\n    case 0x2c:\n    case 0x2e:\n      break;\n    case 0x2a:\n      local_74 = (double)(lVar23 * (longdouble)local_74);\n      break;\n    case 0x2b:\n      local_74 = (double)(lVar23 + (longdouble)local_74);\n      break;\n    case 0x2d:\n      local_74 = (double)((longdouble)local_74 - lVar23);\n      break;\n    case 0x2f:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)\n      goto LAB_00095638;\n      local_74 = (double)((longdouble)local_74 / lVar23);\n    }\n    if ((local_7c & 0xff00) != 0x1000) {\n      local_78 = local_6c;\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = local_74;\n    FUN_00092d5e();\n    break;\n  case 0x11:\n    local_78 = (uint *)FUN_00093dbd();\n    break;\n  case 0x13:\n  case 0x15:\n    puVar17 = &DAT_000cd91f;\n    if ((local_7c & 0xff00) == 0x1300) {\n      puVar17 = (undefined1 *)FUN_0009295c();\n    }\n    uVar8 = FUN_00019fd7("%s%s%s",local_68,puVar17,local_4c);\n    FUN_0009227b();\n    local_78[3] = uVar8;\n    FUN_00092d5e();\n    break;\n  case 0x14:\n    FUN_000925a2();\n    if (((((ushort)*local_6c ^ 0x4000) & 0x4201) == 0) ||\n       (FUN_000925a2(), (((ushort)*local_5c ^ 0x4000) & 0x4201) == 0)) {\n      pcVar15 = (char *)FUN_0009295c();\n      pcVar16 = (char *)FUN_0009295c();\n      if (*(char *)(iVar6 + -8) == '\0') {\n        iVar7 = strcmp(pcVar15,pcVar16);\n        lVar23 = (longdouble)iVar7;\n        goto joined_r0x0009536c;\n      }\n      iVar7 = strcasecmp(pcVar15,pcVar16);\n      lVar23 = (longdouble)iVar7;\n      if ((local_7c & 0x7e) != 2) goto LAB_00095372;\nLAB_000952b4:\n      local_48 = (uint)((longdouble)0 <= lVar23);\n    }\n    else {\n      lVar24 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)(double)lVar24 - lVar23;\njoined_r0x0009536c:\n      if ((local_7c & 0x7e) == 2) goto LAB_000952b4;\nLAB_00095372:\n      if ((local_7c & 0x7e) == 4) {\n        lVar24 = (longdouble)0;\n        local_48 = (uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40);\n      }\n      else if ((local_7c & 0x7e) == 0) {\n        local_48 = (uint)((longdouble)0 < lVar23);\n      }\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)(int)(local_7c & 1 ^ local_48 ^ 1);\n    FUN_00092d5e();\n    break;\n  case 0x16:\n    switch(uVar8) {\n    case 0:\n      local_64 = (double)(longlong)ROUND(local_74);\n      break;\n    case 1:\n      iVar7 = rand();\n      local_64 = (double)iVar7 / DAT_000b65c0;\n      break;\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n      goto switchD_000950ee_caseD_2;\n    case 7:\n      uVar8 = *(uint *)(iVar6 + 0x8c);\n      if (puVar18 == (uint *)0x0) {\n        local_34 = time((time_t *)0x0);\n      }\n      else {\n        local_34 = (uint)(longlong)ROUND(local_74);\n      }\n      local_64 = (double)(ulonglong)uVar8;\n      local_64 = (double)(longlong)local_64;\n      *(uint *)(iVar6 + 0x8c) = local_34;\n      srand(local_34);\n      break;\n    case 8:\n      tVar14 = time((time_t *)0x0);\n      local_64 = (double)tVar14;\n      break;\n    case 9:\n      if (puVar18 == (uint *)0x0) {\n        local_68 = (char *)FUN_0009295c();\n      }\n      else if ((*local_6c & 2) != 0) {\n        local_64 = (double)(ulonglong)*(uint *)local_6c[4];\n        local_64 = (double)(longlong)local_64;\n        break;\n      }\n      sVar13 = strlen(local_68);\n      local_64 = (double)(ulonglong)sVar13;\n      local_64 = (double)(longlong)local_64;\n      break;\n    case 10:\n      FUN_00019f78();\n      if (local_68 == (char *)0x0) {\n        local_64 = 0.0;\n      }\n      else if (*local_68 == '\0') {\n        local_64 = 0.0;\n      }\n      else {\n        iVar7 = system(local_68);\n        local_64 = (double)(iVar7 >> 8);\n      }\n      break;\n    case 0xb:\n      if (puVar18 == (uint *)0x0) {\n        fflush(*(FILE **)puVar4);\n      }\n      else if ((local_68 == (char *)0x0) || (*local_68 == '\0')) {\n        FUN_00019f78();\n      }\n      else {\n        puVar11 = (undefined4 *)FUN_00093a51();\n        fflush((FILE *)*puVar11);\n      }\n      break;\n    case 0xc:\n      puVar11 = (undefined4 *)FUN_000939df();\n      if (puVar11 == (undefined4 *)0x0) {\n        local_64 = 0.0;\n      }\n      else {\n        pFVar10 = (FILE *)*puVar11;\n        if (pFVar10 == (FILE *)0x0) {\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          local_64 = 0.0;\n        }\n        else {\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }\n      }\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = local_64;\n    FUN_00092d5e();\n    break;\n  case 0x17:\n    lVar23 = (longdouble)FUN_000925a2();\n    iVar7 = (int)ROUND(lVar23);\n    if (iVar7 < 0) {\n      pcVar15 = "Access to negative field";\n      goto LAB_00094f35;\n    }\n    if (iVar7 == 0) {\n      local_78 = *(uint **)(iVar6 + 0x34);\n    }\n    else {\n      FUN_00092cc4();\n      if (*(int *)(iVar6 + -0x20) < iVar7) {\n        FUN_000922c0();\n      }\n      local_78 = (uint *)(*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14);\n    }\n    break;\n  case 0x18:\n    local_78 = (uint *)(*(int *)(iVar6 + 0x88) + local_80[2] * 0x14);\n    goto LAB_00094b15;\n  case 0x19:\n    if ((*(int *)local_80[3] == 0) && (((int *)local_80[3])[1] == 0)) {\n      pcVar15 = "Call to undefined function";\n      goto LAB_00094f35;\n    }\n    puVar12 = (uint *)FUN_00092151();\n    puVar22 = puVar12;\n    if (puVar18 != (uint *)0x0) {\n      while ((*puVar18 & 0xff00) == 0x1300) {\n        puVar18 = (uint *)puVar18[3];\n        uVar8 = FUN_00094969();\n        FUN_00093453();\n        *puVar22 = *puVar22 | 0x2000;\n        puVar22[4] = uVar8;\n        if ((*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))\n           || (puVar22 = puVar22 + 5, puVar18 == (uint *)0x0)) goto LAB_00094fd5;\n      }\n      uVar8 = FUN_00094969();\n      FUN_00093453();\n      *puVar22 = *puVar22 | 0x2000;\n      puVar22[4] = uVar8;\n    }\nLAB_00094fd5:\n    uVar2 = *(undefined4 *)(iVar6 + 0x88);\n    *(uint **)(iVar6 + 0x88) = puVar12;\n    uVar3 = *(undefined4 *)(iVar6 + -0x28);\n    local_78 = (uint *)FUN_00094969();\n    *(undefined4 *)(iVar6 + -0x28) = uVar3;\n    FUN_000938f0();\n    *(undefined4 *)(iVar6 + 0x88) = uVar2;\n    break;\n  case 0x1a:\n  case 0x20:\n    if (puVar18 == (uint *)0x0) {\n      puVar11 = *(undefined4 **)(iVar6 + -0x3c);\n      if (puVar11 != (undefined4 *)0x0) {\nLAB_00094e49:\n        pFVar10 = (FILE *)*puVar11;\n        goto LAB_00094e4b;\n      }\n      puVar11 = (undefined4 *)FUN_00093cca();\n      *(undefined4 **)(iVar6 + -0x3c) = puVar11;\n      if (puVar11 != (undefined4 *)0x0) goto LAB_00094e49;\nLAB_00094e4f:\n      iVar7 = *DAT_000d16fc;\n      puVar18 = *(uint **)(iVar6 + 0x44);\n      FUN_0009227b();\n      *puVar18 = *puVar18 | 1;\n      *(double *)(puVar18 + 1) = (double)iVar7;\n      FUN_00092d5e();\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      local_78[1] = 0;\n      local_78[2] = 0xbff00000;\n      FUN_00092d5e();\n    }\n    else {\n      piVar9 = (int *)FUN_00093a51();\n      if (*piVar9 == 0) {\n        if ((local_7c & 0xff00) == 0x2000) {\n          pFVar10 = popen(local_68,"r");\n          *piVar9 = (int)pFVar10;\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_0001923e();\n          *piVar9 = (int)pFVar10;\n        }\nLAB_00094e4b:\n        if (pFVar10 == (FILE *)0x0) goto LAB_00094e4f;\n      }\n      if (local_80[3] == 0) {\n        local_5c = *(uint **)(iVar6 + 0x34);\n      }\n      iVar7 = FUN_0009307e();\n      if ((0 < iVar7) && (puVar18 == (uint *)0x0)) {\n        FUN_0009304a();\n        FUN_0009304a();\n      }\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      *(double *)(local_78 + 1) = (double)iVar7;\n      FUN_00092d5e();\n    }\n    break;\n  case 0x1b:\n    FUN_0009211c();\n    iVar7 = FUN_000939df();\n    if (iVar7 == 0) {\nLAB_00094c2d:\n      lVar23 = (longdouble)0;\n    }\n    else {\n      lVar23 = (longdouble)1;\n    }\n    goto LAB_00094b8a;\n  case 0x1c:\n    iVar7 = FUN_00092658();\n    if (iVar7 == 0) goto LAB_00094c2d;\nLAB_00094da9:\n    iVar7 = FUN_00096324();\n    lVar23 = (longdouble)iVar7;\n    goto LAB_00094b8a;\n  case 0x1d:\n    iVar7 = FUN_00092658();\n    if (iVar7 == 0) goto LAB_00094da9;\nLAB_00094c15:\n    lVar23 = (longdouble)1;\n    goto LAB_00094b8a;\n  case 0x1e:\n    goto LAB_00094ce7;\n  case 0x1f:\n    local_78 = (uint *)FUN_00093453();\n    break;\n  case 0x21:\n    local_68 = (char *)FUN_0009295c();\nLAB_00094ce7:\n    __preg = (regex_t *)FUN_00095bc7();\n    iVar7 = regexec(__preg,local_68,0,(regmatch_t *)0x0,0);\n    if ((regex_t *)(iVar6 + 0x90) == __preg) {\n      regfree((regex_t *)(iVar6 + 0x90));\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)((iVar7 == 0) != (uVar8 == 0x21));\n    FUN_00092d5e();\n    break;\n  case 0x23:\n    FUN_00093453();\n    break;\n  case 0x24:\n    uVar8 = FUN_00095fab();\n    FUN_0009227b();\n    local_78[3] = uVar8;\n    FUN_00092d5e();\n    break;\n  case 0x25:\n    if ((*(uint *)local_80[3] & 0xff00) == 0x1200) {\n      FUN_00092658();\n      local_78 = (uint *)FUN_00094969();\n      break;\n    }\n    goto switchD_00094a90_caseD_0;\n  case 0x26:\n    lVar23 = (longdouble)FUN_000925a2();\n    if (uVar8 == 0x4d) {\n      lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      lVar23 = lVar24;\n    }\n    else {\n      if (uVar8 < 0x4e) {\n        if (uVar8 == 0x21) {\n          iVar7 = FUN_00092658();\n          if (iVar7 == 0) goto LAB_00094c15;\n          goto LAB_00094c2d;\n        }\n        if (uVar8 == 0x2d) {\n          lVar23 = -lVar23;\n        }\n        goto LAB_00094b8a;\n      }\n      if (uVar8 == 0x6d) {\n        lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      }\n      else if (uVar8 == 0x70) {\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n      }\n      else {\n        if (uVar8 != 0x50) goto LAB_00094b8a;\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n        lVar23 = lVar24;\n      }\n    }\n    FUN_0009227b();\n    *local_5c = *local_5c | 1;\n    *(double *)(local_5c + 1) = (double)lVar24;\n    FUN_00092d5e();\n    lVar23 = (longdouble)(double)lVar23;\nLAB_00094b8a:\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)lVar23;\n    FUN_00092d5e();\n    break;\n  case 0x27:\n    local_78 = (uint *)local_80[2];\n    if (local_78 == *(uint **)(iVar6 + 0x50)) {\n      FUN_00092cc4();\n    }\nLAB_00094b15:\n    if (local_80[3] != 0) {\n      FUN_0009211c();\n      local_78 = (uint *)FUN_00093a51();\n    }\n    break;\n  case 0x28:\n    goto switchD_00094a90_caseD_28;\n  }\nLAB_00094ab0:\n  local_7c = local_7c & 0xff00;\n  if (local_7c < 0x601) {\n    local_80 = (uint *)local_80[4];\n    cVar1 = *(char *)(iVar6 + -6);\n  }\n  else {\n    if (0xfff < local_7c) {\nLAB_00094acb:\n      FUN_000938f0();\n      return local_78;\n    }\n    cVar1 = *(char *)(iVar6 + -6);\n  }\n  if ((cVar1 != '\0') || (local_80 == (uint *)0x0)) goto LAB_00094acb;\n  goto LAB_000949b7;\nswitchD_00094a90_caseD_b:\n  *(undefined1 *)(iVar6 + -6) = 1;\nswitchD_00094a90_caseD_28:\n  FUN_0009227b();\n  goto LAB_00094ab0;\nswitchD_00094a90_caseD_7:\n  iVar7 = FUN_00092658();\n  if (iVar7 == 0) {\n    local_80 = (uint *)local_80[3];\n  }\n  else {\nLAB_000956d3:\n    local_80 = (uint *)local_80[4];\n  }\n  goto LAB_00094ab0;\nswitchD_00094a90_caseD_0:\n  pcVar15 = "Possible syntax error";\nLAB_00094f35:\n                    \n  FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),*(undefined4 *)(iVar6 + -0x24),pcVar15);\n}\n\n" (ERROR "uint * __regparm3 FUN_00094969(uint *param_1,uint *param_2)" (binary_expression "uint * __regparm3 FUN_00094969(uint *param_1,uint *param_2)" identifier * (ERROR "__regparm3" identifier) (call_expression "FUN_00094969(uint *param_1,uint *param_2)" identifier (argument_list "(uint *param_1,uint *param_2)" ( (binary_expression "uint *param_1" identifier * identifier) , (binary_expression "uint *param_2" identifier * identifier) ))))) (compound_statement "{\n  char cVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined *puVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  uint uVar8;\n  regex_t *__preg;\n  int *piVar9;\n  FILE *pFVar10;\n  undefined4 *puVar11;\n  uint *puVar12;\n  size_t sVar13;\n  time_t tVar14;\n  char *pcVar15;\n  char *pcVar16;\n  undefined1 *puVar17;\n  uint *puVar18;\n  byte *pbVar19;\n  undefined4 extraout_EDX;\n  int iVar20;\n  uint uVar21;\n  uint *puVar22;\n  longdouble lVar23;\n  longdouble lVar24;\n  uint *local_80;\n  uint local_7c;\n  uint *local_78;\n  double local_74;\n  uint *local_6c;\n  char *local_68;\n  double local_64;\n  uint *local_5c;\n  char *local_4c;\n  uint local_48;\n  uint local_34;\n  \n  if (param_1 == (uint *)0x0) {\n    FUN_0009227b();\n    param_2[3] = 0;\n    FUN_00092d5e();\n    return param_2;\n  }\n  FUN_00092151();\n  iVar6 = DAT_000d1700;\n  piVar5 = DAT_000d16fc;\n  puVar4 = PTR_stdout_000d0fb4;\n  local_80 = param_1;\n  local_78 = param_2;\nLAB_000949b7:\n  local_7c = *local_80;\n  uVar8 = local_80[1];\n  *(uint *)(iVar6 + -0x24) = uVar8;\n  puVar18 = (uint *)local_80[2];\n  uVar21 = local_7c >> 8 & 0xff;\n  if (uVar21 == 1) {\n    if (((*puVar18 & 0xff00) != 0x2700) && ((*puVar18 & 0xff00) != 0x1800)) {\n                    \n      FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),uVar8,"Not an array");\n    }\n    if (puVar18[3] == 0) {\n      FUN_0009211c();\n      FUN_0009234a();\n    }\n    else {\n      FUN_00094969();\n      FUN_0009295c();\n      FUN_0009211c();\n      FUN_0009269c();\n    }\n    goto LAB_00094ab0;\n  }\n  if ((local_7c & 0x10000) != 0) {\n    local_6c = (uint *)FUN_00094969();\n  }\n  if ((local_7c & 0x20000) != 0) {\n    local_5c = (uint *)FUN_00094969();\n  }\n  if ((local_7c & 0x40000) != 0) {\n    local_68 = (char *)FUN_0009295c();\n  }\n  if ((local_7c & 0x80000) != 0) {\n    local_4c = (char *)FUN_0009295c();\n  }\n  if ((local_7c & 0x100000) != 0) {\n    lVar23 = (longdouble)FUN_000925a2();\n    local_74 = (double)lVar23;\n  }\n  uVar8 = local_7c & 0x7f;\n  switch(uVar21) {\n  default:\n    goto switchD_00094a90_caseD_0;\n  case 2:\n    break;\n  case 3:\n    *(uint *)(iVar6 + -0x28) = local_80[2];\n    break;\n  case 4:\n  case 5:\n    if (local_80[3] == 0) {\n      pFVar10 = *(FILE **)PTR_stdout_000d0fb4;\n    }\n    else {\n      piVar9 = (int *)FUN_00093a51();\n      pFVar10 = (FILE *)*piVar9;\n      if (pFVar10 == (FILE *)0x0) {\n        if (uVar8 == 0x7c) {\n          pFVar10 = popen(local_4c,"w");\n          *piVar9 = (int)pFVar10;\n          if (pFVar10 == (FILE *)0x0) {\n                    \n            FUN_00018e79("popen");\n          }\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_00019c3e();\n          *piVar9 = (int)pFVar10;\n        }\n      }\n    }\n    if ((local_7c & 0xff00) == 0x400) {\n      if (puVar18 == (uint *)0x0) {\n        pcVar15 = (char *)FUN_0009295c();\n        fputs_unlocked(pcVar15,pFVar10);\n      }\n      else {\n        while( true ) {\n          puVar22 = (uint *)0x0;\n          if ((*puVar18 & 0xff00) == 0x1300) {\n            puVar22 = (uint *)puVar18[3];\n          }\n          puVar18 = puVar22;\n          pbVar19 = (byte *)FUN_00094969();\n          if ((*pbVar19 & 1) == 0) {\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }\n          else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }\n          if (puVar18 == (uint *)0x0) break;\n          pcVar15 = (char *)FUN_0009295c();\n          fputs_unlocked(pcVar15,pFVar10);\n        }\n      }\n      pcVar15 = (char *)FUN_0009295c();\n      fputs_unlocked(pcVar15,pFVar10);\n      fflush(pFVar10);\n    }\n    else {\n      pcVar15 = (char *)FUN_00095fab();\n      fputs_unlocked(pcVar15,pFVar10);\n      free(pcVar15);\n      fflush(pFVar10);\n    }\n    break;\n  case 6:\n    iVar7 = FUN_0009211c();\n    if ((*local_6c & 0x800) == 0) {\n      *local_6c = *local_6c | 0x800;\n      uVar8 = 0;\n    }\n    else {\n      uVar8 = local_6c[4];\n    }\n    piVar9 = (int *)FUN_00019b89();\n    local_6c[4] = (uint)piVar9;\n    *piVar9 = (int)(piVar9 + 3);\n    piVar9[1] = (int)(piVar9 + 3);\n    piVar9[2] = uVar8;\n    if (*(int *)(iVar7 + 4) != 0) {\n      uVar8 = 0;\n      do {\n        iVar20 = *(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4);\n        if (iVar20 != 0) {\n          pcVar15 = (char *)*piVar9;\n          do {\n            strcpy(pcVar15,(char *)(iVar20 + 0x1c));\n            pcVar16 = (char *)*piVar9;\n            do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');\n            iVar20 = *(int *)(iVar20 + 0x18);\n          } while (iVar20 != 0);\n        }\n        uVar8 = uVar8 + 1;\n      } while (uVar8 < *(uint *)(iVar7 + 4));\n    }\n    break;\n  case 7:\n    goto switchD_00094a90_caseD_7;\n  case 10:\n    FUN_00095b2f();\n    goto switchD_00094a90_caseD_7;\n  case 0xb:\n    goto switchD_00094a90_caseD_b;\n  case 0xc:\n    *(undefined1 *)(iVar6 + -5) = 1;\n    goto switchD_00094a90_caseD_b;\n  case 0xd:\n    if ((*puVar18 & 0xff00) != 0x1300) {\n      iVar7 = FUN_00096324();\n      if (iVar7 != 0) goto LAB_000956d3;\n      local_80 = (uint *)local_80[3];\n      break;\n    }\n    if (((local_7c & 0x200000) == 0) && (iVar7 = FUN_00096324(), iVar7 == 0)) {\n      local_80 = (uint *)local_80[3];\n      break;\n    }\n    *local_80 = *local_80 | 0x200000;\n    iVar7 = FUN_00096324();\n    if (iVar7 != 0) {\n      *local_80 = *local_80 & 0xffdfffff;\n    }\n    goto LAB_000956d3;\n  case 0xe:\n    puVar18 = (uint *)local_6c[4];\n    pcVar15 = (char *)puVar18[1];\n    if (pcVar15 < (char *)*puVar18) {\n      do {\n        puVar18[1] = (uint)(pcVar15 + 1);\n        cVar1 = *pcVar15;\n        pcVar15 = pcVar15 + 1;\n      } while (cVar1 != '\0');\n      FUN_00093016();\n      goto LAB_000956d3;\n    }\n    uVar8 = puVar18[2];\n    free(puVar18);\n    local_6c[4] = uVar8;\n    local_80 = (uint *)local_80[3];\n    break;\n  case 0x10:\n  case 0x22:\n    lVar23 = (longdouble)FUN_000925a2();\n    switch(uVar8) {\n    case 0x25:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40) {\nLAB_00095638:\n        pcVar15 = "Division by zero";\n        goto LAB_00094f35;\n      }\n      local_74 = (double)((longdouble)local_74 -\n                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23);\n      break;\n    case 0x26:\nswitchD_000950ee_caseD_2:\n      pcVar15 = "Math support is not compiled in";\n      goto LAB_00094f35;\n    case 0x27:\n    case 0x28:\n    case 0x29:\n    case 0x2c:\n    case 0x2e:\n      break;\n    case 0x2a:\n      local_74 = (double)(lVar23 * (longdouble)local_74);\n      break;\n    case 0x2b:\n      local_74 = (double)(lVar23 + (longdouble)local_74);\n      break;\n    case 0x2d:\n      local_74 = (double)((longdouble)local_74 - lVar23);\n      break;\n    case 0x2f:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)\n      goto LAB_00095638;\n      local_74 = (double)((longdouble)local_74 / lVar23);\n    }\n    if ((local_7c & 0xff00) != 0x1000) {\n      local_78 = local_6c;\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = local_74;\n    FUN_00092d5e();\n    break;\n  case 0x11:\n    local_78 = (uint *)FUN_00093dbd();\n    break;\n  case 0x13:\n  case 0x15:\n    puVar17 = &DAT_000cd91f;\n    if ((local_7c & 0xff00) == 0x1300) {\n      puVar17 = (undefined1 *)FUN_0009295c();\n    }\n    uVar8 = FUN_00019fd7("%s%s%s",local_68,puVar17,local_4c);\n    FUN_0009227b();\n    local_78[3] = uVar8;\n    FUN_00092d5e();\n    break;\n  case 0x14:\n    FUN_000925a2();\n    if (((((ushort)*local_6c ^ 0x4000) & 0x4201) == 0) ||\n       (FUN_000925a2(), (((ushort)*local_5c ^ 0x4000) & 0x4201) == 0)) {\n      pcVar15 = (char *)FUN_0009295c();\n      pcVar16 = (char *)FUN_0009295c();\n      if (*(char *)(iVar6 + -8) == '\0') {\n        iVar7 = strcmp(pcVar15,pcVar16);\n        lVar23 = (longdouble)iVar7;\n        goto joined_r0x0009536c;\n      }\n      iVar7 = strcasecmp(pcVar15,pcVar16);\n      lVar23 = (longdouble)iVar7;\n      if ((local_7c & 0x7e) != 2) goto LAB_00095372;\nLAB_000952b4:\n      local_48 = (uint)((longdouble)0 <= lVar23);\n    }\n    else {\n      lVar24 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)(double)lVar24 - lVar23;\njoined_r0x0009536c:\n      if ((local_7c & 0x7e) == 2) goto LAB_000952b4;\nLAB_00095372:\n      if ((local_7c & 0x7e) == 4) {\n        lVar24 = (longdouble)0;\n        local_48 = (uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40);\n      }\n      else if ((local_7c & 0x7e) == 0) {\n        local_48 = (uint)((longdouble)0 < lVar23);\n      }\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)(int)(local_7c & 1 ^ local_48 ^ 1);\n    FUN_00092d5e();\n    break;\n  case 0x16:\n    switch(uVar8) {\n    case 0:\n      local_64 = (double)(longlong)ROUND(local_74);\n      break;\n    case 1:\n      iVar7 = rand();\n      local_64 = (double)iVar7 / DAT_000b65c0;\n      break;\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n      goto switchD_000950ee_caseD_2;\n    case 7:\n      uVar8 = *(uint *)(iVar6 + 0x8c);\n      if (puVar18 == (uint *)0x0) {\n        local_34 = time((time_t *)0x0);\n      }\n      else {\n        local_34 = (uint)(longlong)ROUND(local_74);\n      }\n      local_64 = (double)(ulonglong)uVar8;\n      local_64 = (double)(longlong)local_64;\n      *(uint *)(iVar6 + 0x8c) = local_34;\n      srand(local_34);\n      break;\n    case 8:\n      tVar14 = time((time_t *)0x0);\n      local_64 = (double)tVar14;\n      break;\n    case 9:\n      if (puVar18 == (uint *)0x0) {\n        local_68 = (char *)FUN_0009295c();\n      }\n      else if ((*local_6c & 2) != 0) {\n        local_64 = (double)(ulonglong)*(uint *)local_6c[4];\n        local_64 = (double)(longlong)local_64;\n        break;\n      }\n      sVar13 = strlen(local_68);\n      local_64 = (double)(ulonglong)sVar13;\n      local_64 = (double)(longlong)local_64;\n      break;\n    case 10:\n      FUN_00019f78();\n      if (local_68 == (char *)0x0) {\n        local_64 = 0.0;\n      }\n      else if (*local_68 == '\0') {\n        local_64 = 0.0;\n      }\n      else {\n        iVar7 = system(local_68);\n        local_64 = (double)(iVar7 >> 8);\n      }\n      break;\n    case 0xb:\n      if (puVar18 == (uint *)0x0) {\n        fflush(*(FILE **)puVar4);\n      }\n      else if ((local_68 == (char *)0x0) || (*local_68 == '\0')) {\n        FUN_00019f78();\n      }\n      else {\n        puVar11 = (undefined4 *)FUN_00093a51();\n        fflush((FILE *)*puVar11);\n      }\n      break;\n    case 0xc:\n      puVar11 = (undefined4 *)FUN_000939df();\n      if (puVar11 == (undefined4 *)0x0) {\n        local_64 = 0.0;\n      }\n      else {\n        pFVar10 = (FILE *)*puVar11;\n        if (pFVar10 == (FILE *)0x0) {\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          local_64 = 0.0;\n        }\n        else {\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }\n      }\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = local_64;\n    FUN_00092d5e();\n    break;\n  case 0x17:\n    lVar23 = (longdouble)FUN_000925a2();\n    iVar7 = (int)ROUND(lVar23);\n    if (iVar7 < 0) {\n      pcVar15 = "Access to negative field";\n      goto LAB_00094f35;\n    }\n    if (iVar7 == 0) {\n      local_78 = *(uint **)(iVar6 + 0x34);\n    }\n    else {\n      FUN_00092cc4();\n      if (*(int *)(iVar6 + -0x20) < iVar7) {\n        FUN_000922c0();\n      }\n      local_78 = (uint *)(*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14);\n    }\n    break;\n  case 0x18:\n    local_78 = (uint *)(*(int *)(iVar6 + 0x88) + local_80[2] * 0x14);\n    goto LAB_00094b15;\n  case 0x19:\n    if ((*(int *)local_80[3] == 0) && (((int *)local_80[3])[1] == 0)) {\n      pcVar15 = "Call to undefined function";\n      goto LAB_00094f35;\n    }\n    puVar12 = (uint *)FUN_00092151();\n    puVar22 = puVar12;\n    if (puVar18 != (uint *)0x0) {\n      while ((*puVar18 & 0xff00) == 0x1300) {\n        puVar18 = (uint *)puVar18[3];\n        uVar8 = FUN_00094969();\n        FUN_00093453();\n        *puVar22 = *puVar22 | 0x2000;\n        puVar22[4] = uVar8;\n        if ((*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))\n           || (puVar22 = puVar22 + 5, puVar18 == (uint *)0x0)) goto LAB_00094fd5;\n      }\n      uVar8 = FUN_00094969();\n      FUN_00093453();\n      *puVar22 = *puVar22 | 0x2000;\n      puVar22[4] = uVar8;\n    }\nLAB_00094fd5:\n    uVar2 = *(undefined4 *)(iVar6 + 0x88);\n    *(uint **)(iVar6 + 0x88) = puVar12;\n    uVar3 = *(undefined4 *)(iVar6 + -0x28);\n    local_78 = (uint *)FUN_00094969();\n    *(undefined4 *)(iVar6 + -0x28) = uVar3;\n    FUN_000938f0();\n    *(undefined4 *)(iVar6 + 0x88) = uVar2;\n    break;\n  case 0x1a:\n  case 0x20:\n    if (puVar18 == (uint *)0x0) {\n      puVar11 = *(undefined4 **)(iVar6 + -0x3c);\n      if (puVar11 != (undefined4 *)0x0) {\nLAB_00094e49:\n        pFVar10 = (FILE *)*puVar11;\n        goto LAB_00094e4b;\n      }\n      puVar11 = (undefined4 *)FUN_00093cca();\n      *(undefined4 **)(iVar6 + -0x3c) = puVar11;\n      if (puVar11 != (undefined4 *)0x0) goto LAB_00094e49;\nLAB_00094e4f:\n      iVar7 = *DAT_000d16fc;\n      puVar18 = *(uint **)(iVar6 + 0x44);\n      FUN_0009227b();\n      *puVar18 = *puVar18 | 1;\n      *(double *)(puVar18 + 1) = (double)iVar7;\n      FUN_00092d5e();\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      local_78[1] = 0;\n      local_78[2] = 0xbff00000;\n      FUN_00092d5e();\n    }\n    else {\n      piVar9 = (int *)FUN_00093a51();\n      if (*piVar9 == 0) {\n        if ((local_7c & 0xff00) == 0x2000) {\n          pFVar10 = popen(local_68,"r");\n          *piVar9 = (int)pFVar10;\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_0001923e();\n          *piVar9 = (int)pFVar10;\n        }\nLAB_00094e4b:\n        if (pFVar10 == (FILE *)0x0) goto LAB_00094e4f;\n      }\n      if (local_80[3] == 0) {\n        local_5c = *(uint **)(iVar6 + 0x34);\n      }\n      iVar7 = FUN_0009307e();\n      if ((0 < iVar7) && (puVar18 == (uint *)0x0)) {\n        FUN_0009304a();\n        FUN_0009304a();\n      }\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      *(double *)(local_78 + 1) = (double)iVar7;\n      FUN_00092d5e();\n    }\n    break;\n  case 0x1b:\n    FUN_0009211c();\n    iVar7 = FUN_000939df();\n    if (iVar7 == 0) {\nLAB_00094c2d:\n      lVar23 = (longdouble)0;\n    }\n    else {\n      lVar23 = (longdouble)1;\n    }\n    goto LAB_00094b8a;\n  case 0x1c:\n    iVar7 = FUN_00092658();\n    if (iVar7 == 0) goto LAB_00094c2d;\nLAB_00094da9:\n    iVar7 = FUN_00096324();\n    lVar23 = (longdouble)iVar7;\n    goto LAB_00094b8a;\n  case 0x1d:\n    iVar7 = FUN_00092658();\n    if (iVar7 == 0) goto LAB_00094da9;\nLAB_00094c15:\n    lVar23 = (longdouble)1;\n    goto LAB_00094b8a;\n  case 0x1e:\n    goto LAB_00094ce7;\n  case 0x1f:\n    local_78 = (uint *)FUN_00093453();\n    break;\n  case 0x21:\n    local_68 = (char *)FUN_0009295c();\nLAB_00094ce7:\n    __preg = (regex_t *)FUN_00095bc7();\n    iVar7 = regexec(__preg,local_68,0,(regmatch_t *)0x0,0);\n    if ((regex_t *)(iVar6 + 0x90) == __preg) {\n      regfree((regex_t *)(iVar6 + 0x90));\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)((iVar7 == 0) != (uVar8 == 0x21));\n    FUN_00092d5e();\n    break;\n  case 0x23:\n    FUN_00093453();\n    break;\n  case 0x24:\n    uVar8 = FUN_00095fab();\n    FUN_0009227b();\n    local_78[3] = uVar8;\n    FUN_00092d5e();\n    break;\n  case 0x25:\n    if ((*(uint *)local_80[3] & 0xff00) == 0x1200) {\n      FUN_00092658();\n      local_78 = (uint *)FUN_00094969();\n      break;\n    }\n    goto switchD_00094a90_caseD_0;\n  case 0x26:\n    lVar23 = (longdouble)FUN_000925a2();\n    if (uVar8 == 0x4d) {\n      lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      lVar23 = lVar24;\n    }\n    else {\n      if (uVar8 < 0x4e) {\n        if (uVar8 == 0x21) {\n          iVar7 = FUN_00092658();\n          if (iVar7 == 0) goto LAB_00094c15;\n          goto LAB_00094c2d;\n        }\n        if (uVar8 == 0x2d) {\n          lVar23 = -lVar23;\n        }\n        goto LAB_00094b8a;\n      }\n      if (uVar8 == 0x6d) {\n        lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      }\n      else if (uVar8 == 0x70) {\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n      }\n      else {\n        if (uVar8 != 0x50) goto LAB_00094b8a;\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n        lVar23 = lVar24;\n      }\n    }\n    FUN_0009227b();\n    *local_5c = *local_5c | 1;\n    *(double *)(local_5c + 1) = (double)lVar24;\n    FUN_00092d5e();\n    lVar23 = (longdouble)(double)lVar23;\nLAB_00094b8a:\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)lVar23;\n    FUN_00092d5e();\n    break;\n  case 0x27:\n    local_78 = (uint *)local_80[2];\n    if (local_78 == *(uint **)(iVar6 + 0x50)) {\n      FUN_00092cc4();\n    }\nLAB_00094b15:\n    if (local_80[3] != 0) {\n      FUN_0009211c();\n      local_78 = (uint *)FUN_00093a51();\n    }\n    break;\n  case 0x28:\n    goto switchD_00094a90_caseD_28;\n  }\nLAB_00094ab0:\n  local_7c = local_7c & 0xff00;\n  if (local_7c < 0x601) {\n    local_80 = (uint *)local_80[4];\n    cVar1 = *(char *)(iVar6 + -6);\n  }\n  else {\n    if (0xfff < local_7c) {\nLAB_00094acb:\n      FUN_000938f0();\n      return local_78;\n    }\n    cVar1 = *(char *)(iVar6 + -6);\n  }\n  if ((cVar1 != '\0') || (local_80 == (uint *)0x0)) goto LAB_00094acb;\n  goto LAB_000949b7;\nswitchD_00094a90_caseD_b:\n  *(undefined1 *)(iVar6 + -6) = 1;\nswitchD_00094a90_caseD_28:\n  FUN_0009227b();\n  goto LAB_00094ab0;\nswitchD_00094a90_caseD_7:\n  iVar7 = FUN_00092658();\n  if (iVar7 == 0) {\n    local_80 = (uint *)local_80[3];\n  }\n  else {\nLAB_000956d3:\n    local_80 = (uint *)local_80[4];\n  }\n  goto LAB_00094ab0;\nswitchD_00094a90_caseD_0:\n  pcVar15 = "Possible syntax error";\nLAB_00094f35:\n                    \n  FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),*(undefined4 *)(iVar6 + -0x24),pcVar15);\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "regex_t *__preg;" type_identifier (pointer_declarator "*__preg" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "FILE *pFVar10;" type_identifier (pointer_declarator "*pFVar10" * identifier) ;) (declaration "undefined4 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "uint *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "size_t sVar13;" primitive_type identifier ;) (declaration "time_t tVar14;" type_identifier identifier ;) (declaration "char *pcVar15;" primitive_type (pointer_declarator "*pcVar15" * identifier) ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "undefined1 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "uint *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "byte *pbVar19;" type_identifier (pointer_declarator "*pbVar19" * identifier) ;) (declaration "undefined4 extraout_EDX;" type_identifier identifier ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "uint *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "longdouble lVar23;" type_identifier identifier ;) (declaration "longdouble lVar24;" type_identifier identifier ;) (declaration "uint *local_80;" type_identifier (pointer_declarator "*local_80" * identifier) ;) (declaration "uint local_7c;" type_identifier identifier ;) (declaration "uint *local_78;" type_identifier (pointer_declarator "*local_78" * identifier) ;) (declaration "double local_74;" primitive_type identifier ;) (declaration "uint *local_6c;" type_identifier (pointer_declarator "*local_6c" * identifier) ;) (declaration "char *local_68;" primitive_type (pointer_declarator "*local_68" * identifier) ;) (declaration "double local_64;" primitive_type identifier ;) (declaration "uint *local_5c;" type_identifier (pointer_declarator "*local_5c" * identifier) ;) (declaration "char *local_4c;" primitive_type (pointer_declarator "*local_4c" * identifier) ;) (declaration "uint local_48;" type_identifier identifier ;) (declaration "uint local_34;" type_identifier identifier ;) (if_statement "if (param_1 == (uint *)0x0) {\n    FUN_0009227b();\n    param_2[3] = 0;\n    FUN_00092d5e();\n    return param_2;\n  }" if (parenthesized_expression "(param_1 == (uint *)0x0)" ( (binary_expression "param_1 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    FUN_0009227b();\n    param_2[3] = 0;\n    FUN_00092d5e();\n    return param_2;\n  }" { (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" identifier (argument_list "()" ( ))) ;) (expression_statement "param_2[3] = 0;" (assignment_expression "param_2[3] = 0" (subscript_expression "param_2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00092d5e();" (call_expression "FUN_00092d5e()" identifier (argument_list "()" ( ))) ;) (return_statement "return param_2;" return identifier ;) })) (expression_statement "FUN_00092151();" (call_expression "FUN_00092151()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar6 = DAT_000d1700;" (assignment_expression "iVar6 = DAT_000d1700" identifier = identifier) ;) (expression_statement "piVar5 = DAT_000d16fc;" (assignment_expression "piVar5 = DAT_000d16fc" identifier = identifier) ;) (expression_statement "puVar4 = PTR_stdout_000d0fb4;" (assignment_expression "puVar4 = PTR_stdout_000d0fb4" identifier = identifier) ;) (expression_statement "local_80 = param_1;" (assignment_expression "local_80 = param_1" identifier = identifier) ;) (expression_statement "local_78 = param_2;" (assignment_expression "local_78 = param_2" identifier = identifier) ;) (labeled_statement "LAB_000949b7:\n  local_7c = *local_80;" statement_identifier : (expression_statement "local_7c = *local_80;" (assignment_expression "local_7c = *local_80" identifier = (pointer_expression "*local_80" * identifier)) ;)) (expression_statement "uVar8 = local_80[1];" (assignment_expression "uVar8 = local_80[1]" identifier = (subscript_expression "local_80[1]" identifier [ number_literal ])) ;) (expression_statement "*(uint *)(iVar6 + -0x24) = uVar8;" (assignment_expression "*(uint *)(iVar6 + -0x24) = uVar8" (pointer_expression "*(uint *)(iVar6 + -0x24)" * (cast_expression "(uint *)(iVar6 + -0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -0x24)" ( (binary_expression "iVar6 + -0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar18 = (uint *)local_80[2];" (assignment_expression "puVar18 = (uint *)local_80[2]" identifier = (cast_expression "(uint *)local_80[2]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_80[2]" identifier [ number_literal ]))) ;) (expression_statement "uVar21 = local_7c >> 8 & 0xff;" (assignment_expression "uVar21 = local_7c >> 8 & 0xff" identifier = (binary_expression "local_7c >> 8 & 0xff" (binary_expression "local_7c >> 8" identifier >> number_literal) & number_literal)) ;) (if_statement "if (uVar21 == 1) {\n    if (((*puVar18 & 0xff00) != 0x2700) && ((*puVar18 & 0xff00) != 0x1800)) {\n                    \n      FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),uVar8,"Not an array");\n    }\n    if (puVar18[3] == 0) {\n      FUN_0009211c();\n      FUN_0009234a();\n    }\n    else {\n      FUN_00094969();\n      FUN_0009295c();\n      FUN_0009211c();\n      FUN_0009269c();\n    }\n    goto LAB_00094ab0;\n  }" if (parenthesized_expression "(uVar21 == 1)" ( (binary_expression "uVar21 == 1" identifier == number_literal) )) (compound_statement "{\n    if (((*puVar18 & 0xff00) != 0x2700) && ((*puVar18 & 0xff00) != 0x1800)) {\n                    \n      FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),uVar8,"Not an array");\n    }\n    if (puVar18[3] == 0) {\n      FUN_0009211c();\n      FUN_0009234a();\n    }\n    else {\n      FUN_00094969();\n      FUN_0009295c();\n      FUN_0009211c();\n      FUN_0009269c();\n    }\n    goto LAB_00094ab0;\n  }" { (if_statement "if (((*puVar18 & 0xff00) != 0x2700) && ((*puVar18 & 0xff00) != 0x1800)) {\n                    \n      FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),uVar8,"Not an array");\n    }" if (parenthesized_expression "(((*puVar18 & 0xff00) != 0x2700) && ((*puVar18 & 0xff00) != 0x1800))" ( (binary_expression "((*puVar18 & 0xff00) != 0x2700) && ((*puVar18 & 0xff00) != 0x1800)" (parenthesized_expression "((*puVar18 & 0xff00) != 0x2700)" ( (binary_expression "(*puVar18 & 0xff00) != 0x2700" (parenthesized_expression "(*puVar18 & 0xff00)" ( (binary_expression "*puVar18 & 0xff00" (pointer_expression "*puVar18" * identifier) & number_literal) )) != number_literal) )) && (parenthesized_expression "((*puVar18 & 0xff00) != 0x1800)" ( (binary_expression "(*puVar18 & 0xff00) != 0x1800" (parenthesized_expression "(*puVar18 & 0xff00)" ( (binary_expression "*puVar18 & 0xff00" (pointer_expression "*puVar18" * identifier) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                    \n      FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),uVar8,"Not an array");\n    }" { (expression_statement "FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),uVar8,"Not an array");" (call_expression "FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),uVar8,"Not an array")" identifier (argument_list "("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),uVar8,"Not an array")" ( (string_literal ""%s:%i: %s"" " string_content ") , (pointer_expression "*(undefined4 *)(iVar6 + -0x28)" * (cast_expression "(undefined4 *)(iVar6 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -0x28)" ( (binary_expression "iVar6 + -0x28" identifier + number_literal) )))) , identifier , (string_literal ""Not an array"" " string_content ") ))) ;) })) (if_statement "if (puVar18[3] == 0) {\n      FUN_0009211c();\n      FUN_0009234a();\n    }\n    else {\n      FUN_00094969();\n      FUN_0009295c();\n      FUN_0009211c();\n      FUN_0009269c();\n    }" if (parenthesized_expression "(puVar18[3] == 0)" ( (binary_expression "puVar18[3] == 0" (subscript_expression "puVar18[3]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      FUN_0009211c();\n      FUN_0009234a();\n    }" { (expression_statement "FUN_0009211c();" (call_expression "FUN_0009211c()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0009234a();" (call_expression "FUN_0009234a()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n      FUN_00094969();\n      FUN_0009295c();\n      FUN_0009211c();\n      FUN_0009269c();\n    }" else (compound_statement "{\n      FUN_00094969();\n      FUN_0009295c();\n      FUN_0009211c();\n      FUN_0009269c();\n    }" { (expression_statement "FUN_00094969();" (call_expression "FUN_00094969()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0009295c();" (call_expression "FUN_0009295c()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0009211c();" (call_expression "FUN_0009211c()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0009269c();" (call_expression "FUN_0009269c()" identifier (argument_list "()" ( ))) ;) }))) (goto_statement "goto LAB_00094ab0;" goto statement_identifier ;) })) (if_statement "if ((local_7c & 0x10000) != 0) {\n    local_6c = (uint *)FUN_00094969();\n  }" if (parenthesized_expression "((local_7c & 0x10000) != 0)" ( (binary_expression "(local_7c & 0x10000) != 0" (parenthesized_expression "(local_7c & 0x10000)" ( (binary_expression "local_7c & 0x10000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    local_6c = (uint *)FUN_00094969();\n  }" { (expression_statement "local_6c = (uint *)FUN_00094969();" (assignment_expression "local_6c = (uint *)FUN_00094969()" identifier = (cast_expression "(uint *)FUN_00094969()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00094969()" identifier (argument_list "()" ( ))))) ;) })) (if_statement "if ((local_7c & 0x20000) != 0) {\n    local_5c = (uint *)FUN_00094969();\n  }" if (parenthesized_expression "((local_7c & 0x20000) != 0)" ( (binary_expression "(local_7c & 0x20000) != 0" (parenthesized_expression "(local_7c & 0x20000)" ( (binary_expression "local_7c & 0x20000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    local_5c = (uint *)FUN_00094969();\n  }" { (expression_statement "local_5c = (uint *)FUN_00094969();" (assignment_expression "local_5c = (uint *)FUN_00094969()" identifier = (cast_expression "(uint *)FUN_00094969()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00094969()" identifier (argument_list "()" ( ))))) ;) })) (if_statement "if ((local_7c & 0x40000) != 0) {\n    local_68 = (char *)FUN_0009295c();\n  }" if (parenthesized_expression "((local_7c & 0x40000) != 0)" ( (binary_expression "(local_7c & 0x40000) != 0" (parenthesized_expression "(local_7c & 0x40000)" ( (binary_expression "local_7c & 0x40000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    local_68 = (char *)FUN_0009295c();\n  }" { (expression_statement "local_68 = (char *)FUN_0009295c();" (assignment_expression "local_68 = (char *)FUN_0009295c()" identifier = (cast_expression "(char *)FUN_0009295c()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0009295c()" identifier (argument_list "()" ( ))))) ;) })) (if_statement "if ((local_7c & 0x80000) != 0) {\n    local_4c = (char *)FUN_0009295c();\n  }" if (parenthesized_expression "((local_7c & 0x80000) != 0)" ( (binary_expression "(local_7c & 0x80000) != 0" (parenthesized_expression "(local_7c & 0x80000)" ( (binary_expression "local_7c & 0x80000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    local_4c = (char *)FUN_0009295c();\n  }" { (expression_statement "local_4c = (char *)FUN_0009295c();" (assignment_expression "local_4c = (char *)FUN_0009295c()" identifier = (cast_expression "(char *)FUN_0009295c()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0009295c()" identifier (argument_list "()" ( ))))) ;) })) (if_statement "if ((local_7c & 0x100000) != 0) {\n    lVar23 = (longdouble)FUN_000925a2();\n    local_74 = (double)lVar23;\n  }" if (parenthesized_expression "((local_7c & 0x100000) != 0)" ( (binary_expression "(local_7c & 0x100000) != 0" (parenthesized_expression "(local_7c & 0x100000)" ( (binary_expression "local_7c & 0x100000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    lVar23 = (longdouble)FUN_000925a2();\n    local_74 = (double)lVar23;\n  }" { (expression_statement "lVar23 = (longdouble)FUN_000925a2();" (assignment_expression "lVar23 = (longdouble)FUN_000925a2()" identifier = (cast_expression "(longdouble)FUN_000925a2()" ( (type_descriptor "longdouble" type_identifier) ) (call_expression "FUN_000925a2()" identifier (argument_list "()" ( ))))) ;) (expression_statement "local_74 = (double)lVar23;" (assignment_expression "local_74 = (double)lVar23" identifier = (cast_expression "(double)lVar23" ( (type_descriptor "double" primitive_type) ) identifier)) ;) })) (expression_statement "uVar8 = local_7c & 0x7f;" (assignment_expression "uVar8 = local_7c & 0x7f" identifier = (binary_expression "local_7c & 0x7f" identifier & number_literal)) ;) (switch_statement "switch(uVar21) {\n  default:\n    goto switchD_00094a90_caseD_0;\n  case 2:\n    break;\n  case 3:\n    *(uint *)(iVar6 + -0x28) = local_80[2];\n    break;\n  case 4:\n  case 5:\n    if (local_80[3] == 0) {\n      pFVar10 = *(FILE **)PTR_stdout_000d0fb4;\n    }\n    else {\n      piVar9 = (int *)FUN_00093a51();\n      pFVar10 = (FILE *)*piVar9;\n      if (pFVar10 == (FILE *)0x0) {\n        if (uVar8 == 0x7c) {\n          pFVar10 = popen(local_4c,"w");\n          *piVar9 = (int)pFVar10;\n          if (pFVar10 == (FILE *)0x0) {\n                    \n            FUN_00018e79("popen");\n          }\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_00019c3e();\n          *piVar9 = (int)pFVar10;\n        }\n      }\n    }\n    if ((local_7c & 0xff00) == 0x400) {\n      if (puVar18 == (uint *)0x0) {\n        pcVar15 = (char *)FUN_0009295c();\n        fputs_unlocked(pcVar15,pFVar10);\n      }\n      else {\n        while( true ) {\n          puVar22 = (uint *)0x0;\n          if ((*puVar18 & 0xff00) == 0x1300) {\n            puVar22 = (uint *)puVar18[3];\n          }\n          puVar18 = puVar22;\n          pbVar19 = (byte *)FUN_00094969();\n          if ((*pbVar19 & 1) == 0) {\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }\n          else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }\n          if (puVar18 == (uint *)0x0) break;\n          pcVar15 = (char *)FUN_0009295c();\n          fputs_unlocked(pcVar15,pFVar10);\n        }\n      }\n      pcVar15 = (char *)FUN_0009295c();\n      fputs_unlocked(pcVar15,pFVar10);\n      fflush(pFVar10);\n    }\n    else {\n      pcVar15 = (char *)FUN_00095fab();\n      fputs_unlocked(pcVar15,pFVar10);\n      free(pcVar15);\n      fflush(pFVar10);\n    }\n    break;\n  case 6:\n    iVar7 = FUN_0009211c();\n    if ((*local_6c & 0x800) == 0) {\n      *local_6c = *local_6c | 0x800;\n      uVar8 = 0;\n    }\n    else {\n      uVar8 = local_6c[4];\n    }\n    piVar9 = (int *)FUN_00019b89();\n    local_6c[4] = (uint)piVar9;\n    *piVar9 = (int)(piVar9 + 3);\n    piVar9[1] = (int)(piVar9 + 3);\n    piVar9[2] = uVar8;\n    if (*(int *)(iVar7 + 4) != 0) {\n      uVar8 = 0;\n      do {\n        iVar20 = *(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4);\n        if (iVar20 != 0) {\n          pcVar15 = (char *)*piVar9;\n          do {\n            strcpy(pcVar15,(char *)(iVar20 + 0x1c));\n            pcVar16 = (char *)*piVar9;\n            do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');\n            iVar20 = *(int *)(iVar20 + 0x18);\n          } while (iVar20 != 0);\n        }\n        uVar8 = uVar8 + 1;\n      } while (uVar8 < *(uint *)(iVar7 + 4));\n    }\n    break;\n  case 7:\n    goto switchD_00094a90_caseD_7;\n  case 10:\n    FUN_00095b2f();\n    goto switchD_00094a90_caseD_7;\n  case 0xb:\n    goto switchD_00094a90_caseD_b;\n  case 0xc:\n    *(undefined1 *)(iVar6 + -5) = 1;\n    goto switchD_00094a90_caseD_b;\n  case 0xd:\n    if ((*puVar18 & 0xff00) != 0x1300) {\n      iVar7 = FUN_00096324();\n      if (iVar7 != 0) goto LAB_000956d3;\n      local_80 = (uint *)local_80[3];\n      break;\n    }\n    if (((local_7c & 0x200000) == 0) && (iVar7 = FUN_00096324(), iVar7 == 0)) {\n      local_80 = (uint *)local_80[3];\n      break;\n    }\n    *local_80 = *local_80 | 0x200000;\n    iVar7 = FUN_00096324();\n    if (iVar7 != 0) {\n      *local_80 = *local_80 & 0xffdfffff;\n    }\n    goto LAB_000956d3;\n  case 0xe:\n    puVar18 = (uint *)local_6c[4];\n    pcVar15 = (char *)puVar18[1];\n    if (pcVar15 < (char *)*puVar18) {\n      do {\n        puVar18[1] = (uint)(pcVar15 + 1);\n        cVar1 = *pcVar15;\n        pcVar15 = pcVar15 + 1;\n      } while (cVar1 != '\0');\n      FUN_00093016();\n      goto LAB_000956d3;\n    }\n    uVar8 = puVar18[2];\n    free(puVar18);\n    local_6c[4] = uVar8;\n    local_80 = (uint *)local_80[3];\n    break;\n  case 0x10:\n  case 0x22:\n    lVar23 = (longdouble)FUN_000925a2();\n    switch(uVar8) {\n    case 0x25:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40) {\nLAB_00095638:\n        pcVar15 = "Division by zero";\n        goto LAB_00094f35;\n      }\n      local_74 = (double)((longdouble)local_74 -\n                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23);\n      break;\n    case 0x26:\nswitchD_000950ee_caseD_2:\n      pcVar15 = "Math support is not compiled in";\n      goto LAB_00094f35;\n    case 0x27:\n    case 0x28:\n    case 0x29:\n    case 0x2c:\n    case 0x2e:\n      break;\n    case 0x2a:\n      local_74 = (double)(lVar23 * (longdouble)local_74);\n      break;\n    case 0x2b:\n      local_74 = (double)(lVar23 + (longdouble)local_74);\n      break;\n    case 0x2d:\n      local_74 = (double)((longdouble)local_74 - lVar23);\n      break;\n    case 0x2f:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)\n      goto LAB_00095638;\n      local_74 = (double)((longdouble)local_74 / lVar23);\n    }\n    if ((local_7c & 0xff00) != 0x1000) {\n      local_78 = local_6c;\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = local_74;\n    FUN_00092d5e();\n    break;\n  case 0x11:\n    local_78 = (uint *)FUN_00093dbd();\n    break;\n  case 0x13:\n  case 0x15:\n    puVar17 = &DAT_000cd91f;\n    if ((local_7c & 0xff00) == 0x1300) {\n      puVar17 = (undefined1 *)FUN_0009295c();\n    }\n    uVar8 = FUN_00019fd7("%s%s%s",local_68,puVar17,local_4c);\n    FUN_0009227b();\n    local_78[3] = uVar8;\n    FUN_00092d5e();\n    break;\n  case 0x14:\n    FUN_000925a2();\n    if (((((ushort)*local_6c ^ 0x4000) & 0x4201) == 0) ||\n       (FUN_000925a2(), (((ushort)*local_5c ^ 0x4000) & 0x4201) == 0)) {\n      pcVar15 = (char *)FUN_0009295c();\n      pcVar16 = (char *)FUN_0009295c();\n      if (*(char *)(iVar6 + -8) == '\0') {\n        iVar7 = strcmp(pcVar15,pcVar16);\n        lVar23 = (longdouble)iVar7;\n        goto joined_r0x0009536c;\n      }\n      iVar7 = strcasecmp(pcVar15,pcVar16);\n      lVar23 = (longdouble)iVar7;\n      if ((local_7c & 0x7e) != 2) goto LAB_00095372;\nLAB_000952b4:\n      local_48 = (uint)((longdouble)0 <= lVar23);\n    }\n    else {\n      lVar24 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)(double)lVar24 - lVar23;\njoined_r0x0009536c:\n      if ((local_7c & 0x7e) == 2) goto LAB_000952b4;\nLAB_00095372:\n      if ((local_7c & 0x7e) == 4) {\n        lVar24 = (longdouble)0;\n        local_48 = (uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40);\n      }\n      else if ((local_7c & 0x7e) == 0) {\n        local_48 = (uint)((longdouble)0 < lVar23);\n      }\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)(int)(local_7c & 1 ^ local_48 ^ 1);\n    FUN_00092d5e();\n    break;\n  case 0x16:\n    switch(uVar8) {\n    case 0:\n      local_64 = (double)(longlong)ROUND(local_74);\n      break;\n    case 1:\n      iVar7 = rand();\n      local_64 = (double)iVar7 / DAT_000b65c0;\n      break;\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n      goto switchD_000950ee_caseD_2;\n    case 7:\n      uVar8 = *(uint *)(iVar6 + 0x8c);\n      if (puVar18 == (uint *)0x0) {\n        local_34 = time((time_t *)0x0);\n      }\n      else {\n        local_34 = (uint)(longlong)ROUND(local_74);\n      }\n      local_64 = (double)(ulonglong)uVar8;\n      local_64 = (double)(longlong)local_64;\n      *(uint *)(iVar6 + 0x8c) = local_34;\n      srand(local_34);\n      break;\n    case 8:\n      tVar14 = time((time_t *)0x0);\n      local_64 = (double)tVar14;\n      break;\n    case 9:\n      if (puVar18 == (uint *)0x0) {\n        local_68 = (char *)FUN_0009295c();\n      }\n      else if ((*local_6c & 2) != 0) {\n        local_64 = (double)(ulonglong)*(uint *)local_6c[4];\n        local_64 = (double)(longlong)local_64;\n        break;\n      }\n      sVar13 = strlen(local_68);\n      local_64 = (double)(ulonglong)sVar13;\n      local_64 = (double)(longlong)local_64;\n      break;\n    case 10:\n      FUN_00019f78();\n      if (local_68 == (char *)0x0) {\n        local_64 = 0.0;\n      }\n      else if (*local_68 == '\0') {\n        local_64 = 0.0;\n      }\n      else {\n        iVar7 = system(local_68);\n        local_64 = (double)(iVar7 >> 8);\n      }\n      break;\n    case 0xb:\n      if (puVar18 == (uint *)0x0) {\n        fflush(*(FILE **)puVar4);\n      }\n      else if ((local_68 == (char *)0x0) || (*local_68 == '\0')) {\n        FUN_00019f78();\n      }\n      else {\n        puVar11 = (undefined4 *)FUN_00093a51();\n        fflush((FILE *)*puVar11);\n      }\n      break;\n    case 0xc:\n      puVar11 = (undefined4 *)FUN_000939df();\n      if (puVar11 == (undefined4 *)0x0) {\n        local_64 = 0.0;\n      }\n      else {\n        pFVar10 = (FILE *)*puVar11;\n        if (pFVar10 == (FILE *)0x0) {\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          local_64 = 0.0;\n        }\n        else {\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }\n      }\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = local_64;\n    FUN_00092d5e();\n    break;\n  case 0x17:\n    lVar23 = (longdouble)FUN_000925a2();\n    iVar7 = (int)ROUND(lVar23);\n    if (iVar7 < 0) {\n      pcVar15 = "Access to negative field";\n      goto LAB_00094f35;\n    }\n    if (iVar7 == 0) {\n      local_78 = *(uint **)(iVar6 + 0x34);\n    }\n    else {\n      FUN_00092cc4();\n      if (*(int *)(iVar6 + -0x20) < iVar7) {\n        FUN_000922c0();\n      }\n      local_78 = (uint *)(*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14);\n    }\n    break;\n  case 0x18:\n    local_78 = (uint *)(*(int *)(iVar6 + 0x88) + local_80[2] * 0x14);\n    goto LAB_00094b15;\n  case 0x19:\n    if ((*(int *)local_80[3] == 0) && (((int *)local_80[3])[1] == 0)) {\n      pcVar15 = "Call to undefined function";\n      goto LAB_00094f35;\n    }\n    puVar12 = (uint *)FUN_00092151();\n    puVar22 = puVar12;\n    if (puVar18 != (uint *)0x0) {\n      while ((*puVar18 & 0xff00) == 0x1300) {\n        puVar18 = (uint *)puVar18[3];\n        uVar8 = FUN_00094969();\n        FUN_00093453();\n        *puVar22 = *puVar22 | 0x2000;\n        puVar22[4] = uVar8;\n        if ((*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))\n           || (puVar22 = puVar22 + 5, puVar18 == (uint *)0x0)) goto LAB_00094fd5;\n      }\n      uVar8 = FUN_00094969();\n      FUN_00093453();\n      *puVar22 = *puVar22 | 0x2000;\n      puVar22[4] = uVar8;\n    }\nLAB_00094fd5:\n    uVar2 = *(undefined4 *)(iVar6 + 0x88);\n    *(uint **)(iVar6 + 0x88) = puVar12;\n    uVar3 = *(undefined4 *)(iVar6 + -0x28);\n    local_78 = (uint *)FUN_00094969();\n    *(undefined4 *)(iVar6 + -0x28) = uVar3;\n    FUN_000938f0();\n    *(undefined4 *)(iVar6 + 0x88) = uVar2;\n    break;\n  case 0x1a:\n  case 0x20:\n    if (puVar18 == (uint *)0x0) {\n      puVar11 = *(undefined4 **)(iVar6 + -0x3c);\n      if (puVar11 != (undefined4 *)0x0) {\nLAB_00094e49:\n        pFVar10 = (FILE *)*puVar11;\n        goto LAB_00094e4b;\n      }\n      puVar11 = (undefined4 *)FUN_00093cca();\n      *(undefined4 **)(iVar6 + -0x3c) = puVar11;\n      if (puVar11 != (undefined4 *)0x0) goto LAB_00094e49;\nLAB_00094e4f:\n      iVar7 = *DAT_000d16fc;\n      puVar18 = *(uint **)(iVar6 + 0x44);\n      FUN_0009227b();\n      *puVar18 = *puVar18 | 1;\n      *(double *)(puVar18 + 1) = (double)iVar7;\n      FUN_00092d5e();\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      local_78[1] = 0;\n      local_78[2] = 0xbff00000;\n      FUN_00092d5e();\n    }\n    else {\n      piVar9 = (int *)FUN_00093a51();\n      if (*piVar9 == 0) {\n        if ((local_7c & 0xff00) == 0x2000) {\n          pFVar10 = popen(local_68,"r");\n          *piVar9 = (int)pFVar10;\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_0001923e();\n          *piVar9 = (int)pFVar10;\n        }\nLAB_00094e4b:\n        if (pFVar10 == (FILE *)0x0) goto LAB_00094e4f;\n      }\n      if (local_80[3] == 0) {\n        local_5c = *(uint **)(iVar6 + 0x34);\n      }\n      iVar7 = FUN_0009307e();\n      if ((0 < iVar7) && (puVar18 == (uint *)0x0)) {\n        FUN_0009304a();\n        FUN_0009304a();\n      }\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      *(double *)(local_78 + 1) = (double)iVar7;\n      FUN_00092d5e();\n    }\n    break;\n  case 0x1b:\n    FUN_0009211c();\n    iVar7 = FUN_000939df();\n    if (iVar7 == 0) {\nLAB_00094c2d:\n      lVar23 = (longdouble)0;\n    }\n    else {\n      lVar23 = (longdouble)1;\n    }\n    goto LAB_00094b8a;\n  case 0x1c:\n    iVar7 = FUN_00092658();\n    if (iVar7 == 0) goto LAB_00094c2d;\nLAB_00094da9:\n    iVar7 = FUN_00096324();\n    lVar23 = (longdouble)iVar7;\n    goto LAB_00094b8a;\n  case 0x1d:\n    iVar7 = FUN_00092658();\n    if (iVar7 == 0) goto LAB_00094da9;\nLAB_00094c15:\n    lVar23 = (longdouble)1;\n    goto LAB_00094b8a;\n  case 0x1e:\n    goto LAB_00094ce7;\n  case 0x1f:\n    local_78 = (uint *)FUN_00093453();\n    break;\n  case 0x21:\n    local_68 = (char *)FUN_0009295c();\nLAB_00094ce7:\n    __preg = (regex_t *)FUN_00095bc7();\n    iVar7 = regexec(__preg,local_68,0,(regmatch_t *)0x0,0);\n    if ((regex_t *)(iVar6 + 0x90) == __preg) {\n      regfree((regex_t *)(iVar6 + 0x90));\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)((iVar7 == 0) != (uVar8 == 0x21));\n    FUN_00092d5e();\n    break;\n  case 0x23:\n    FUN_00093453();\n    break;\n  case 0x24:\n    uVar8 = FUN_00095fab();\n    FUN_0009227b();\n    local_78[3] = uVar8;\n    FUN_00092d5e();\n    break;\n  case 0x25:\n    if ((*(uint *)local_80[3] & 0xff00) == 0x1200) {\n      FUN_00092658();\n      local_78 = (uint *)FUN_00094969();\n      break;\n    }\n    goto switchD_00094a90_caseD_0;\n  case 0x26:\n    lVar23 = (longdouble)FUN_000925a2();\n    if (uVar8 == 0x4d) {\n      lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      lVar23 = lVar24;\n    }\n    else {\n      if (uVar8 < 0x4e) {\n        if (uVar8 == 0x21) {\n          iVar7 = FUN_00092658();\n          if (iVar7 == 0) goto LAB_00094c15;\n          goto LAB_00094c2d;\n        }\n        if (uVar8 == 0x2d) {\n          lVar23 = -lVar23;\n        }\n        goto LAB_00094b8a;\n      }\n      if (uVar8 == 0x6d) {\n        lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      }\n      else if (uVar8 == 0x70) {\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n      }\n      else {\n        if (uVar8 != 0x50) goto LAB_00094b8a;\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n        lVar23 = lVar24;\n      }\n    }\n    FUN_0009227b();\n    *local_5c = *local_5c | 1;\n    *(double *)(local_5c + 1) = (double)lVar24;\n    FUN_00092d5e();\n    lVar23 = (longdouble)(double)lVar23;\nLAB_00094b8a:\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)lVar23;\n    FUN_00092d5e();\n    break;\n  case 0x27:\n    local_78 = (uint *)local_80[2];\n    if (local_78 == *(uint **)(iVar6 + 0x50)) {\n      FUN_00092cc4();\n    }\nLAB_00094b15:\n    if (local_80[3] != 0) {\n      FUN_0009211c();\n      local_78 = (uint *)FUN_00093a51();\n    }\n    break;\n  case 0x28:\n    goto switchD_00094a90_caseD_28;\n  }" switch (parenthesized_expression "(uVar21)" ( identifier )) (compound_statement "{\n  default:\n    goto switchD_00094a90_caseD_0;\n  case 2:\n    break;\n  case 3:\n    *(uint *)(iVar6 + -0x28) = local_80[2];\n    break;\n  case 4:\n  case 5:\n    if (local_80[3] == 0) {\n      pFVar10 = *(FILE **)PTR_stdout_000d0fb4;\n    }\n    else {\n      piVar9 = (int *)FUN_00093a51();\n      pFVar10 = (FILE *)*piVar9;\n      if (pFVar10 == (FILE *)0x0) {\n        if (uVar8 == 0x7c) {\n          pFVar10 = popen(local_4c,"w");\n          *piVar9 = (int)pFVar10;\n          if (pFVar10 == (FILE *)0x0) {\n                    \n            FUN_00018e79("popen");\n          }\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_00019c3e();\n          *piVar9 = (int)pFVar10;\n        }\n      }\n    }\n    if ((local_7c & 0xff00) == 0x400) {\n      if (puVar18 == (uint *)0x0) {\n        pcVar15 = (char *)FUN_0009295c();\n        fputs_unlocked(pcVar15,pFVar10);\n      }\n      else {\n        while( true ) {\n          puVar22 = (uint *)0x0;\n          if ((*puVar18 & 0xff00) == 0x1300) {\n            puVar22 = (uint *)puVar18[3];\n          }\n          puVar18 = puVar22;\n          pbVar19 = (byte *)FUN_00094969();\n          if ((*pbVar19 & 1) == 0) {\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }\n          else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }\n          if (puVar18 == (uint *)0x0) break;\n          pcVar15 = (char *)FUN_0009295c();\n          fputs_unlocked(pcVar15,pFVar10);\n        }\n      }\n      pcVar15 = (char *)FUN_0009295c();\n      fputs_unlocked(pcVar15,pFVar10);\n      fflush(pFVar10);\n    }\n    else {\n      pcVar15 = (char *)FUN_00095fab();\n      fputs_unlocked(pcVar15,pFVar10);\n      free(pcVar15);\n      fflush(pFVar10);\n    }\n    break;\n  case 6:\n    iVar7 = FUN_0009211c();\n    if ((*local_6c & 0x800) == 0) {\n      *local_6c = *local_6c | 0x800;\n      uVar8 = 0;\n    }\n    else {\n      uVar8 = local_6c[4];\n    }\n    piVar9 = (int *)FUN_00019b89();\n    local_6c[4] = (uint)piVar9;\n    *piVar9 = (int)(piVar9 + 3);\n    piVar9[1] = (int)(piVar9 + 3);\n    piVar9[2] = uVar8;\n    if (*(int *)(iVar7 + 4) != 0) {\n      uVar8 = 0;\n      do {\n        iVar20 = *(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4);\n        if (iVar20 != 0) {\n          pcVar15 = (char *)*piVar9;\n          do {\n            strcpy(pcVar15,(char *)(iVar20 + 0x1c));\n            pcVar16 = (char *)*piVar9;\n            do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');\n            iVar20 = *(int *)(iVar20 + 0x18);\n          } while (iVar20 != 0);\n        }\n        uVar8 = uVar8 + 1;\n      } while (uVar8 < *(uint *)(iVar7 + 4));\n    }\n    break;\n  case 7:\n    goto switchD_00094a90_caseD_7;\n  case 10:\n    FUN_00095b2f();\n    goto switchD_00094a90_caseD_7;\n  case 0xb:\n    goto switchD_00094a90_caseD_b;\n  case 0xc:\n    *(undefined1 *)(iVar6 + -5) = 1;\n    goto switchD_00094a90_caseD_b;\n  case 0xd:\n    if ((*puVar18 & 0xff00) != 0x1300) {\n      iVar7 = FUN_00096324();\n      if (iVar7 != 0) goto LAB_000956d3;\n      local_80 = (uint *)local_80[3];\n      break;\n    }\n    if (((local_7c & 0x200000) == 0) && (iVar7 = FUN_00096324(), iVar7 == 0)) {\n      local_80 = (uint *)local_80[3];\n      break;\n    }\n    *local_80 = *local_80 | 0x200000;\n    iVar7 = FUN_00096324();\n    if (iVar7 != 0) {\n      *local_80 = *local_80 & 0xffdfffff;\n    }\n    goto LAB_000956d3;\n  case 0xe:\n    puVar18 = (uint *)local_6c[4];\n    pcVar15 = (char *)puVar18[1];\n    if (pcVar15 < (char *)*puVar18) {\n      do {\n        puVar18[1] = (uint)(pcVar15 + 1);\n        cVar1 = *pcVar15;\n        pcVar15 = pcVar15 + 1;\n      } while (cVar1 != '\0');\n      FUN_00093016();\n      goto LAB_000956d3;\n    }\n    uVar8 = puVar18[2];\n    free(puVar18);\n    local_6c[4] = uVar8;\n    local_80 = (uint *)local_80[3];\n    break;\n  case 0x10:\n  case 0x22:\n    lVar23 = (longdouble)FUN_000925a2();\n    switch(uVar8) {\n    case 0x25:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40) {\nLAB_00095638:\n        pcVar15 = "Division by zero";\n        goto LAB_00094f35;\n      }\n      local_74 = (double)((longdouble)local_74 -\n                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23);\n      break;\n    case 0x26:\nswitchD_000950ee_caseD_2:\n      pcVar15 = "Math support is not compiled in";\n      goto LAB_00094f35;\n    case 0x27:\n    case 0x28:\n    case 0x29:\n    case 0x2c:\n    case 0x2e:\n      break;\n    case 0x2a:\n      local_74 = (double)(lVar23 * (longdouble)local_74);\n      break;\n    case 0x2b:\n      local_74 = (double)(lVar23 + (longdouble)local_74);\n      break;\n    case 0x2d:\n      local_74 = (double)((longdouble)local_74 - lVar23);\n      break;\n    case 0x2f:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)\n      goto LAB_00095638;\n      local_74 = (double)((longdouble)local_74 / lVar23);\n    }\n    if ((local_7c & 0xff00) != 0x1000) {\n      local_78 = local_6c;\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = local_74;\n    FUN_00092d5e();\n    break;\n  case 0x11:\n    local_78 = (uint *)FUN_00093dbd();\n    break;\n  case 0x13:\n  case 0x15:\n    puVar17 = &DAT_000cd91f;\n    if ((local_7c & 0xff00) == 0x1300) {\n      puVar17 = (undefined1 *)FUN_0009295c();\n    }\n    uVar8 = FUN_00019fd7("%s%s%s",local_68,puVar17,local_4c);\n    FUN_0009227b();\n    local_78[3] = uVar8;\n    FUN_00092d5e();\n    break;\n  case 0x14:\n    FUN_000925a2();\n    if (((((ushort)*local_6c ^ 0x4000) & 0x4201) == 0) ||\n       (FUN_000925a2(), (((ushort)*local_5c ^ 0x4000) & 0x4201) == 0)) {\n      pcVar15 = (char *)FUN_0009295c();\n      pcVar16 = (char *)FUN_0009295c();\n      if (*(char *)(iVar6 + -8) == '\0') {\n        iVar7 = strcmp(pcVar15,pcVar16);\n        lVar23 = (longdouble)iVar7;\n        goto joined_r0x0009536c;\n      }\n      iVar7 = strcasecmp(pcVar15,pcVar16);\n      lVar23 = (longdouble)iVar7;\n      if ((local_7c & 0x7e) != 2) goto LAB_00095372;\nLAB_000952b4:\n      local_48 = (uint)((longdouble)0 <= lVar23);\n    }\n    else {\n      lVar24 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)(double)lVar24 - lVar23;\njoined_r0x0009536c:\n      if ((local_7c & 0x7e) == 2) goto LAB_000952b4;\nLAB_00095372:\n      if ((local_7c & 0x7e) == 4) {\n        lVar24 = (longdouble)0;\n        local_48 = (uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40);\n      }\n      else if ((local_7c & 0x7e) == 0) {\n        local_48 = (uint)((longdouble)0 < lVar23);\n      }\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)(int)(local_7c & 1 ^ local_48 ^ 1);\n    FUN_00092d5e();\n    break;\n  case 0x16:\n    switch(uVar8) {\n    case 0:\n      local_64 = (double)(longlong)ROUND(local_74);\n      break;\n    case 1:\n      iVar7 = rand();\n      local_64 = (double)iVar7 / DAT_000b65c0;\n      break;\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n      goto switchD_000950ee_caseD_2;\n    case 7:\n      uVar8 = *(uint *)(iVar6 + 0x8c);\n      if (puVar18 == (uint *)0x0) {\n        local_34 = time((time_t *)0x0);\n      }\n      else {\n        local_34 = (uint)(longlong)ROUND(local_74);\n      }\n      local_64 = (double)(ulonglong)uVar8;\n      local_64 = (double)(longlong)local_64;\n      *(uint *)(iVar6 + 0x8c) = local_34;\n      srand(local_34);\n      break;\n    case 8:\n      tVar14 = time((time_t *)0x0);\n      local_64 = (double)tVar14;\n      break;\n    case 9:\n      if (puVar18 == (uint *)0x0) {\n        local_68 = (char *)FUN_0009295c();\n      }\n      else if ((*local_6c & 2) != 0) {\n        local_64 = (double)(ulonglong)*(uint *)local_6c[4];\n        local_64 = (double)(longlong)local_64;\n        break;\n      }\n      sVar13 = strlen(local_68);\n      local_64 = (double)(ulonglong)sVar13;\n      local_64 = (double)(longlong)local_64;\n      break;\n    case 10:\n      FUN_00019f78();\n      if (local_68 == (char *)0x0) {\n        local_64 = 0.0;\n      }\n      else if (*local_68 == '\0') {\n        local_64 = 0.0;\n      }\n      else {\n        iVar7 = system(local_68);\n        local_64 = (double)(iVar7 >> 8);\n      }\n      break;\n    case 0xb:\n      if (puVar18 == (uint *)0x0) {\n        fflush(*(FILE **)puVar4);\n      }\n      else if ((local_68 == (char *)0x0) || (*local_68 == '\0')) {\n        FUN_00019f78();\n      }\n      else {\n        puVar11 = (undefined4 *)FUN_00093a51();\n        fflush((FILE *)*puVar11);\n      }\n      break;\n    case 0xc:\n      puVar11 = (undefined4 *)FUN_000939df();\n      if (puVar11 == (undefined4 *)0x0) {\n        local_64 = 0.0;\n      }\n      else {\n        pFVar10 = (FILE *)*puVar11;\n        if (pFVar10 == (FILE *)0x0) {\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          local_64 = 0.0;\n        }\n        else {\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }\n      }\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = local_64;\n    FUN_00092d5e();\n    break;\n  case 0x17:\n    lVar23 = (longdouble)FUN_000925a2();\n    iVar7 = (int)ROUND(lVar23);\n    if (iVar7 < 0) {\n      pcVar15 = "Access to negative field";\n      goto LAB_00094f35;\n    }\n    if (iVar7 == 0) {\n      local_78 = *(uint **)(iVar6 + 0x34);\n    }\n    else {\n      FUN_00092cc4();\n      if (*(int *)(iVar6 + -0x20) < iVar7) {\n        FUN_000922c0();\n      }\n      local_78 = (uint *)(*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14);\n    }\n    break;\n  case 0x18:\n    local_78 = (uint *)(*(int *)(iVar6 + 0x88) + local_80[2] * 0x14);\n    goto LAB_00094b15;\n  case 0x19:\n    if ((*(int *)local_80[3] == 0) && (((int *)local_80[3])[1] == 0)) {\n      pcVar15 = "Call to undefined function";\n      goto LAB_00094f35;\n    }\n    puVar12 = (uint *)FUN_00092151();\n    puVar22 = puVar12;\n    if (puVar18 != (uint *)0x0) {\n      while ((*puVar18 & 0xff00) == 0x1300) {\n        puVar18 = (uint *)puVar18[3];\n        uVar8 = FUN_00094969();\n        FUN_00093453();\n        *puVar22 = *puVar22 | 0x2000;\n        puVar22[4] = uVar8;\n        if ((*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))\n           || (puVar22 = puVar22 + 5, puVar18 == (uint *)0x0)) goto LAB_00094fd5;\n      }\n      uVar8 = FUN_00094969();\n      FUN_00093453();\n      *puVar22 = *puVar22 | 0x2000;\n      puVar22[4] = uVar8;\n    }\nLAB_00094fd5:\n    uVar2 = *(undefined4 *)(iVar6 + 0x88);\n    *(uint **)(iVar6 + 0x88) = puVar12;\n    uVar3 = *(undefined4 *)(iVar6 + -0x28);\n    local_78 = (uint *)FUN_00094969();\n    *(undefined4 *)(iVar6 + -0x28) = uVar3;\n    FUN_000938f0();\n    *(undefined4 *)(iVar6 + 0x88) = uVar2;\n    break;\n  case 0x1a:\n  case 0x20:\n    if (puVar18 == (uint *)0x0) {\n      puVar11 = *(undefined4 **)(iVar6 + -0x3c);\n      if (puVar11 != (undefined4 *)0x0) {\nLAB_00094e49:\n        pFVar10 = (FILE *)*puVar11;\n        goto LAB_00094e4b;\n      }\n      puVar11 = (undefined4 *)FUN_00093cca();\n      *(undefined4 **)(iVar6 + -0x3c) = puVar11;\n      if (puVar11 != (undefined4 *)0x0) goto LAB_00094e49;\nLAB_00094e4f:\n      iVar7 = *DAT_000d16fc;\n      puVar18 = *(uint **)(iVar6 + 0x44);\n      FUN_0009227b();\n      *puVar18 = *puVar18 | 1;\n      *(double *)(puVar18 + 1) = (double)iVar7;\n      FUN_00092d5e();\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      local_78[1] = 0;\n      local_78[2] = 0xbff00000;\n      FUN_00092d5e();\n    }\n    else {\n      piVar9 = (int *)FUN_00093a51();\n      if (*piVar9 == 0) {\n        if ((local_7c & 0xff00) == 0x2000) {\n          pFVar10 = popen(local_68,"r");\n          *piVar9 = (int)pFVar10;\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_0001923e();\n          *piVar9 = (int)pFVar10;\n        }\nLAB_00094e4b:\n        if (pFVar10 == (FILE *)0x0) goto LAB_00094e4f;\n      }\n      if (local_80[3] == 0) {\n        local_5c = *(uint **)(iVar6 + 0x34);\n      }\n      iVar7 = FUN_0009307e();\n      if ((0 < iVar7) && (puVar18 == (uint *)0x0)) {\n        FUN_0009304a();\n        FUN_0009304a();\n      }\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      *(double *)(local_78 + 1) = (double)iVar7;\n      FUN_00092d5e();\n    }\n    break;\n  case 0x1b:\n    FUN_0009211c();\n    iVar7 = FUN_000939df();\n    if (iVar7 == 0) {\nLAB_00094c2d:\n      lVar23 = (longdouble)0;\n    }\n    else {\n      lVar23 = (longdouble)1;\n    }\n    goto LAB_00094b8a;\n  case 0x1c:\n    iVar7 = FUN_00092658();\n    if (iVar7 == 0) goto LAB_00094c2d;\nLAB_00094da9:\n    iVar7 = FUN_00096324();\n    lVar23 = (longdouble)iVar7;\n    goto LAB_00094b8a;\n  case 0x1d:\n    iVar7 = FUN_00092658();\n    if (iVar7 == 0) goto LAB_00094da9;\nLAB_00094c15:\n    lVar23 = (longdouble)1;\n    goto LAB_00094b8a;\n  case 0x1e:\n    goto LAB_00094ce7;\n  case 0x1f:\n    local_78 = (uint *)FUN_00093453();\n    break;\n  case 0x21:\n    local_68 = (char *)FUN_0009295c();\nLAB_00094ce7:\n    __preg = (regex_t *)FUN_00095bc7();\n    iVar7 = regexec(__preg,local_68,0,(regmatch_t *)0x0,0);\n    if ((regex_t *)(iVar6 + 0x90) == __preg) {\n      regfree((regex_t *)(iVar6 + 0x90));\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)((iVar7 == 0) != (uVar8 == 0x21));\n    FUN_00092d5e();\n    break;\n  case 0x23:\n    FUN_00093453();\n    break;\n  case 0x24:\n    uVar8 = FUN_00095fab();\n    FUN_0009227b();\n    local_78[3] = uVar8;\n    FUN_00092d5e();\n    break;\n  case 0x25:\n    if ((*(uint *)local_80[3] & 0xff00) == 0x1200) {\n      FUN_00092658();\n      local_78 = (uint *)FUN_00094969();\n      break;\n    }\n    goto switchD_00094a90_caseD_0;\n  case 0x26:\n    lVar23 = (longdouble)FUN_000925a2();\n    if (uVar8 == 0x4d) {\n      lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      lVar23 = lVar24;\n    }\n    else {\n      if (uVar8 < 0x4e) {\n        if (uVar8 == 0x21) {\n          iVar7 = FUN_00092658();\n          if (iVar7 == 0) goto LAB_00094c15;\n          goto LAB_00094c2d;\n        }\n        if (uVar8 == 0x2d) {\n          lVar23 = -lVar23;\n        }\n        goto LAB_00094b8a;\n      }\n      if (uVar8 == 0x6d) {\n        lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      }\n      else if (uVar8 == 0x70) {\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n      }\n      else {\n        if (uVar8 != 0x50) goto LAB_00094b8a;\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n        lVar23 = lVar24;\n      }\n    }\n    FUN_0009227b();\n    *local_5c = *local_5c | 1;\n    *(double *)(local_5c + 1) = (double)lVar24;\n    FUN_00092d5e();\n    lVar23 = (longdouble)(double)lVar23;\nLAB_00094b8a:\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)lVar23;\n    FUN_00092d5e();\n    break;\n  case 0x27:\n    local_78 = (uint *)local_80[2];\n    if (local_78 == *(uint **)(iVar6 + 0x50)) {\n      FUN_00092cc4();\n    }\nLAB_00094b15:\n    if (local_80[3] != 0) {\n      FUN_0009211c();\n      local_78 = (uint *)FUN_00093a51();\n    }\n    break;\n  case 0x28:\n    goto switchD_00094a90_caseD_28;\n  }" { (case_statement "default:\n    goto switchD_00094a90_caseD_0;" default : (goto_statement "goto switchD_00094a90_caseD_0;" goto statement_identifier ;)) (case_statement "case 2:\n    break;" case number_literal : (break_statement "break;" break ;)) (case_statement "case 3:\n    *(uint *)(iVar6 + -0x28) = local_80[2];\n    break;" case number_literal : (expression_statement "*(uint *)(iVar6 + -0x28) = local_80[2];" (assignment_expression "*(uint *)(iVar6 + -0x28) = local_80[2]" (pointer_expression "*(uint *)(iVar6 + -0x28)" * (cast_expression "(uint *)(iVar6 + -0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -0x28)" ( (binary_expression "iVar6 + -0x28" identifier + number_literal) )))) = (subscript_expression "local_80[2]" identifier [ number_literal ])) ;) (break_statement "break;" break ;)) (case_statement "case 4:" case number_literal :) (case_statement "case 5:\n    if (local_80[3] == 0) {\n      pFVar10 = *(FILE **)PTR_stdout_000d0fb4;\n    }\n    else {\n      piVar9 = (int *)FUN_00093a51();\n      pFVar10 = (FILE *)*piVar9;\n      if (pFVar10 == (FILE *)0x0) {\n        if (uVar8 == 0x7c) {\n          pFVar10 = popen(local_4c,"w");\n          *piVar9 = (int)pFVar10;\n          if (pFVar10 == (FILE *)0x0) {\n                    \n            FUN_00018e79("popen");\n          }\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_00019c3e();\n          *piVar9 = (int)pFVar10;\n        }\n      }\n    }\n    if ((local_7c & 0xff00) == 0x400) {\n      if (puVar18 == (uint *)0x0) {\n        pcVar15 = (char *)FUN_0009295c();\n        fputs_unlocked(pcVar15,pFVar10);\n      }\n      else {\n        while( true ) {\n          puVar22 = (uint *)0x0;\n          if ((*puVar18 & 0xff00) == 0x1300) {\n            puVar22 = (uint *)puVar18[3];\n          }\n          puVar18 = puVar22;\n          pbVar19 = (byte *)FUN_00094969();\n          if ((*pbVar19 & 1) == 0) {\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }\n          else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }\n          if (puVar18 == (uint *)0x0) break;\n          pcVar15 = (char *)FUN_0009295c();\n          fputs_unlocked(pcVar15,pFVar10);\n        }\n      }\n      pcVar15 = (char *)FUN_0009295c();\n      fputs_unlocked(pcVar15,pFVar10);\n      fflush(pFVar10);\n    }\n    else {\n      pcVar15 = (char *)FUN_00095fab();\n      fputs_unlocked(pcVar15,pFVar10);\n      free(pcVar15);\n      fflush(pFVar10);\n    }\n    break;" case number_literal : (if_statement "if (local_80[3] == 0) {\n      pFVar10 = *(FILE **)PTR_stdout_000d0fb4;\n    }\n    else {\n      piVar9 = (int *)FUN_00093a51();\n      pFVar10 = (FILE *)*piVar9;\n      if (pFVar10 == (FILE *)0x0) {\n        if (uVar8 == 0x7c) {\n          pFVar10 = popen(local_4c,"w");\n          *piVar9 = (int)pFVar10;\n          if (pFVar10 == (FILE *)0x0) {\n                    \n            FUN_00018e79("popen");\n          }\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_00019c3e();\n          *piVar9 = (int)pFVar10;\n        }\n      }\n    }" if (parenthesized_expression "(local_80[3] == 0)" ( (binary_expression "local_80[3] == 0" (subscript_expression "local_80[3]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      pFVar10 = *(FILE **)PTR_stdout_000d0fb4;\n    }" { (expression_statement "pFVar10 = *(FILE **)PTR_stdout_000d0fb4;" (assignment_expression "pFVar10 = *(FILE **)PTR_stdout_000d0fb4" identifier = (pointer_expression "*(FILE **)PTR_stdout_000d0fb4" * (cast_expression "(FILE **)PTR_stdout_000d0fb4" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) }) (else_clause "else {\n      piVar9 = (int *)FUN_00093a51();\n      pFVar10 = (FILE *)*piVar9;\n      if (pFVar10 == (FILE *)0x0) {\n        if (uVar8 == 0x7c) {\n          pFVar10 = popen(local_4c,"w");\n          *piVar9 = (int)pFVar10;\n          if (pFVar10 == (FILE *)0x0) {\n                    \n            FUN_00018e79("popen");\n          }\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_00019c3e();\n          *piVar9 = (int)pFVar10;\n        }\n      }\n    }" else (compound_statement "{\n      piVar9 = (int *)FUN_00093a51();\n      pFVar10 = (FILE *)*piVar9;\n      if (pFVar10 == (FILE *)0x0) {\n        if (uVar8 == 0x7c) {\n          pFVar10 = popen(local_4c,"w");\n          *piVar9 = (int)pFVar10;\n          if (pFVar10 == (FILE *)0x0) {\n                    \n            FUN_00018e79("popen");\n          }\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_00019c3e();\n          *piVar9 = (int)pFVar10;\n        }\n      }\n    }" { (expression_statement "piVar9 = (int *)FUN_00093a51();" (assignment_expression "piVar9 = (int *)FUN_00093a51()" identifier = (cast_expression "(int *)FUN_00093a51()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00093a51()" identifier (argument_list "()" ( ))))) ;) (expression_statement "pFVar10 = (FILE *)*piVar9;" (assignment_expression "pFVar10 = (FILE *)*piVar9" identifier = (cast_expression "(FILE *)*piVar9" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar9" * identifier))) ;) (if_statement "if (pFVar10 == (FILE *)0x0) {\n        if (uVar8 == 0x7c) {\n          pFVar10 = popen(local_4c,"w");\n          *piVar9 = (int)pFVar10;\n          if (pFVar10 == (FILE *)0x0) {\n                    \n            FUN_00018e79("popen");\n          }\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_00019c3e();\n          *piVar9 = (int)pFVar10;\n        }\n      }" if (parenthesized_expression "(pFVar10 == (FILE *)0x0)" ( (binary_expression "pFVar10 == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (uVar8 == 0x7c) {\n          pFVar10 = popen(local_4c,"w");\n          *piVar9 = (int)pFVar10;\n          if (pFVar10 == (FILE *)0x0) {\n                    \n            FUN_00018e79("popen");\n          }\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_00019c3e();\n          *piVar9 = (int)pFVar10;\n        }\n      }" { (if_statement "if (uVar8 == 0x7c) {\n          pFVar10 = popen(local_4c,"w");\n          *piVar9 = (int)pFVar10;\n          if (pFVar10 == (FILE *)0x0) {\n                    \n            FUN_00018e79("popen");\n          }\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_00019c3e();\n          *piVar9 = (int)pFVar10;\n        }" if (parenthesized_expression "(uVar8 == 0x7c)" ( (binary_expression "uVar8 == 0x7c" identifier == number_literal) )) (compound_statement "{\n          pFVar10 = popen(local_4c,"w");\n          *piVar9 = (int)pFVar10;\n          if (pFVar10 == (FILE *)0x0) {\n                    \n            FUN_00018e79("popen");\n          }\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }" { (expression_statement "pFVar10 = popen(local_4c,"w");" (assignment_expression "pFVar10 = popen(local_4c,"w")" identifier = (call_expression "popen(local_4c,"w")" identifier (argument_list "(local_4c,"w")" ( identifier , (string_literal ""w"" " string_content ") )))) ;) (expression_statement "*piVar9 = (int)pFVar10;" (assignment_expression "*piVar9 = (int)pFVar10" (pointer_expression "*piVar9" * identifier) = (cast_expression "(int)pFVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (pFVar10 == (FILE *)0x0) {\n                    \n            FUN_00018e79("popen");\n          }" if (parenthesized_expression "(pFVar10 == (FILE *)0x0)" ( (binary_expression "pFVar10 == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n            FUN_00018e79("popen");\n          }" { (expression_statement "FUN_00018e79("popen");" (call_expression "FUN_00018e79("popen")" identifier (argument_list "("popen")" ( (string_literal ""popen"" " string_content ") ))) ;) })) (expression_statement "*(undefined1 *)(piVar9 + 5) = 1;" (assignment_expression "*(undefined1 *)(piVar9 + 5) = 1" (pointer_expression "*(undefined1 *)(piVar9 + 5)" * (cast_expression "(undefined1 *)(piVar9 + 5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9 + 5)" ( (binary_expression "piVar9 + 5" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n          pFVar10 = (FILE *)FUN_00019c3e();\n          *piVar9 = (int)pFVar10;\n        }" else (compound_statement "{\n          pFVar10 = (FILE *)FUN_00019c3e();\n          *piVar9 = (int)pFVar10;\n        }" { (expression_statement "pFVar10 = (FILE *)FUN_00019c3e();" (assignment_expression "pFVar10 = (FILE *)FUN_00019c3e()" identifier = (cast_expression "(FILE *)FUN_00019c3e()" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00019c3e()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*piVar9 = (int)pFVar10;" (assignment_expression "*piVar9 = (int)pFVar10" (pointer_expression "*piVar9" * identifier) = (cast_expression "(int)pFVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }))) })) }))) (if_statement "if ((local_7c & 0xff00) == 0x400) {\n      if (puVar18 == (uint *)0x0) {\n        pcVar15 = (char *)FUN_0009295c();\n        fputs_unlocked(pcVar15,pFVar10);\n      }\n      else {\n        while( true ) {\n          puVar22 = (uint *)0x0;\n          if ((*puVar18 & 0xff00) == 0x1300) {\n            puVar22 = (uint *)puVar18[3];\n          }\n          puVar18 = puVar22;\n          pbVar19 = (byte *)FUN_00094969();\n          if ((*pbVar19 & 1) == 0) {\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }\n          else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }\n          if (puVar18 == (uint *)0x0) break;\n          pcVar15 = (char *)FUN_0009295c();\n          fputs_unlocked(pcVar15,pFVar10);\n        }\n      }\n      pcVar15 = (char *)FUN_0009295c();\n      fputs_unlocked(pcVar15,pFVar10);\n      fflush(pFVar10);\n    }\n    else {\n      pcVar15 = (char *)FUN_00095fab();\n      fputs_unlocked(pcVar15,pFVar10);\n      free(pcVar15);\n      fflush(pFVar10);\n    }" if (parenthesized_expression "((local_7c & 0xff00) == 0x400)" ( (binary_expression "(local_7c & 0xff00) == 0x400" (parenthesized_expression "(local_7c & 0xff00)" ( (binary_expression "local_7c & 0xff00" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      if (puVar18 == (uint *)0x0) {\n        pcVar15 = (char *)FUN_0009295c();\n        fputs_unlocked(pcVar15,pFVar10);\n      }\n      else {\n        while( true ) {\n          puVar22 = (uint *)0x0;\n          if ((*puVar18 & 0xff00) == 0x1300) {\n            puVar22 = (uint *)puVar18[3];\n          }\n          puVar18 = puVar22;\n          pbVar19 = (byte *)FUN_00094969();\n          if ((*pbVar19 & 1) == 0) {\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }\n          else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }\n          if (puVar18 == (uint *)0x0) break;\n          pcVar15 = (char *)FUN_0009295c();\n          fputs_unlocked(pcVar15,pFVar10);\n        }\n      }\n      pcVar15 = (char *)FUN_0009295c();\n      fputs_unlocked(pcVar15,pFVar10);\n      fflush(pFVar10);\n    }" { (if_statement "if (puVar18 == (uint *)0x0) {\n        pcVar15 = (char *)FUN_0009295c();\n        fputs_unlocked(pcVar15,pFVar10);\n      }\n      else {\n        while( true ) {\n          puVar22 = (uint *)0x0;\n          if ((*puVar18 & 0xff00) == 0x1300) {\n            puVar22 = (uint *)puVar18[3];\n          }\n          puVar18 = puVar22;\n          pbVar19 = (byte *)FUN_00094969();\n          if ((*pbVar19 & 1) == 0) {\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }\n          else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }\n          if (puVar18 == (uint *)0x0) break;\n          pcVar15 = (char *)FUN_0009295c();\n          fputs_unlocked(pcVar15,pFVar10);\n        }\n      }" if (parenthesized_expression "(puVar18 == (uint *)0x0)" ( (binary_expression "puVar18 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar15 = (char *)FUN_0009295c();\n        fputs_unlocked(pcVar15,pFVar10);\n      }" { (expression_statement "pcVar15 = (char *)FUN_0009295c();" (assignment_expression "pcVar15 = (char *)FUN_0009295c()" identifier = (cast_expression "(char *)FUN_0009295c()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0009295c()" identifier (argument_list "()" ( ))))) ;) (expression_statement "fputs_unlocked(pcVar15,pFVar10);" (call_expression "fputs_unlocked(pcVar15,pFVar10)" identifier (argument_list "(pcVar15,pFVar10)" ( identifier , identifier ))) ;) }) (else_clause "else {\n        while( true ) {\n          puVar22 = (uint *)0x0;\n          if ((*puVar18 & 0xff00) == 0x1300) {\n            puVar22 = (uint *)puVar18[3];\n          }\n          puVar18 = puVar22;\n          pbVar19 = (byte *)FUN_00094969();\n          if ((*pbVar19 & 1) == 0) {\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }\n          else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }\n          if (puVar18 == (uint *)0x0) break;\n          pcVar15 = (char *)FUN_0009295c();\n          fputs_unlocked(pcVar15,pFVar10);\n        }\n      }" else (compound_statement "{\n        while( true ) {\n          puVar22 = (uint *)0x0;\n          if ((*puVar18 & 0xff00) == 0x1300) {\n            puVar22 = (uint *)puVar18[3];\n          }\n          puVar18 = puVar22;\n          pbVar19 = (byte *)FUN_00094969();\n          if ((*pbVar19 & 1) == 0) {\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }\n          else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }\n          if (puVar18 == (uint *)0x0) break;\n          pcVar15 = (char *)FUN_0009295c();\n          fputs_unlocked(pcVar15,pFVar10);\n        }\n      }" { (while_statement "while( true ) {\n          puVar22 = (uint *)0x0;\n          if ((*puVar18 & 0xff00) == 0x1300) {\n            puVar22 = (uint *)puVar18[3];\n          }\n          puVar18 = puVar22;\n          pbVar19 = (byte *)FUN_00094969();\n          if ((*pbVar19 & 1) == 0) {\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }\n          else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }\n          if (puVar18 == (uint *)0x0) break;\n          pcVar15 = (char *)FUN_0009295c();\n          fputs_unlocked(pcVar15,pFVar10);\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          puVar22 = (uint *)0x0;\n          if ((*puVar18 & 0xff00) == 0x1300) {\n            puVar22 = (uint *)puVar18[3];\n          }\n          puVar18 = puVar22;\n          pbVar19 = (byte *)FUN_00094969();\n          if ((*pbVar19 & 1) == 0) {\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }\n          else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }\n          if (puVar18 == (uint *)0x0) break;\n          pcVar15 = (char *)FUN_0009295c();\n          fputs_unlocked(pcVar15,pFVar10);\n        }" { (expression_statement "puVar22 = (uint *)0x0;" (assignment_expression "puVar22 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((*puVar18 & 0xff00) == 0x1300) {\n            puVar22 = (uint *)puVar18[3];\n          }" if (parenthesized_expression "((*puVar18 & 0xff00) == 0x1300)" ( (binary_expression "(*puVar18 & 0xff00) == 0x1300" (parenthesized_expression "(*puVar18 & 0xff00)" ( (binary_expression "*puVar18 & 0xff00" (pointer_expression "*puVar18" * identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n            puVar22 = (uint *)puVar18[3];\n          }" { (expression_statement "puVar22 = (uint *)puVar18[3];" (assignment_expression "puVar22 = (uint *)puVar18[3]" identifier = (cast_expression "(uint *)puVar18[3]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar18[3]" identifier [ number_literal ]))) ;) })) (expression_statement "puVar18 = puVar22;" (assignment_expression "puVar18 = puVar22" identifier = identifier) ;) (expression_statement "pbVar19 = (byte *)FUN_00094969();" (assignment_expression "pbVar19 = (byte *)FUN_00094969()" identifier = (cast_expression "(byte *)FUN_00094969()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00094969()" identifier (argument_list "()" ( ))))) ;) (if_statement "if ((*pbVar19 & 1) == 0) {\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }\n          else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }" if (parenthesized_expression "((*pbVar19 & 1) == 0)" ( (binary_expression "(*pbVar19 & 1) == 0" (parenthesized_expression "(*pbVar19 & 1)" ( (binary_expression "*pbVar19 & 1" (pointer_expression "*pbVar19" * identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }" { (expression_statement "pcVar15 = (char *)FUN_0009295c();" (assignment_expression "pcVar15 = (char *)FUN_0009295c()" identifier = (cast_expression "(char *)FUN_0009295c()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0009295c()" identifier (argument_list "()" ( ))))) ;) (expression_statement "fputs_unlocked(pcVar15,pFVar10);" (call_expression "fputs_unlocked(pcVar15,pFVar10)" identifier (argument_list "(pcVar15,pFVar10)" ( identifier , identifier ))) ;) }) (else_clause "else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }" else (compound_statement "{\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }" { (expression_statement "lVar23 = (longdouble)FUN_000925a2();" (assignment_expression "lVar23 = (longdouble)FUN_000925a2()" identifier = (cast_expression "(longdouble)FUN_000925a2()" ( (type_descriptor "longdouble" type_identifier) ) (call_expression "FUN_000925a2()" identifier (argument_list "()" ( ))))) ;) (expression_statement "FUN_0009295c();" (call_expression "FUN_0009295c()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00092815((double)lVar23,1,extraout_EDX);" (call_expression "FUN_00092815((double)lVar23,1,extraout_EDX)" identifier (argument_list "((double)lVar23,1,extraout_EDX)" ( (cast_expression "(double)lVar23" ( (type_descriptor "double" primitive_type) ) identifier) , number_literal , identifier ))) ;) (expression_statement "fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);" (call_expression "fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10)" identifier (argument_list "(*(char **)(iVar6 + -0xc),pFVar10)" ( (pointer_expression "*(char **)(iVar6 + -0xc)" * (cast_expression "(char **)(iVar6 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + -0xc)" ( (binary_expression "iVar6 + -0xc" identifier + number_literal) )))) , identifier ))) ;) }))) (if_statement "if (puVar18 == (uint *)0x0) break;" if (parenthesized_expression "(puVar18 == (uint *)0x0)" ( (binary_expression "puVar18 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "pcVar15 = (char *)FUN_0009295c();" (assignment_expression "pcVar15 = (char *)FUN_0009295c()" identifier = (cast_expression "(char *)FUN_0009295c()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0009295c()" identifier (argument_list "()" ( ))))) ;) (expression_statement "fputs_unlocked(pcVar15,pFVar10);" (call_expression "fputs_unlocked(pcVar15,pFVar10)" identifier (argument_list "(pcVar15,pFVar10)" ( identifier , identifier ))) ;) })) }))) (expression_statement "pcVar15 = (char *)FUN_0009295c();" (assignment_expression "pcVar15 = (char *)FUN_0009295c()" identifier = (cast_expression "(char *)FUN_0009295c()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0009295c()" identifier (argument_list "()" ( ))))) ;) (expression_statement "fputs_unlocked(pcVar15,pFVar10);" (call_expression "fputs_unlocked(pcVar15,pFVar10)" identifier (argument_list "(pcVar15,pFVar10)" ( identifier , identifier ))) ;) (expression_statement "fflush(pFVar10);" (call_expression "fflush(pFVar10)" identifier (argument_list "(pFVar10)" ( identifier ))) ;) }) (else_clause "else {\n      pcVar15 = (char *)FUN_00095fab();\n      fputs_unlocked(pcVar15,pFVar10);\n      free(pcVar15);\n      fflush(pFVar10);\n    }" else (compound_statement "{\n      pcVar15 = (char *)FUN_00095fab();\n      fputs_unlocked(pcVar15,pFVar10);\n      free(pcVar15);\n      fflush(pFVar10);\n    }" { (expression_statement "pcVar15 = (char *)FUN_00095fab();" (assignment_expression "pcVar15 = (char *)FUN_00095fab()" identifier = (cast_expression "(char *)FUN_00095fab()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00095fab()" identifier (argument_list "()" ( ))))) ;) (expression_statement "fputs_unlocked(pcVar15,pFVar10);" (call_expression "fputs_unlocked(pcVar15,pFVar10)" identifier (argument_list "(pcVar15,pFVar10)" ( identifier , identifier ))) ;) (expression_statement "free(pcVar15);" (call_expression "free(pcVar15)" identifier (argument_list "(pcVar15)" ( identifier ))) ;) (expression_statement "fflush(pFVar10);" (call_expression "fflush(pFVar10)" identifier (argument_list "(pFVar10)" ( identifier ))) ;) }))) (break_statement "break;" break ;)) (case_statement "case 6:\n    iVar7 = FUN_0009211c();\n    if ((*local_6c & 0x800) == 0) {\n      *local_6c = *local_6c | 0x800;\n      uVar8 = 0;\n    }\n    else {\n      uVar8 = local_6c[4];\n    }\n    piVar9 = (int *)FUN_00019b89();\n    local_6c[4] = (uint)piVar9;\n    *piVar9 = (int)(piVar9 + 3);\n    piVar9[1] = (int)(piVar9 + 3);\n    piVar9[2] = uVar8;\n    if (*(int *)(iVar7 + 4) != 0) {\n      uVar8 = 0;\n      do {\n        iVar20 = *(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4);\n        if (iVar20 != 0) {\n          pcVar15 = (char *)*piVar9;\n          do {\n            strcpy(pcVar15,(char *)(iVar20 + 0x1c));\n            pcVar16 = (char *)*piVar9;\n            do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');\n            iVar20 = *(int *)(iVar20 + 0x18);\n          } while (iVar20 != 0);\n        }\n        uVar8 = uVar8 + 1;\n      } while (uVar8 < *(uint *)(iVar7 + 4));\n    }\n    break;" case number_literal : (expression_statement "iVar7 = FUN_0009211c();" (assignment_expression "iVar7 = FUN_0009211c()" identifier = (call_expression "FUN_0009211c()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((*local_6c & 0x800) == 0) {\n      *local_6c = *local_6c | 0x800;\n      uVar8 = 0;\n    }\n    else {\n      uVar8 = local_6c[4];\n    }" if (parenthesized_expression "((*local_6c & 0x800) == 0)" ( (binary_expression "(*local_6c & 0x800) == 0" (parenthesized_expression "(*local_6c & 0x800)" ( (binary_expression "*local_6c & 0x800" (pointer_expression "*local_6c" * identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      *local_6c = *local_6c | 0x800;\n      uVar8 = 0;\n    }" { (expression_statement "*local_6c = *local_6c | 0x800;" (assignment_expression "*local_6c = *local_6c | 0x800" (pointer_expression "*local_6c" * identifier) = (binary_expression "*local_6c | 0x800" (pointer_expression "*local_6c" * identifier) | number_literal)) ;) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      uVar8 = local_6c[4];\n    }" else (compound_statement "{\n      uVar8 = local_6c[4];\n    }" { (expression_statement "uVar8 = local_6c[4];" (assignment_expression "uVar8 = local_6c[4]" identifier = (subscript_expression "local_6c[4]" identifier [ number_literal ])) ;) }))) (expression_statement "piVar9 = (int *)FUN_00019b89();" (assignment_expression "piVar9 = (int *)FUN_00019b89()" identifier = (cast_expression "(int *)FUN_00019b89()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00019b89()" identifier (argument_list "()" ( ))))) ;) (expression_statement "local_6c[4] = (uint)piVar9;" (assignment_expression "local_6c[4] = (uint)piVar9" (subscript_expression "local_6c[4]" identifier [ number_literal ]) = (cast_expression "(uint)piVar9" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*piVar9 = (int)(piVar9 + 3);" (assignment_expression "*piVar9 = (int)(piVar9 + 3)" (pointer_expression "*piVar9" * identifier) = (cast_expression "(int)(piVar9 + 3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar9 + 3)" ( (binary_expression "piVar9 + 3" identifier + number_literal) )))) ;) (expression_statement "piVar9[1] = (int)(piVar9 + 3);" (assignment_expression "piVar9[1] = (int)(piVar9 + 3)" (subscript_expression "piVar9[1]" identifier [ number_literal ]) = (cast_expression "(int)(piVar9 + 3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar9 + 3)" ( (binary_expression "piVar9 + 3" identifier + number_literal) )))) ;) (expression_statement "piVar9[2] = uVar8;" (assignment_expression "piVar9[2] = uVar8" (subscript_expression "piVar9[2]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (*(int *)(iVar7 + 4) != 0) {\n      uVar8 = 0;\n      do {\n        iVar20 = *(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4);\n        if (iVar20 != 0) {\n          pcVar15 = (char *)*piVar9;\n          do {\n            strcpy(pcVar15,(char *)(iVar20 + 0x1c));\n            pcVar16 = (char *)*piVar9;\n            do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');\n            iVar20 = *(int *)(iVar20 + 0x18);\n          } while (iVar20 != 0);\n        }\n        uVar8 = uVar8 + 1;\n      } while (uVar8 < *(uint *)(iVar7 + 4));\n    }" if (parenthesized_expression "(*(int *)(iVar7 + 4) != 0)" ( (binary_expression "*(int *)(iVar7 + 4) != 0" (pointer_expression "*(int *)(iVar7 + 4)" * (cast_expression "(int *)(iVar7 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      uVar8 = 0;\n      do {\n        iVar20 = *(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4);\n        if (iVar20 != 0) {\n          pcVar15 = (char *)*piVar9;\n          do {\n            strcpy(pcVar15,(char *)(iVar20 + 0x1c));\n            pcVar16 = (char *)*piVar9;\n            do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');\n            iVar20 = *(int *)(iVar20 + 0x18);\n          } while (iVar20 != 0);\n        }\n        uVar8 = uVar8 + 1;\n      } while (uVar8 < *(uint *)(iVar7 + 4));\n    }" { (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (do_statement "do {\n        iVar20 = *(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4);\n        if (iVar20 != 0) {\n          pcVar15 = (char *)*piVar9;\n          do {\n            strcpy(pcVar15,(char *)(iVar20 + 0x1c));\n            pcVar16 = (char *)*piVar9;\n            do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');\n            iVar20 = *(int *)(iVar20 + 0x18);\n          } while (iVar20 != 0);\n        }\n        uVar8 = uVar8 + 1;\n      } while (uVar8 < *(uint *)(iVar7 + 4));" do (compound_statement "{\n        iVar20 = *(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4);\n        if (iVar20 != 0) {\n          pcVar15 = (char *)*piVar9;\n          do {\n            strcpy(pcVar15,(char *)(iVar20 + 0x1c));\n            pcVar16 = (char *)*piVar9;\n            do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');\n            iVar20 = *(int *)(iVar20 + 0x18);\n          } while (iVar20 != 0);\n        }\n        uVar8 = uVar8 + 1;\n      }" { (expression_statement "iVar20 = *(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4);" (assignment_expression "iVar20 = *(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4)" identifier = (pointer_expression "*(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4)" * (cast_expression "(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar7 + 0x10) + uVar8 * 4)" ( (binary_expression "*(int *)(iVar7 + 0x10) + uVar8 * 4" (pointer_expression "*(int *)(iVar7 + 0x10)" * (cast_expression "(int *)(iVar7 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x10)" ( (binary_expression "iVar7 + 0x10" identifier + number_literal) )))) + (binary_expression "uVar8 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (iVar20 != 0) {\n          pcVar15 = (char *)*piVar9;\n          do {\n            strcpy(pcVar15,(char *)(iVar20 + 0x1c));\n            pcVar16 = (char *)*piVar9;\n            do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');\n            iVar20 = *(int *)(iVar20 + 0x18);\n          } while (iVar20 != 0);\n        }" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (compound_statement "{\n          pcVar15 = (char *)*piVar9;\n          do {\n            strcpy(pcVar15,(char *)(iVar20 + 0x1c));\n            pcVar16 = (char *)*piVar9;\n            do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');\n            iVar20 = *(int *)(iVar20 + 0x18);\n          } while (iVar20 != 0);\n        }" { (expression_statement "pcVar15 = (char *)*piVar9;" (assignment_expression "pcVar15 = (char *)*piVar9" identifier = (cast_expression "(char *)*piVar9" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar9" * identifier))) ;) (do_statement "do {\n            strcpy(pcVar15,(char *)(iVar20 + 0x1c));\n            pcVar16 = (char *)*piVar9;\n            do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');\n            iVar20 = *(int *)(iVar20 + 0x18);\n          } while (iVar20 != 0);" do (compound_statement "{\n            strcpy(pcVar15,(char *)(iVar20 + 0x1c));\n            pcVar16 = (char *)*piVar9;\n            do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');\n            iVar20 = *(int *)(iVar20 + 0x18);\n          }" { (expression_statement "strcpy(pcVar15,(char *)(iVar20 + 0x1c));" (call_expression "strcpy(pcVar15,(char *)(iVar20 + 0x1c))" identifier (argument_list "(pcVar15,(char *)(iVar20 + 0x1c))" ( identifier , (cast_expression "(char *)(iVar20 + 0x1c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x1c)" ( (binary_expression "iVar20 + 0x1c" identifier + number_literal) ))) ))) ;) (expression_statement "pcVar16 = (char *)*piVar9;" (assignment_expression "pcVar16 = (char *)*piVar9" identifier = (cast_expression "(char *)*piVar9" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar9" * identifier))) ;) (do_statement "do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');" do (compound_statement "{\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            }" { (expression_statement "pcVar15 = pcVar16 + 1;" (assignment_expression "pcVar15 = pcVar16 + 1" identifier = (binary_expression "pcVar16 + 1" identifier + number_literal)) ;) (expression_statement "*piVar9 = (int)pcVar15;" (assignment_expression "*piVar9 = (int)pcVar15" (pointer_expression "*piVar9" * identifier) = (cast_expression "(int)pcVar15" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "cVar1 = *pcVar16;" (assignment_expression "cVar1 = *pcVar16" identifier = (pointer_expression "*pcVar16" * identifier)) ;) (expression_statement "pcVar16 = pcVar15;" (assignment_expression "pcVar16 = pcVar15" identifier = identifier) ;) }) while (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) (expression_statement "iVar20 = *(int *)(iVar20 + 0x18);" (assignment_expression "iVar20 = *(int *)(iVar20 + 0x18)" identifier = (pointer_expression "*(int *)(iVar20 + 0x18)" * (cast_expression "(int *)(iVar20 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x18)" ( (binary_expression "iVar20 + 0x18" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) ;) })) (expression_statement "uVar8 = uVar8 + 1;" (assignment_expression "uVar8 = uVar8 + 1" identifier = (binary_expression "uVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar8 < *(uint *)(iVar7 + 4))" ( (binary_expression "uVar8 < *(uint *)(iVar7 + 4)" identifier < (pointer_expression "*(uint *)(iVar7 + 4)" * (cast_expression "(uint *)(iVar7 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) ))))) )) ;) })) (break_statement "break;" break ;)) (case_statement "case 7:\n    goto switchD_00094a90_caseD_7;" case number_literal : (goto_statement "goto switchD_00094a90_caseD_7;" goto statement_identifier ;)) (case_statement "case 10:\n    FUN_00095b2f();\n    goto switchD_00094a90_caseD_7;" case number_literal : (expression_statement "FUN_00095b2f();" (call_expression "FUN_00095b2f()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto switchD_00094a90_caseD_7;" goto statement_identifier ;)) (case_statement "case 0xb:\n    goto switchD_00094a90_caseD_b;" case number_literal : (goto_statement "goto switchD_00094a90_caseD_b;" goto statement_identifier ;)) (case_statement "case 0xc:\n    *(undefined1 *)(iVar6 + -5) = 1;\n    goto switchD_00094a90_caseD_b;" case number_literal : (expression_statement "*(undefined1 *)(iVar6 + -5) = 1;" (assignment_expression "*(undefined1 *)(iVar6 + -5) = 1" (pointer_expression "*(undefined1 *)(iVar6 + -5)" * (cast_expression "(undefined1 *)(iVar6 + -5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -5)" ( (binary_expression "iVar6 + -5" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto switchD_00094a90_caseD_b;" goto statement_identifier ;)) (case_statement "case 0xd:\n    if ((*puVar18 & 0xff00) != 0x1300) {\n      iVar7 = FUN_00096324();\n      if (iVar7 != 0) goto LAB_000956d3;\n      local_80 = (uint *)local_80[3];\n      break;\n    }\n    if (((local_7c & 0x200000) == 0) && (iVar7 = FUN_00096324(), iVar7 == 0)) {\n      local_80 = (uint *)local_80[3];\n      break;\n    }\n    *local_80 = *local_80 | 0x200000;\n    iVar7 = FUN_00096324();\n    if (iVar7 != 0) {\n      *local_80 = *local_80 & 0xffdfffff;\n    }\n    goto LAB_000956d3;" case number_literal : (if_statement "if ((*puVar18 & 0xff00) != 0x1300) {\n      iVar7 = FUN_00096324();\n      if (iVar7 != 0) goto LAB_000956d3;\n      local_80 = (uint *)local_80[3];\n      break;\n    }" if (parenthesized_expression "((*puVar18 & 0xff00) != 0x1300)" ( (binary_expression "(*puVar18 & 0xff00) != 0x1300" (parenthesized_expression "(*puVar18 & 0xff00)" ( (binary_expression "*puVar18 & 0xff00" (pointer_expression "*puVar18" * identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n      iVar7 = FUN_00096324();\n      if (iVar7 != 0) goto LAB_000956d3;\n      local_80 = (uint *)local_80[3];\n      break;\n    }" { (expression_statement "iVar7 = FUN_00096324();" (assignment_expression "iVar7 = FUN_00096324()" identifier = (call_expression "FUN_00096324()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar7 != 0) goto LAB_000956d3;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000956d3;" goto statement_identifier ;)) (expression_statement "local_80 = (uint *)local_80[3];" (assignment_expression "local_80 = (uint *)local_80[3]" identifier = (cast_expression "(uint *)local_80[3]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_80[3]" identifier [ number_literal ]))) ;) (break_statement "break;" break ;) })) (if_statement "if (((local_7c & 0x200000) == 0) && (iVar7 = FUN_00096324(), iVar7 == 0)) {\n      local_80 = (uint *)local_80[3];\n      break;\n    }" if (parenthesized_expression "(((local_7c & 0x200000) == 0) && (iVar7 = FUN_00096324(), iVar7 == 0))" ( (binary_expression "((local_7c & 0x200000) == 0) && (iVar7 = FUN_00096324(), iVar7 == 0)" (parenthesized_expression "((local_7c & 0x200000) == 0)" ( (binary_expression "(local_7c & 0x200000) == 0" (parenthesized_expression "(local_7c & 0x200000)" ( (binary_expression "local_7c & 0x200000" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(iVar7 = FUN_00096324(), iVar7 == 0)" ( (comma_expression "iVar7 = FUN_00096324(), iVar7 == 0" (assignment_expression "iVar7 = FUN_00096324()" identifier = (call_expression "FUN_00096324()" identifier (argument_list "()" ( )))) , (binary_expression "iVar7 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n      local_80 = (uint *)local_80[3];\n      break;\n    }" { (expression_statement "local_80 = (uint *)local_80[3];" (assignment_expression "local_80 = (uint *)local_80[3]" identifier = (cast_expression "(uint *)local_80[3]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_80[3]" identifier [ number_literal ]))) ;) (break_statement "break;" break ;) })) (expression_statement "*local_80 = *local_80 | 0x200000;" (assignment_expression "*local_80 = *local_80 | 0x200000" (pointer_expression "*local_80" * identifier) = (binary_expression "*local_80 | 0x200000" (pointer_expression "*local_80" * identifier) | number_literal)) ;) (expression_statement "iVar7 = FUN_00096324();" (assignment_expression "iVar7 = FUN_00096324()" identifier = (call_expression "FUN_00096324()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar7 != 0) {\n      *local_80 = *local_80 & 0xffdfffff;\n    }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n      *local_80 = *local_80 & 0xffdfffff;\n    }" { (expression_statement "*local_80 = *local_80 & 0xffdfffff;" (assignment_expression "*local_80 = *local_80 & 0xffdfffff" (pointer_expression "*local_80" * identifier) = (binary_expression "*local_80 & 0xffdfffff" (pointer_expression "*local_80" * identifier) & number_literal)) ;) })) (goto_statement "goto LAB_000956d3;" goto statement_identifier ;)) (case_statement "case 0xe:\n    puVar18 = (uint *)local_6c[4];\n    pcVar15 = (char *)puVar18[1];\n    if (pcVar15 < (char *)*puVar18) {\n      do {\n        puVar18[1] = (uint)(pcVar15 + 1);\n        cVar1 = *pcVar15;\n        pcVar15 = pcVar15 + 1;\n      } while (cVar1 != '\0');\n      FUN_00093016();\n      goto LAB_000956d3;\n    }\n    uVar8 = puVar18[2];\n    free(puVar18);\n    local_6c[4] = uVar8;\n    local_80 = (uint *)local_80[3];\n    break;" case number_literal : (expression_statement "puVar18 = (uint *)local_6c[4];" (assignment_expression "puVar18 = (uint *)local_6c[4]" identifier = (cast_expression "(uint *)local_6c[4]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_6c[4]" identifier [ number_literal ]))) ;) (expression_statement "pcVar15 = (char *)puVar18[1];" (assignment_expression "pcVar15 = (char *)puVar18[1]" identifier = (cast_expression "(char *)puVar18[1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar18[1]" identifier [ number_literal ]))) ;) (if_statement "if (pcVar15 < (char *)*puVar18) {\n      do {\n        puVar18[1] = (uint)(pcVar15 + 1);\n        cVar1 = *pcVar15;\n        pcVar15 = pcVar15 + 1;\n      } while (cVar1 != '\0');\n      FUN_00093016();\n      goto LAB_000956d3;\n    }" if (parenthesized_expression "(pcVar15 < (char *)*puVar18)" ( (binary_expression "pcVar15 < (char *)*puVar18" identifier < (cast_expression "(char *)*puVar18" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar18" * identifier))) )) (compound_statement "{\n      do {\n        puVar18[1] = (uint)(pcVar15 + 1);\n        cVar1 = *pcVar15;\n        pcVar15 = pcVar15 + 1;\n      } while (cVar1 != '\0');\n      FUN_00093016();\n      goto LAB_000956d3;\n    }" { (do_statement "do {\n        puVar18[1] = (uint)(pcVar15 + 1);\n        cVar1 = *pcVar15;\n        pcVar15 = pcVar15 + 1;\n      } while (cVar1 != '\0');" do (compound_statement "{\n        puVar18[1] = (uint)(pcVar15 + 1);\n        cVar1 = *pcVar15;\n        pcVar15 = pcVar15 + 1;\n      }" { (expression_statement "puVar18[1] = (uint)(pcVar15 + 1);" (assignment_expression "puVar18[1] = (uint)(pcVar15 + 1)" (subscript_expression "puVar18[1]" identifier [ number_literal ]) = (call_expression "(uint)(pcVar15 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar15 + 1)" ( (binary_expression "pcVar15 + 1" identifier + number_literal) )))) ;) (expression_statement "cVar1 = *pcVar15;" (assignment_expression "cVar1 = *pcVar15" identifier = (pointer_expression "*pcVar15" * identifier)) ;) (expression_statement "pcVar15 = pcVar15 + 1;" (assignment_expression "pcVar15 = pcVar15 + 1" identifier = (binary_expression "pcVar15 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) (expression_statement "FUN_00093016();" (call_expression "FUN_00093016()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_000956d3;" goto statement_identifier ;) })) (expression_statement "uVar8 = puVar18[2];" (assignment_expression "uVar8 = puVar18[2]" identifier = (subscript_expression "puVar18[2]" identifier [ number_literal ])) ;) (expression_statement "free(puVar18);" (call_expression "free(puVar18)" identifier (argument_list "(puVar18)" ( identifier ))) ;) (expression_statement "local_6c[4] = uVar8;" (assignment_expression "local_6c[4] = uVar8" (subscript_expression "local_6c[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_80 = (uint *)local_80[3];" (assignment_expression "local_80 = (uint *)local_80[3]" identifier = (cast_expression "(uint *)local_80[3]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_80[3]" identifier [ number_literal ]))) ;) (break_statement "break;" break ;)) (case_statement "case 0x10:" case number_literal :) (case_statement "case 0x22:\n    lVar23 = (longdouble)FUN_000925a2();\n    switch(uVar8) {\n    case 0x25:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40) {\nLAB_00095638:\n        pcVar15 = "Division by zero";\n        goto LAB_00094f35;\n      }\n      local_74 = (double)((longdouble)local_74 -\n                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23);\n      break;\n    case 0x26:\nswitchD_000950ee_caseD_2:\n      pcVar15 = "Math support is not compiled in";\n      goto LAB_00094f35;\n    case 0x27:\n    case 0x28:\n    case 0x29:\n    case 0x2c:\n    case 0x2e:\n      break;\n    case 0x2a:\n      local_74 = (double)(lVar23 * (longdouble)local_74);\n      break;\n    case 0x2b:\n      local_74 = (double)(lVar23 + (longdouble)local_74);\n      break;\n    case 0x2d:\n      local_74 = (double)((longdouble)local_74 - lVar23);\n      break;\n    case 0x2f:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)\n      goto LAB_00095638;\n      local_74 = (double)((longdouble)local_74 / lVar23);\n    }\n    if ((local_7c & 0xff00) != 0x1000) {\n      local_78 = local_6c;\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = local_74;\n    FUN_00092d5e();\n    break;" case number_literal : (expression_statement "lVar23 = (longdouble)FUN_000925a2();" (assignment_expression "lVar23 = (longdouble)FUN_000925a2()" identifier = (cast_expression "(longdouble)FUN_000925a2()" ( (type_descriptor "longdouble" type_identifier) ) (call_expression "FUN_000925a2()" identifier (argument_list "()" ( ))))) ;) (switch_statement "switch(uVar8) {\n    case 0x25:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40) {\nLAB_00095638:\n        pcVar15 = "Division by zero";\n        goto LAB_00094f35;\n      }\n      local_74 = (double)((longdouble)local_74 -\n                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23);\n      break;\n    case 0x26:\nswitchD_000950ee_caseD_2:\n      pcVar15 = "Math support is not compiled in";\n      goto LAB_00094f35;\n    case 0x27:\n    case 0x28:\n    case 0x29:\n    case 0x2c:\n    case 0x2e:\n      break;\n    case 0x2a:\n      local_74 = (double)(lVar23 * (longdouble)local_74);\n      break;\n    case 0x2b:\n      local_74 = (double)(lVar23 + (longdouble)local_74);\n      break;\n    case 0x2d:\n      local_74 = (double)((longdouble)local_74 - lVar23);\n      break;\n    case 0x2f:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)\n      goto LAB_00095638;\n      local_74 = (double)((longdouble)local_74 / lVar23);\n    }" switch (parenthesized_expression "(uVar8)" ( identifier )) (compound_statement "{\n    case 0x25:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40) {\nLAB_00095638:\n        pcVar15 = "Division by zero";\n        goto LAB_00094f35;\n      }\n      local_74 = (double)((longdouble)local_74 -\n                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23);\n      break;\n    case 0x26:\nswitchD_000950ee_caseD_2:\n      pcVar15 = "Math support is not compiled in";\n      goto LAB_00094f35;\n    case 0x27:\n    case 0x28:\n    case 0x29:\n    case 0x2c:\n    case 0x2e:\n      break;\n    case 0x2a:\n      local_74 = (double)(lVar23 * (longdouble)local_74);\n      break;\n    case 0x2b:\n      local_74 = (double)(lVar23 + (longdouble)local_74);\n      break;\n    case 0x2d:\n      local_74 = (double)((longdouble)local_74 - lVar23);\n      break;\n    case 0x2f:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)\n      goto LAB_00095638;\n      local_74 = (double)((longdouble)local_74 / lVar23);\n    }" { (case_statement "case 0x25:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40) {\nLAB_00095638:\n        pcVar15 = "Division by zero";\n        goto LAB_00094f35;\n      }\n      local_74 = (double)((longdouble)local_74 -\n                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23);\n      break;" case number_literal : (expression_statement "lVar24 = (longdouble)0;" (assignment_expression "lVar24 = (longdouble)0" identifier = (cast_expression "(longdouble)0" ( (type_descriptor "longdouble" type_identifier) ) number_literal)) ;) (if_statement "if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40) {\nLAB_00095638:\n        pcVar15 = "Division by zero";\n        goto LAB_00094f35;\n      }" if (parenthesized_expression "((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)" ( (binary_expression "(byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40" (call_expression "(byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8))" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8))" ( (binary_expression "lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)" (binary_expression "lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)" (binary_expression "lVar23 < lVar24" identifier < identifier) | (call_expression "(byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)" ( (binary_expression "(ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8" (call_expression "(ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((ushort)(NAN(lVar23) || NAN(lVar24)) << 10)" ( (binary_expression "(ushort)(NAN(lVar23) || NAN(lVar24)) << 10" (call_expression "(ushort)(NAN(lVar23) || NAN(lVar24))" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(NAN(lVar23) || NAN(lVar24))" ( (binary_expression "NAN(lVar23) || NAN(lVar24)" (call_expression "NAN(lVar23)" identifier (argument_list "(lVar23)" ( identifier ))) || (call_expression "NAN(lVar24)" identifier (argument_list "(lVar24)" ( identifier )))) ))) << number_literal) ))) >> number_literal) )))) | (call_expression "(byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)" ( (binary_expression "(ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8" (call_expression "(ushort)((ushort)(lVar23 == lVar24) << 0xe)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((ushort)(lVar23 == lVar24) << 0xe)" ( (binary_expression "(ushort)(lVar23 == lVar24) << 0xe" (call_expression "(ushort)(lVar23 == lVar24)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(lVar23 == lVar24)" ( (binary_expression "lVar23 == lVar24" identifier == identifier) ))) << number_literal) ))) >> number_literal) )))) ))) == number_literal) )) (compound_statement "{\nLAB_00095638:\n        pcVar15 = "Division by zero";\n        goto LAB_00094f35;\n      }" { (labeled_statement "LAB_00095638:\n        pcVar15 = "Division by zero";" statement_identifier : (expression_statement "pcVar15 = "Division by zero";" (assignment_expression "pcVar15 = "Division by zero"" identifier = (string_literal ""Division by zero"" " string_content ")) ;)) (goto_statement "goto LAB_00094f35;" goto statement_identifier ;) })) (expression_statement "local_74 = (double)((longdouble)local_74 -\n                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23);" (assignment_expression "local_74 = (double)((longdouble)local_74 -\n                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23)" identifier = (cast_expression "(double)((longdouble)local_74 -\n                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((longdouble)local_74 -\n                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23)" ( (binary_expression "(longdouble)local_74 -\n                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23" (cast_expression "(longdouble)local_74" ( (type_descriptor "longdouble" type_identifier) ) identifier) - (binary_expression "(longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23" (cast_expression "(longdouble)(longlong)ROUND((longdouble)local_74 / lVar23)" ( (type_descriptor "longdouble" type_identifier) ) (cast_expression "(longlong)ROUND((longdouble)local_74 / lVar23)" ( (type_descriptor "longlong" type_identifier) ) (call_expression "ROUND((longdouble)local_74 / lVar23)" identifier (argument_list "((longdouble)local_74 / lVar23)" ( (binary_expression "(longdouble)local_74 / lVar23" (cast_expression "(longdouble)local_74" ( (type_descriptor "longdouble" type_identifier) ) identifier) / identifier) ))))) * identifier)) )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x26:\nswitchD_000950ee_caseD_2:\n      pcVar15 = "Math support is not compiled in";\n      goto LAB_00094f35;" case number_literal : (labeled_statement "switchD_000950ee_caseD_2:\n      pcVar15 = "Math support is not compiled in";" statement_identifier : (expression_statement "pcVar15 = "Math support is not compiled in";" (assignment_expression "pcVar15 = "Math support is not compiled in"" identifier = (string_literal ""Math support is not compiled in"" " string_content ")) ;)) (goto_statement "goto LAB_00094f35;" goto statement_identifier ;)) (case_statement "case 0x27:" case number_literal :) (case_statement "case 0x28:" case number_literal :) (case_statement "case 0x29:" case number_literal :) (case_statement "case 0x2c:" case number_literal :) (case_statement "case 0x2e:\n      break;" case number_literal : (break_statement "break;" break ;)) (case_statement "case 0x2a:\n      local_74 = (double)(lVar23 * (longdouble)local_74);\n      break;" case number_literal : (expression_statement "local_74 = (double)(lVar23 * (longdouble)local_74);" (assignment_expression "local_74 = (double)(lVar23 * (longdouble)local_74)" identifier = (cast_expression "(double)(lVar23 * (longdouble)local_74)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(lVar23 * (longdouble)local_74)" ( (binary_expression "lVar23 * (longdouble)local_74" identifier * (cast_expression "(longdouble)local_74" ( (type_descriptor "longdouble" type_identifier) ) identifier)) )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x2b:\n      local_74 = (double)(lVar23 + (longdouble)local_74);\n      break;" case number_literal : (expression_statement "local_74 = (double)(lVar23 + (longdouble)local_74);" (assignment_expression "local_74 = (double)(lVar23 + (longdouble)local_74)" identifier = (cast_expression "(double)(lVar23 + (longdouble)local_74)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(lVar23 + (longdouble)local_74)" ( (binary_expression "lVar23 + (longdouble)local_74" identifier + (cast_expression "(longdouble)local_74" ( (type_descriptor "longdouble" type_identifier) ) identifier)) )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x2d:\n      local_74 = (double)((longdouble)local_74 - lVar23);\n      break;" case number_literal : (expression_statement "local_74 = (double)((longdouble)local_74 - lVar23);" (assignment_expression "local_74 = (double)((longdouble)local_74 - lVar23)" identifier = (cast_expression "(double)((longdouble)local_74 - lVar23)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((longdouble)local_74 - lVar23)" ( (binary_expression "(longdouble)local_74 - lVar23" (cast_expression "(longdouble)local_74" ( (type_descriptor "longdouble" type_identifier) ) identifier) - identifier) )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x2f:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)\n      goto LAB_00095638;\n      local_74 = (double)((longdouble)local_74 / lVar23);" case number_literal : (expression_statement "lVar24 = (longdouble)0;" (assignment_expression "lVar24 = (longdouble)0" identifier = (cast_expression "(longdouble)0" ( (type_descriptor "longdouble" type_identifier) ) number_literal)) ;) (if_statement "if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)\n      goto LAB_00095638;" if (parenthesized_expression "((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)" ( (binary_expression "(byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40" (call_expression "(byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8))" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8))" ( (binary_expression "lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)" (binary_expression "lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)" (binary_expression "lVar23 < lVar24" identifier < identifier) | (call_expression "(byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)" ( (binary_expression "(ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8" (call_expression "(ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((ushort)(NAN(lVar23) || NAN(lVar24)) << 10)" ( (binary_expression "(ushort)(NAN(lVar23) || NAN(lVar24)) << 10" (call_expression "(ushort)(NAN(lVar23) || NAN(lVar24))" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(NAN(lVar23) || NAN(lVar24))" ( (binary_expression "NAN(lVar23) || NAN(lVar24)" (call_expression "NAN(lVar23)" identifier (argument_list "(lVar23)" ( identifier ))) || (call_expression "NAN(lVar24)" identifier (argument_list "(lVar24)" ( identifier )))) ))) << number_literal) ))) >> number_literal) )))) | (call_expression "(byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)" ( (binary_expression "(ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8" (call_expression "(ushort)((ushort)(lVar23 == lVar24) << 0xe)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((ushort)(lVar23 == lVar24) << 0xe)" ( (binary_expression "(ushort)(lVar23 == lVar24) << 0xe" (call_expression "(ushort)(lVar23 == lVar24)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(lVar23 == lVar24)" ( (binary_expression "lVar23 == lVar24" identifier == identifier) ))) << number_literal) ))) >> number_literal) )))) ))) == number_literal) )) (goto_statement "goto LAB_00095638;" goto statement_identifier ;)) (expression_statement "local_74 = (double)((longdouble)local_74 / lVar23);" (assignment_expression "local_74 = (double)((longdouble)local_74 / lVar23)" identifier = (cast_expression "(double)((longdouble)local_74 / lVar23)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((longdouble)local_74 / lVar23)" ( (binary_expression "(longdouble)local_74 / lVar23" (cast_expression "(longdouble)local_74" ( (type_descriptor "longdouble" type_identifier) ) identifier) / identifier) )))) ;)) })) (if_statement "if ((local_7c & 0xff00) != 0x1000) {\n      local_78 = local_6c;\n    }" if (parenthesized_expression "((local_7c & 0xff00) != 0x1000)" ( (binary_expression "(local_7c & 0xff00) != 0x1000" (parenthesized_expression "(local_7c & 0xff00)" ( (binary_expression "local_7c & 0xff00" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      local_78 = local_6c;\n    }" { (expression_statement "local_78 = local_6c;" (assignment_expression "local_78 = local_6c" identifier = identifier) ;) })) (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" identifier (argument_list "()" ( ))) ;) (expression_statement "*local_78 = *local_78 | 1;" (assignment_expression "*local_78 = *local_78 | 1" (pointer_expression "*local_78" * identifier) = (binary_expression "*local_78 | 1" (pointer_expression "*local_78" * identifier) | number_literal)) ;) (expression_statement "*(double *)(local_78 + 1) = local_74;" (assignment_expression "*(double *)(local_78 + 1) = local_74" (pointer_expression "*(double *)(local_78 + 1)" * (cast_expression "(double *)(local_78 + 1)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_78 + 1)" ( (binary_expression "local_78 + 1" identifier + number_literal) )))) = identifier) ;) (expression_statement "FUN_00092d5e();" (call_expression "FUN_00092d5e()" identifier (argument_list "()" ( ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x11:\n    local_78 = (uint *)FUN_00093dbd();\n    break;" case number_literal : (expression_statement "local_78 = (uint *)FUN_00093dbd();" (assignment_expression "local_78 = (uint *)FUN_00093dbd()" identifier = (cast_expression "(uint *)FUN_00093dbd()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00093dbd()" identifier (argument_list "()" ( ))))) ;) (break_statement "break;" break ;)) (case_statement "case 0x13:" case number_literal :) (case_statement "case 0x15:\n    puVar17 = &DAT_000cd91f;\n    if ((local_7c & 0xff00) == 0x1300) {\n      puVar17 = (undefined1 *)FUN_0009295c();\n    }\n    uVar8 = FUN_00019fd7("%s%s%s",local_68,puVar17,local_4c);\n    FUN_0009227b();\n    local_78[3] = uVar8;\n    FUN_00092d5e();\n    break;" case number_literal : (expression_statement "puVar17 = &DAT_000cd91f;" (assignment_expression "puVar17 = &DAT_000cd91f" identifier = (pointer_expression "&DAT_000cd91f" & identifier)) ;) (if_statement "if ((local_7c & 0xff00) == 0x1300) {\n      puVar17 = (undefined1 *)FUN_0009295c();\n    }" if (parenthesized_expression "((local_7c & 0xff00) == 0x1300)" ( (binary_expression "(local_7c & 0xff00) == 0x1300" (parenthesized_expression "(local_7c & 0xff00)" ( (binary_expression "local_7c & 0xff00" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      puVar17 = (undefined1 *)FUN_0009295c();\n    }" { (expression_statement "puVar17 = (undefined1 *)FUN_0009295c();" (assignment_expression "puVar17 = (undefined1 *)FUN_0009295c()" identifier = (cast_expression "(undefined1 *)FUN_0009295c()" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0009295c()" identifier (argument_list "()" ( ))))) ;) })) (expression_statement "uVar8 = FUN_00019fd7("%s%s%s",local_68,puVar17,local_4c);" (assignment_expression "uVar8 = FUN_00019fd7("%s%s%s",local_68,puVar17,local_4c)" identifier = (call_expression "FUN_00019fd7("%s%s%s",local_68,puVar17,local_4c)" identifier (argument_list "("%s%s%s",local_68,puVar17,local_4c)" ( (string_literal ""%s%s%s"" " string_content ") , identifier , identifier , identifier )))) ;) (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_78[3] = uVar8;" (assignment_expression "local_78[3] = uVar8" (subscript_expression "local_78[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_00092d5e();" (call_expression "FUN_00092d5e()" identifier (argument_list "()" ( ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x14:\n    FUN_000925a2();\n    if (((((ushort)*local_6c ^ 0x4000) & 0x4201) == 0) ||\n       (FUN_000925a2(), (((ushort)*local_5c ^ 0x4000) & 0x4201) == 0)) {\n      pcVar15 = (char *)FUN_0009295c();\n      pcVar16 = (char *)FUN_0009295c();\n      if (*(char *)(iVar6 + -8) == '\0') {\n        iVar7 = strcmp(pcVar15,pcVar16);\n        lVar23 = (longdouble)iVar7;\n        goto joined_r0x0009536c;\n      }\n      iVar7 = strcasecmp(pcVar15,pcVar16);\n      lVar23 = (longdouble)iVar7;\n      if ((local_7c & 0x7e) != 2) goto LAB_00095372;\nLAB_000952b4:\n      local_48 = (uint)((longdouble)0 <= lVar23);\n    }\n    else {\n      lVar24 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)(double)lVar24 - lVar23;\njoined_r0x0009536c:\n      if ((local_7c & 0x7e) == 2) goto LAB_000952b4;\nLAB_00095372:\n      if ((local_7c & 0x7e) == 4) {\n        lVar24 = (longdouble)0;\n        local_48 = (uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40);\n      }\n      else if ((local_7c & 0x7e) == 0) {\n        local_48 = (uint)((longdouble)0 < lVar23);\n      }\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)(int)(local_7c & 1 ^ local_48 ^ 1);\n    FUN_00092d5e();\n    break;" case number_literal : (expression_statement "FUN_000925a2();" (call_expression "FUN_000925a2()" identifier (argument_list "()" ( ))) ;) (if_statement "if (((((ushort)*local_6c ^ 0x4000) & 0x4201) == 0) ||\n       (FUN_000925a2(), (((ushort)*local_5c ^ 0x4000) & 0x4201) == 0)) {\n      pcVar15 = (char *)FUN_0009295c();\n      pcVar16 = (char *)FUN_0009295c();\n      if (*(char *)(iVar6 + -8) == '\0') {\n        iVar7 = strcmp(pcVar15,pcVar16);\n        lVar23 = (longdouble)iVar7;\n        goto joined_r0x0009536c;\n      }\n      iVar7 = strcasecmp(pcVar15,pcVar16);\n      lVar23 = (longdouble)iVar7;\n      if ((local_7c & 0x7e) != 2) goto LAB_00095372;\nLAB_000952b4:\n      local_48 = (uint)((longdouble)0 <= lVar23);\n    }\n    else {\n      lVar24 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)(double)lVar24 - lVar23;\njoined_r0x0009536c:\n      if ((local_7c & 0x7e) == 2) goto LAB_000952b4;\nLAB_00095372:\n      if ((local_7c & 0x7e) == 4) {\n        lVar24 = (longdouble)0;\n        local_48 = (uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40);\n      }\n      else if ((local_7c & 0x7e) == 0) {\n        local_48 = (uint)((longdouble)0 < lVar23);\n      }\n    }" if (parenthesized_expression "(((((ushort)*local_6c ^ 0x4000) & 0x4201) == 0) ||\n       (FUN_000925a2(), (((ushort)*local_5c ^ 0x4000) & 0x4201) == 0))" ( (binary_expression "((((ushort)*local_6c ^ 0x4000) & 0x4201) == 0) ||\n       (FUN_000925a2(), (((ushort)*local_5c ^ 0x4000) & 0x4201) == 0)" (parenthesized_expression "((((ushort)*local_6c ^ 0x4000) & 0x4201) == 0)" ( (binary_expression "(((ushort)*local_6c ^ 0x4000) & 0x4201) == 0" (parenthesized_expression "(((ushort)*local_6c ^ 0x4000) & 0x4201)" ( (binary_expression "((ushort)*local_6c ^ 0x4000) & 0x4201" (parenthesized_expression "((ushort)*local_6c ^ 0x4000)" ( (binary_expression "(ushort)*local_6c ^ 0x4000" (binary_expression "(ushort)*local_6c" (parenthesized_expression "(ushort)" ( identifier )) * identifier) ^ number_literal) )) & number_literal) )) == number_literal) )) || (parenthesized_expression "(FUN_000925a2(), (((ushort)*local_5c ^ 0x4000) & 0x4201) == 0)" ( (comma_expression "FUN_000925a2(), (((ushort)*local_5c ^ 0x4000) & 0x4201) == 0" (call_expression "FUN_000925a2()" identifier (argument_list "()" ( ))) , (binary_expression "(((ushort)*local_5c ^ 0x4000) & 0x4201) == 0" (parenthesized_expression "(((ushort)*local_5c ^ 0x4000) & 0x4201)" ( (binary_expression "((ushort)*local_5c ^ 0x4000) & 0x4201" (parenthesized_expression "((ushort)*local_5c ^ 0x4000)" ( (binary_expression "(ushort)*local_5c ^ 0x4000" (binary_expression "(ushort)*local_5c" (parenthesized_expression "(ushort)" ( identifier )) * identifier) ^ number_literal) )) & number_literal) )) == number_literal)) ))) )) (compound_statement "{\n      pcVar15 = (char *)FUN_0009295c();\n      pcVar16 = (char *)FUN_0009295c();\n      if (*(char *)(iVar6 + -8) == '\0') {\n        iVar7 = strcmp(pcVar15,pcVar16);\n        lVar23 = (longdouble)iVar7;\n        goto joined_r0x0009536c;\n      }\n      iVar7 = strcasecmp(pcVar15,pcVar16);\n      lVar23 = (longdouble)iVar7;\n      if ((local_7c & 0x7e) != 2) goto LAB_00095372;\nLAB_000952b4:\n      local_48 = (uint)((longdouble)0 <= lVar23);\n    }" { (expression_statement "pcVar15 = (char *)FUN_0009295c();" (assignment_expression "pcVar15 = (char *)FUN_0009295c()" identifier = (cast_expression "(char *)FUN_0009295c()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0009295c()" identifier (argument_list "()" ( ))))) ;) (expression_statement "pcVar16 = (char *)FUN_0009295c();" (assignment_expression "pcVar16 = (char *)FUN_0009295c()" identifier = (cast_expression "(char *)FUN_0009295c()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0009295c()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (*(char *)(iVar6 + -8) == '\0') {\n        iVar7 = strcmp(pcVar15,pcVar16);\n        lVar23 = (longdouble)iVar7;\n        goto joined_r0x0009536c;\n      }" if (parenthesized_expression "(*(char *)(iVar6 + -8) == '\0')" ( (binary_expression "*(char *)(iVar6 + -8) == '\0'" (pointer_expression "*(char *)(iVar6 + -8)" * (cast_expression "(char *)(iVar6 + -8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -8)" ( (binary_expression "iVar6 + -8" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        iVar7 = strcmp(pcVar15,pcVar16);\n        lVar23 = (longdouble)iVar7;\n        goto joined_r0x0009536c;\n      }" { (expression_statement "iVar7 = strcmp(pcVar15,pcVar16);" (assignment_expression "iVar7 = strcmp(pcVar15,pcVar16)" identifier = (call_expression "strcmp(pcVar15,pcVar16)" identifier (argument_list "(pcVar15,pcVar16)" ( identifier , identifier )))) ;) (expression_statement "lVar23 = (longdouble)iVar7;" (assignment_expression "lVar23 = (longdouble)iVar7" identifier = (cast_expression "(longdouble)iVar7" ( (type_descriptor "longdouble" type_identifier) ) identifier)) ;) (goto_statement "goto joined_r0x0009536c;" goto statement_identifier ;) })) (expression_statement "iVar7 = strcasecmp(pcVar15,pcVar16);" (assignment_expression "iVar7 = strcasecmp(pcVar15,pcVar16)" identifier = (call_expression "strcasecmp(pcVar15,pcVar16)" identifier (argument_list "(pcVar15,pcVar16)" ( identifier , identifier )))) ;) (expression_statement "lVar23 = (longdouble)iVar7;" (assignment_expression "lVar23 = (longdouble)iVar7" identifier = (cast_expression "(longdouble)iVar7" ( (type_descriptor "longdouble" type_identifier) ) identifier)) ;) (if_statement "if ((local_7c & 0x7e) != 2) goto LAB_00095372;" if (parenthesized_expression "((local_7c & 0x7e) != 2)" ( (binary_expression "(local_7c & 0x7e) != 2" (parenthesized_expression "(local_7c & 0x7e)" ( (binary_expression "local_7c & 0x7e" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00095372;" goto statement_identifier ;)) (labeled_statement "LAB_000952b4:\n      local_48 = (uint)((longdouble)0 <= lVar23);" statement_identifier : (expression_statement "local_48 = (uint)((longdouble)0 <= lVar23);" (assignment_expression "local_48 = (uint)((longdouble)0 <= lVar23)" identifier = (call_expression "(uint)((longdouble)0 <= lVar23)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((longdouble)0 <= lVar23)" ( (binary_expression "(longdouble)0 <= lVar23" (cast_expression "(longdouble)0" ( (type_descriptor "longdouble" type_identifier) ) number_literal) <= identifier) )))) ;)) }) (else_clause "else {\n      lVar24 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)(double)lVar24 - lVar23;\njoined_r0x0009536c:\n      if ((local_7c & 0x7e) == 2) goto LAB_000952b4;\nLAB_00095372:\n      if ((local_7c & 0x7e) == 4) {\n        lVar24 = (longdouble)0;\n        local_48 = (uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40);\n      }\n      else if ((local_7c & 0x7e) == 0) {\n        local_48 = (uint)((longdouble)0 < lVar23);\n      }\n    }" else (compound_statement "{\n      lVar24 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)(double)lVar24 - lVar23;\njoined_r0x0009536c:\n      if ((local_7c & 0x7e) == 2) goto LAB_000952b4;\nLAB_00095372:\n      if ((local_7c & 0x7e) == 4) {\n        lVar24 = (longdouble)0;\n        local_48 = (uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40);\n      }\n      else if ((local_7c & 0x7e) == 0) {\n        local_48 = (uint)((longdouble)0 < lVar23);\n      }\n    }" { (expression_statement "lVar24 = (longdouble)FUN_000925a2();" (assignment_expression "lVar24 = (longdouble)FUN_000925a2()" identifier = (cast_expression "(longdouble)FUN_000925a2()" ( (type_descriptor "longdouble" type_identifier) ) (call_expression "FUN_000925a2()" identifier (argument_list "()" ( ))))) ;) (expression_statement "lVar23 = (longdouble)FUN_000925a2();" (assignment_expression "lVar23 = (longdouble)FUN_000925a2()" identifier = (cast_expression "(longdouble)FUN_000925a2()" ( (type_descriptor "longdouble" type_identifier) ) (call_expression "FUN_000925a2()" identifier (argument_list "()" ( ))))) ;) (expression_statement "lVar23 = (longdouble)(double)lVar24 - lVar23;" (assignment_expression "lVar23 = (longdouble)(double)lVar24 - lVar23" identifier = (binary_expression "(longdouble)(double)lVar24 - lVar23" (cast_expression "(longdouble)(double)lVar24" ( (type_descriptor "longdouble" type_identifier) ) (cast_expression "(double)lVar24" ( (type_descriptor "double" primitive_type) ) identifier)) - identifier)) ;) (labeled_statement "joined_r0x0009536c:\n      if ((local_7c & 0x7e) == 2) goto LAB_000952b4;" statement_identifier : (if_statement "if ((local_7c & 0x7e) == 2) goto LAB_000952b4;" if (parenthesized_expression "((local_7c & 0x7e) == 2)" ( (binary_expression "(local_7c & 0x7e) == 2" (parenthesized_expression "(local_7c & 0x7e)" ( (binary_expression "local_7c & 0x7e" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000952b4;" goto statement_identifier ;))) (labeled_statement "LAB_00095372:\n      if ((local_7c & 0x7e) == 4) {\n        lVar24 = (longdouble)0;\n        local_48 = (uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40);\n      }\n      else if ((local_7c & 0x7e) == 0) {\n        local_48 = (uint)((longdouble)0 < lVar23);\n      }" statement_identifier : (if_statement "if ((local_7c & 0x7e) == 4) {\n        lVar24 = (longdouble)0;\n        local_48 = (uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40);\n      }\n      else if ((local_7c & 0x7e) == 0) {\n        local_48 = (uint)((longdouble)0 < lVar23);\n      }" if (parenthesized_expression "((local_7c & 0x7e) == 4)" ( (binary_expression "(local_7c & 0x7e) == 4" (parenthesized_expression "(local_7c & 0x7e)" ( (binary_expression "local_7c & 0x7e" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        lVar24 = (longdouble)0;\n        local_48 = (uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40);\n      }" { (expression_statement "lVar24 = (longdouble)0;" (assignment_expression "lVar24 = (longdouble)0" identifier = (cast_expression "(longdouble)0" ( (type_descriptor "longdouble" type_identifier) ) number_literal)) ;) (expression_statement "local_48 = (uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40);" (assignment_expression "local_48 = (uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)" identifier = (call_expression "(uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)" ( (binary_expression "(byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40" (call_expression "(byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8))" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8))" ( (binary_expression "lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)" (binary_expression "lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)" (binary_expression "lVar23 < lVar24" identifier < identifier) | (call_expression "(byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)" ( (binary_expression "(ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8" (call_expression "(ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((ushort)(NAN(lVar23) || NAN(lVar24)) << 10)" ( (binary_expression "(ushort)(NAN(lVar23) || NAN(lVar24)) << 10" (call_expression "(ushort)(NAN(lVar23) || NAN(lVar24))" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(NAN(lVar23) || NAN(lVar24))" ( (binary_expression "NAN(lVar23) || NAN(lVar24)" (call_expression "NAN(lVar23)" identifier (argument_list "(lVar23)" ( identifier ))) || (call_expression "NAN(lVar24)" identifier (argument_list "(lVar24)" ( identifier )))) ))) << number_literal) ))) >> number_literal) )))) | (call_expression "(byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)" ( (binary_expression "(ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8" (call_expression "(ushort)((ushort)(lVar23 == lVar24) << 0xe)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((ushort)(lVar23 == lVar24) << 0xe)" ( (binary_expression "(ushort)(lVar23 == lVar24) << 0xe" (call_expression "(ushort)(lVar23 == lVar24)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(lVar23 == lVar24)" ( (binary_expression "lVar23 == lVar24" identifier == identifier) ))) << number_literal) ))) >> number_literal) )))) ))) == number_literal) )))) ;) }) (else_clause "else if ((local_7c & 0x7e) == 0) {\n        local_48 = (uint)((longdouble)0 < lVar23);\n      }" else (if_statement "if ((local_7c & 0x7e) == 0) {\n        local_48 = (uint)((longdouble)0 < lVar23);\n      }" if (parenthesized_expression "((local_7c & 0x7e) == 0)" ( (binary_expression "(local_7c & 0x7e) == 0" (parenthesized_expression "(local_7c & 0x7e)" ( (binary_expression "local_7c & 0x7e" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        local_48 = (uint)((longdouble)0 < lVar23);\n      }" { (expression_statement "local_48 = (uint)((longdouble)0 < lVar23);" (assignment_expression "local_48 = (uint)((longdouble)0 < lVar23)" identifier = (call_expression "(uint)((longdouble)0 < lVar23)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((longdouble)0 < lVar23)" ( (binary_expression "(longdouble)0 < lVar23" (cast_expression "(longdouble)0" ( (type_descriptor "longdouble" type_identifier) ) number_literal) < identifier) )))) ;) }))))) }))) (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" identifier (argument_list "()" ( ))) ;) (expression_statement "*local_78 = *local_78 | 1;" (assignment_expression "*local_78 = *local_78 | 1" (pointer_expression "*local_78" * identifier) = (binary_expression "*local_78 | 1" (pointer_expression "*local_78" * identifier) | number_literal)) ;) (expression_statement "*(double *)(local_78 + 1) = (double)(int)(local_7c & 1 ^ local_48 ^ 1);" (assignment_expression "*(double *)(local_78 + 1) = (double)(int)(local_7c & 1 ^ local_48 ^ 1)" (pointer_expression "*(double *)(local_78 + 1)" * (cast_expression "(double *)(local_78 + 1)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_78 + 1)" ( (binary_expression "local_78 + 1" identifier + number_literal) )))) = (cast_expression "(double)(int)(local_7c & 1 ^ local_48 ^ 1)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)(local_7c & 1 ^ local_48 ^ 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_7c & 1 ^ local_48 ^ 1)" ( (binary_expression "local_7c & 1 ^ local_48 ^ 1" (binary_expression "local_7c & 1 ^ local_48" (binary_expression "local_7c & 1" identifier & number_literal) ^ identifier) ^ number_literal) ))))) ;) (expression_statement "FUN_00092d5e();" (call_expression "FUN_00092d5e()" identifier (argument_list "()" ( ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x16:\n    switch(uVar8) {\n    case 0:\n      local_64 = (double)(longlong)ROUND(local_74);\n      break;\n    case 1:\n      iVar7 = rand();\n      local_64 = (double)iVar7 / DAT_000b65c0;\n      break;\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n      goto switchD_000950ee_caseD_2;\n    case 7:\n      uVar8 = *(uint *)(iVar6 + 0x8c);\n      if (puVar18 == (uint *)0x0) {\n        local_34 = time((time_t *)0x0);\n      }\n      else {\n        local_34 = (uint)(longlong)ROUND(local_74);\n      }\n      local_64 = (double)(ulonglong)uVar8;\n      local_64 = (double)(longlong)local_64;\n      *(uint *)(iVar6 + 0x8c) = local_34;\n      srand(local_34);\n      break;\n    case 8:\n      tVar14 = time((time_t *)0x0);\n      local_64 = (double)tVar14;\n      break;\n    case 9:\n      if (puVar18 == (uint *)0x0) {\n        local_68 = (char *)FUN_0009295c();\n      }\n      else if ((*local_6c & 2) != 0) {\n        local_64 = (double)(ulonglong)*(uint *)local_6c[4];\n        local_64 = (double)(longlong)local_64;\n        break;\n      }\n      sVar13 = strlen(local_68);\n      local_64 = (double)(ulonglong)sVar13;\n      local_64 = (double)(longlong)local_64;\n      break;\n    case 10:\n      FUN_00019f78();\n      if (local_68 == (char *)0x0) {\n        local_64 = 0.0;\n      }\n      else if (*local_68 == '\0') {\n        local_64 = 0.0;\n      }\n      else {\n        iVar7 = system(local_68);\n        local_64 = (double)(iVar7 >> 8);\n      }\n      break;\n    case 0xb:\n      if (puVar18 == (uint *)0x0) {\n        fflush(*(FILE **)puVar4);\n      }\n      else if ((local_68 == (char *)0x0) || (*local_68 == '\0')) {\n        FUN_00019f78();\n      }\n      else {\n        puVar11 = (undefined4 *)FUN_00093a51();\n        fflush((FILE *)*puVar11);\n      }\n      break;\n    case 0xc:\n      puVar11 = (undefined4 *)FUN_000939df();\n      if (puVar11 == (undefined4 *)0x0) {\n        local_64 = 0.0;\n      }\n      else {\n        pFVar10 = (FILE *)*puVar11;\n        if (pFVar10 == (FILE *)0x0) {\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          local_64 = 0.0;\n        }\n        else {\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }\n      }\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = local_64;\n    FUN_00092d5e();\n    break;" case number_literal : (switch_statement "switch(uVar8) {\n    case 0:\n      local_64 = (double)(longlong)ROUND(local_74);\n      break;\n    case 1:\n      iVar7 = rand();\n      local_64 = (double)iVar7 / DAT_000b65c0;\n      break;\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n      goto switchD_000950ee_caseD_2;\n    case 7:\n      uVar8 = *(uint *)(iVar6 + 0x8c);\n      if (puVar18 == (uint *)0x0) {\n        local_34 = time((time_t *)0x0);\n      }\n      else {\n        local_34 = (uint)(longlong)ROUND(local_74);\n      }\n      local_64 = (double)(ulonglong)uVar8;\n      local_64 = (double)(longlong)local_64;\n      *(uint *)(iVar6 + 0x8c) = local_34;\n      srand(local_34);\n      break;\n    case 8:\n      tVar14 = time((time_t *)0x0);\n      local_64 = (double)tVar14;\n      break;\n    case 9:\n      if (puVar18 == (uint *)0x0) {\n        local_68 = (char *)FUN_0009295c();\n      }\n      else if ((*local_6c & 2) != 0) {\n        local_64 = (double)(ulonglong)*(uint *)local_6c[4];\n        local_64 = (double)(longlong)local_64;\n        break;\n      }\n      sVar13 = strlen(local_68);\n      local_64 = (double)(ulonglong)sVar13;\n      local_64 = (double)(longlong)local_64;\n      break;\n    case 10:\n      FUN_00019f78();\n      if (local_68 == (char *)0x0) {\n        local_64 = 0.0;\n      }\n      else if (*local_68 == '\0') {\n        local_64 = 0.0;\n      }\n      else {\n        iVar7 = system(local_68);\n        local_64 = (double)(iVar7 >> 8);\n      }\n      break;\n    case 0xb:\n      if (puVar18 == (uint *)0x0) {\n        fflush(*(FILE **)puVar4);\n      }\n      else if ((local_68 == (char *)0x0) || (*local_68 == '\0')) {\n        FUN_00019f78();\n      }\n      else {\n        puVar11 = (undefined4 *)FUN_00093a51();\n        fflush((FILE *)*puVar11);\n      }\n      break;\n    case 0xc:\n      puVar11 = (undefined4 *)FUN_000939df();\n      if (puVar11 == (undefined4 *)0x0) {\n        local_64 = 0.0;\n      }\n      else {\n        pFVar10 = (FILE *)*puVar11;\n        if (pFVar10 == (FILE *)0x0) {\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          local_64 = 0.0;\n        }\n        else {\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }\n      }\n    }" switch (parenthesized_expression "(uVar8)" ( identifier )) (compound_statement "{\n    case 0:\n      local_64 = (double)(longlong)ROUND(local_74);\n      break;\n    case 1:\n      iVar7 = rand();\n      local_64 = (double)iVar7 / DAT_000b65c0;\n      break;\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n      goto switchD_000950ee_caseD_2;\n    case 7:\n      uVar8 = *(uint *)(iVar6 + 0x8c);\n      if (puVar18 == (uint *)0x0) {\n        local_34 = time((time_t *)0x0);\n      }\n      else {\n        local_34 = (uint)(longlong)ROUND(local_74);\n      }\n      local_64 = (double)(ulonglong)uVar8;\n      local_64 = (double)(longlong)local_64;\n      *(uint *)(iVar6 + 0x8c) = local_34;\n      srand(local_34);\n      break;\n    case 8:\n      tVar14 = time((time_t *)0x0);\n      local_64 = (double)tVar14;\n      break;\n    case 9:\n      if (puVar18 == (uint *)0x0) {\n        local_68 = (char *)FUN_0009295c();\n      }\n      else if ((*local_6c & 2) != 0) {\n        local_64 = (double)(ulonglong)*(uint *)local_6c[4];\n        local_64 = (double)(longlong)local_64;\n        break;\n      }\n      sVar13 = strlen(local_68);\n      local_64 = (double)(ulonglong)sVar13;\n      local_64 = (double)(longlong)local_64;\n      break;\n    case 10:\n      FUN_00019f78();\n      if (local_68 == (char *)0x0) {\n        local_64 = 0.0;\n      }\n      else if (*local_68 == '\0') {\n        local_64 = 0.0;\n      }\n      else {\n        iVar7 = system(local_68);\n        local_64 = (double)(iVar7 >> 8);\n      }\n      break;\n    case 0xb:\n      if (puVar18 == (uint *)0x0) {\n        fflush(*(FILE **)puVar4);\n      }\n      else if ((local_68 == (char *)0x0) || (*local_68 == '\0')) {\n        FUN_00019f78();\n      }\n      else {\n        puVar11 = (undefined4 *)FUN_00093a51();\n        fflush((FILE *)*puVar11);\n      }\n      break;\n    case 0xc:\n      puVar11 = (undefined4 *)FUN_000939df();\n      if (puVar11 == (undefined4 *)0x0) {\n        local_64 = 0.0;\n      }\n      else {\n        pFVar10 = (FILE *)*puVar11;\n        if (pFVar10 == (FILE *)0x0) {\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          local_64 = 0.0;\n        }\n        else {\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }\n      }\n    }" { (case_statement "case 0:\n      local_64 = (double)(longlong)ROUND(local_74);\n      break;" case number_literal : (expression_statement "local_64 = (double)(longlong)ROUND(local_74);" (assignment_expression "local_64 = (double)(longlong)ROUND(local_74)" identifier = (cast_expression "(double)(longlong)ROUND(local_74)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)ROUND(local_74)" ( (type_descriptor "longlong" type_identifier) ) (call_expression "ROUND(local_74)" identifier (argument_list "(local_74)" ( identifier )))))) ;) (break_statement "break;" break ;)) (case_statement "case 1:\n      iVar7 = rand();\n      local_64 = (double)iVar7 / DAT_000b65c0;\n      break;" case number_literal : (expression_statement "iVar7 = rand();" (assignment_expression "iVar7 = rand()" identifier = (call_expression "rand()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_64 = (double)iVar7 / DAT_000b65c0;" (assignment_expression "local_64 = (double)iVar7 / DAT_000b65c0" identifier = (binary_expression "(double)iVar7 / DAT_000b65c0" (cast_expression "(double)iVar7" ( (type_descriptor "double" primitive_type) ) identifier) / identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 2:" case number_literal :) (case_statement "case 3:" case number_literal :) (case_statement "case 4:" case number_literal :) (case_statement "case 5:" case number_literal :) (case_statement "case 6:\n      goto switchD_000950ee_caseD_2;" case number_literal : (goto_statement "goto switchD_000950ee_caseD_2;" goto statement_identifier ;)) (case_statement "case 7:\n      uVar8 = *(uint *)(iVar6 + 0x8c);\n      if (puVar18 == (uint *)0x0) {\n        local_34 = time((time_t *)0x0);\n      }\n      else {\n        local_34 = (uint)(longlong)ROUND(local_74);\n      }\n      local_64 = (double)(ulonglong)uVar8;\n      local_64 = (double)(longlong)local_64;\n      *(uint *)(iVar6 + 0x8c) = local_34;\n      srand(local_34);\n      break;" case number_literal : (expression_statement "uVar8 = *(uint *)(iVar6 + 0x8c);" (assignment_expression "uVar8 = *(uint *)(iVar6 + 0x8c)" identifier = (pointer_expression "*(uint *)(iVar6 + 0x8c)" * (cast_expression "(uint *)(iVar6 + 0x8c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x8c)" ( (binary_expression "iVar6 + 0x8c" identifier + number_literal) ))))) ;) (if_statement "if (puVar18 == (uint *)0x0) {\n        local_34 = time((time_t *)0x0);\n      }\n      else {\n        local_34 = (uint)(longlong)ROUND(local_74);\n      }" if (parenthesized_expression "(puVar18 == (uint *)0x0)" ( (binary_expression "puVar18 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_34 = time((time_t *)0x0);\n      }" { (expression_statement "local_34 = time((time_t *)0x0);" (assignment_expression "local_34 = time((time_t *)0x0)" identifier = (call_expression "time((time_t *)0x0)" identifier (argument_list "((time_t *)0x0)" ( (cast_expression "(time_t *)0x0" ( (type_descriptor "time_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) }) (else_clause "else {\n        local_34 = (uint)(longlong)ROUND(local_74);\n      }" else (compound_statement "{\n        local_34 = (uint)(longlong)ROUND(local_74);\n      }" { (expression_statement "local_34 = (uint)(longlong)ROUND(local_74);" (assignment_expression "local_34 = (uint)(longlong)ROUND(local_74)" identifier = (cast_expression "(uint)(longlong)ROUND(local_74)" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(longlong)ROUND(local_74)" ( (type_descriptor "longlong" type_identifier) ) (call_expression "ROUND(local_74)" identifier (argument_list "(local_74)" ( identifier )))))) ;) }))) (expression_statement "local_64 = (double)(ulonglong)uVar8;" (assignment_expression "local_64 = (double)(ulonglong)uVar8" identifier = (cast_expression "(double)(ulonglong)uVar8" ( (type_descriptor "double" primitive_type) ) (cast_expression "(ulonglong)uVar8" ( (type_descriptor "ulonglong" type_identifier) ) identifier))) ;) (expression_statement "local_64 = (double)(longlong)local_64;" (assignment_expression "local_64 = (double)(longlong)local_64" identifier = (cast_expression "(double)(longlong)local_64" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_64" ( (type_descriptor "longlong" type_identifier) ) identifier))) ;) (expression_statement "*(uint *)(iVar6 + 0x8c) = local_34;" (assignment_expression "*(uint *)(iVar6 + 0x8c) = local_34" (pointer_expression "*(uint *)(iVar6 + 0x8c)" * (cast_expression "(uint *)(iVar6 + 0x8c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x8c)" ( (binary_expression "iVar6 + 0x8c" identifier + number_literal) )))) = identifier) ;) (expression_statement "srand(local_34);" (call_expression "srand(local_34)" identifier (argument_list "(local_34)" ( identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 8:\n      tVar14 = time((time_t *)0x0);\n      local_64 = (double)tVar14;\n      break;" case number_literal : (expression_statement "tVar14 = time((time_t *)0x0);" (assignment_expression "tVar14 = time((time_t *)0x0)" identifier = (call_expression "time((time_t *)0x0)" identifier (argument_list "((time_t *)0x0)" ( (cast_expression "(time_t *)0x0" ( (type_descriptor "time_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (expression_statement "local_64 = (double)tVar14;" (assignment_expression "local_64 = (double)tVar14" identifier = (cast_expression "(double)tVar14" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 9:\n      if (puVar18 == (uint *)0x0) {\n        local_68 = (char *)FUN_0009295c();\n      }\n      else if ((*local_6c & 2) != 0) {\n        local_64 = (double)(ulonglong)*(uint *)local_6c[4];\n        local_64 = (double)(longlong)local_64;\n        break;\n      }\n      sVar13 = strlen(local_68);\n      local_64 = (double)(ulonglong)sVar13;\n      local_64 = (double)(longlong)local_64;\n      break;" case number_literal : (if_statement "if (puVar18 == (uint *)0x0) {\n        local_68 = (char *)FUN_0009295c();\n      }\n      else if ((*local_6c & 2) != 0) {\n        local_64 = (double)(ulonglong)*(uint *)local_6c[4];\n        local_64 = (double)(longlong)local_64;\n        break;\n      }" if (parenthesized_expression "(puVar18 == (uint *)0x0)" ( (binary_expression "puVar18 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_68 = (char *)FUN_0009295c();\n      }" { (expression_statement "local_68 = (char *)FUN_0009295c();" (assignment_expression "local_68 = (char *)FUN_0009295c()" identifier = (cast_expression "(char *)FUN_0009295c()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0009295c()" identifier (argument_list "()" ( ))))) ;) }) (else_clause "else if ((*local_6c & 2) != 0) {\n        local_64 = (double)(ulonglong)*(uint *)local_6c[4];\n        local_64 = (double)(longlong)local_64;\n        break;\n      }" else (if_statement "if ((*local_6c & 2) != 0) {\n        local_64 = (double)(ulonglong)*(uint *)local_6c[4];\n        local_64 = (double)(longlong)local_64;\n        break;\n      }" if (parenthesized_expression "((*local_6c & 2) != 0)" ( (binary_expression "(*local_6c & 2) != 0" (parenthesized_expression "(*local_6c & 2)" ( (binary_expression "*local_6c & 2" (pointer_expression "*local_6c" * identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n        local_64 = (double)(ulonglong)*(uint *)local_6c[4];\n        local_64 = (double)(longlong)local_64;\n        break;\n      }" { (expression_statement "local_64 = (double)(ulonglong)*(uint *)local_6c[4];" (assignment_expression "local_64 = (double)(ulonglong)*(uint *)local_6c[4]" identifier = (binary_expression "(double)(ulonglong)*(uint *)local_6c[4]" (cast_expression "(double)(ulonglong)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(ulonglong)" ( identifier ))) * (cast_expression "(uint *)local_6c[4]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_6c[4]" identifier [ number_literal ])))) ;) (expression_statement "local_64 = (double)(longlong)local_64;" (assignment_expression "local_64 = (double)(longlong)local_64" identifier = (cast_expression "(double)(longlong)local_64" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_64" ( (type_descriptor "longlong" type_identifier) ) identifier))) ;) (break_statement "break;" break ;) })))) (expression_statement "sVar13 = strlen(local_68);" (assignment_expression "sVar13 = strlen(local_68)" identifier = (call_expression "strlen(local_68)" identifier (argument_list "(local_68)" ( identifier )))) ;) (expression_statement "local_64 = (double)(ulonglong)sVar13;" (assignment_expression "local_64 = (double)(ulonglong)sVar13" identifier = (cast_expression "(double)(ulonglong)sVar13" ( (type_descriptor "double" primitive_type) ) (cast_expression "(ulonglong)sVar13" ( (type_descriptor "ulonglong" type_identifier) ) identifier))) ;) (expression_statement "local_64 = (double)(longlong)local_64;" (assignment_expression "local_64 = (double)(longlong)local_64" identifier = (cast_expression "(double)(longlong)local_64" ( (type_descriptor "double" primitive_type) ) (cast_expression "(longlong)local_64" ( (type_descriptor "longlong" type_identifier) ) identifier))) ;) (break_statement "break;" break ;)) (case_statement "case 10:\n      FUN_00019f78();\n      if (local_68 == (char *)0x0) {\n        local_64 = 0.0;\n      }\n      else if (*local_68 == '\0') {\n        local_64 = 0.0;\n      }\n      else {\n        iVar7 = system(local_68);\n        local_64 = (double)(iVar7 >> 8);\n      }\n      break;" case number_literal : (expression_statement "FUN_00019f78();" (call_expression "FUN_00019f78()" identifier (argument_list "()" ( ))) ;) (if_statement "if (local_68 == (char *)0x0) {\n        local_64 = 0.0;\n      }\n      else if (*local_68 == '\0') {\n        local_64 = 0.0;\n      }\n      else {\n        iVar7 = system(local_68);\n        local_64 = (double)(iVar7 >> 8);\n      }" if (parenthesized_expression "(local_68 == (char *)0x0)" ( (binary_expression "local_68 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_64 = 0.0;\n      }" { (expression_statement "local_64 = 0.0;" (assignment_expression "local_64 = 0.0" identifier = number_literal) ;) }) (else_clause "else if (*local_68 == '\0') {\n        local_64 = 0.0;\n      }\n      else {\n        iVar7 = system(local_68);\n        local_64 = (double)(iVar7 >> 8);\n      }" else (if_statement "if (*local_68 == '\0') {\n        local_64 = 0.0;\n      }\n      else {\n        iVar7 = system(local_68);\n        local_64 = (double)(iVar7 >> 8);\n      }" if (parenthesized_expression "(*local_68 == '\0')" ( (binary_expression "*local_68 == '\0'" (pointer_expression "*local_68" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        local_64 = 0.0;\n      }" { (expression_statement "local_64 = 0.0;" (assignment_expression "local_64 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n        iVar7 = system(local_68);\n        local_64 = (double)(iVar7 >> 8);\n      }" else (compound_statement "{\n        iVar7 = system(local_68);\n        local_64 = (double)(iVar7 >> 8);\n      }" { (expression_statement "iVar7 = system(local_68);" (assignment_expression "iVar7 = system(local_68)" identifier = (call_expression "system(local_68)" identifier (argument_list "(local_68)" ( identifier )))) ;) (expression_statement "local_64 = (double)(iVar7 >> 8);" (assignment_expression "local_64 = (double)(iVar7 >> 8)" identifier = (cast_expression "(double)(iVar7 >> 8)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(iVar7 >> 8)" ( (binary_expression "iVar7 >> 8" identifier >> number_literal) )))) ;) }))))) (break_statement "break;" break ;)) (case_statement "case 0xb:\n      if (puVar18 == (uint *)0x0) {\n        fflush(*(FILE **)puVar4);\n      }\n      else if ((local_68 == (char *)0x0) || (*local_68 == '\0')) {\n        FUN_00019f78();\n      }\n      else {\n        puVar11 = (undefined4 *)FUN_00093a51();\n        fflush((FILE *)*puVar11);\n      }\n      break;" case number_literal : (if_statement "if (puVar18 == (uint *)0x0) {\n        fflush(*(FILE **)puVar4);\n      }\n      else if ((local_68 == (char *)0x0) || (*local_68 == '\0')) {\n        FUN_00019f78();\n      }\n      else {\n        puVar11 = (undefined4 *)FUN_00093a51();\n        fflush((FILE *)*puVar11);\n      }" if (parenthesized_expression "(puVar18 == (uint *)0x0)" ( (binary_expression "puVar18 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        fflush(*(FILE **)puVar4);\n      }" { (expression_statement "fflush(*(FILE **)puVar4);" (call_expression "fflush(*(FILE **)puVar4)" identifier (argument_list "(*(FILE **)puVar4)" ( (pointer_expression "*(FILE **)puVar4" * (cast_expression "(FILE **)puVar4" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) }) (else_clause "else if ((local_68 == (char *)0x0) || (*local_68 == '\0')) {\n        FUN_00019f78();\n      }\n      else {\n        puVar11 = (undefined4 *)FUN_00093a51();\n        fflush((FILE *)*puVar11);\n      }" else (if_statement "if ((local_68 == (char *)0x0) || (*local_68 == '\0')) {\n        FUN_00019f78();\n      }\n      else {\n        puVar11 = (undefined4 *)FUN_00093a51();\n        fflush((FILE *)*puVar11);\n      }" if (parenthesized_expression "((local_68 == (char *)0x0) || (*local_68 == '\0'))" ( (binary_expression "(local_68 == (char *)0x0) || (*local_68 == '\0')" (parenthesized_expression "(local_68 == (char *)0x0)" ( (binary_expression "local_68 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*local_68 == '\0')" ( (binary_expression "*local_68 == '\0'" (pointer_expression "*local_68" * identifier) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n        FUN_00019f78();\n      }" { (expression_statement "FUN_00019f78();" (call_expression "FUN_00019f78()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n        puVar11 = (undefined4 *)FUN_00093a51();\n        fflush((FILE *)*puVar11);\n      }" else (compound_statement "{\n        puVar11 = (undefined4 *)FUN_00093a51();\n        fflush((FILE *)*puVar11);\n      }" { (expression_statement "puVar11 = (undefined4 *)FUN_00093a51();" (assignment_expression "puVar11 = (undefined4 *)FUN_00093a51()" identifier = (cast_expression "(undefined4 *)FUN_00093a51()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00093a51()" identifier (argument_list "()" ( ))))) ;) (expression_statement "fflush((FILE *)*puVar11);" (call_expression "fflush((FILE *)*puVar11)" identifier (argument_list "((FILE *)*puVar11)" ( (cast_expression "(FILE *)*puVar11" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar11" * identifier)) ))) ;) }))))) (break_statement "break;" break ;)) (case_statement "case 0xc:\n      puVar11 = (undefined4 *)FUN_000939df();\n      if (puVar11 == (undefined4 *)0x0) {\n        local_64 = 0.0;\n      }\n      else {\n        pFVar10 = (FILE *)*puVar11;\n        if (pFVar10 == (FILE *)0x0) {\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          local_64 = 0.0;\n        }\n        else {\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }\n      }" case number_literal : (expression_statement "puVar11 = (undefined4 *)FUN_000939df();" (assignment_expression "puVar11 = (undefined4 *)FUN_000939df()" identifier = (cast_expression "(undefined4 *)FUN_000939df()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000939df()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (puVar11 == (undefined4 *)0x0) {\n        local_64 = 0.0;\n      }\n      else {\n        pFVar10 = (FILE *)*puVar11;\n        if (pFVar10 == (FILE *)0x0) {\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          local_64 = 0.0;\n        }\n        else {\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }\n      }" if (parenthesized_expression "(puVar11 == (undefined4 *)0x0)" ( (binary_expression "puVar11 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_64 = 0.0;\n      }" { (expression_statement "local_64 = 0.0;" (assignment_expression "local_64 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n        pFVar10 = (FILE *)*puVar11;\n        if (pFVar10 == (FILE *)0x0) {\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          local_64 = 0.0;\n        }\n        else {\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }\n      }" else (compound_statement "{\n        pFVar10 = (FILE *)*puVar11;\n        if (pFVar10 == (FILE *)0x0) {\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          local_64 = 0.0;\n        }\n        else {\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }\n      }" { (expression_statement "pFVar10 = (FILE *)*puVar11;" (assignment_expression "pFVar10 = (FILE *)*puVar11" identifier = (cast_expression "(FILE *)*puVar11" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar11" * identifier))) ;) (if_statement "if (pFVar10 == (FILE *)0x0) {\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          local_64 = 0.0;\n        }\n        else {\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }" if (parenthesized_expression "(pFVar10 == (FILE *)0x0)" ( (binary_expression "pFVar10 == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          local_64 = 0.0;\n        }" { (expression_statement "free((void *)puVar11[1]);" (call_expression "free((void *)puVar11[1])" identifier (argument_list "((void *)puVar11[1])" ( (cast_expression "(void *)puVar11[1]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[1]" identifier [ number_literal ])) ))) ;) (expression_statement "FUN_0009269c();" (call_expression "FUN_0009269c()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_64 = 0.0;" (assignment_expression "local_64 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }" else (compound_statement "{\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }" { (if_statement "if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }" if (parenthesized_expression "(*(char *)(puVar11 + 5) == '\0')" ( (binary_expression "*(char *)(puVar11 + 5) == '\0'" (pointer_expression "*(char *)(puVar11 + 5)" * (cast_expression "(char *)(puVar11 + 5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 5)" ( (binary_expression "puVar11 + 5" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            iVar7 = fclose(pFVar10);\n          }" { (expression_statement "iVar7 = fclose(pFVar10);" (assignment_expression "iVar7 = fclose(pFVar10)" identifier = (call_expression "fclose(pFVar10)" identifier (argument_list "(pFVar10)" ( identifier )))) ;) }) (else_clause "else {\n            iVar7 = pclose(pFVar10);\n          }" else (compound_statement "{\n            iVar7 = pclose(pFVar10);\n          }" { (expression_statement "iVar7 = pclose(pFVar10);" (assignment_expression "iVar7 = pclose(pFVar10)" identifier = (call_expression "pclose(pFVar10)" identifier (argument_list "(pFVar10)" ( identifier )))) ;) }))) (expression_statement "free((void *)puVar11[1]);" (call_expression "free((void *)puVar11[1])" identifier (argument_list "((void *)puVar11[1])" ( (cast_expression "(void *)puVar11[1]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[1]" identifier [ number_literal ])) ))) ;) (expression_statement "FUN_0009269c();" (call_expression "FUN_0009269c()" identifier (argument_list "()" ( ))) ;) (if_statement "if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n            local_64 = 0.0;\n          }" { (expression_statement "local_64 = 0.0;" (assignment_expression "local_64 = 0.0" identifier = number_literal) ;) }) (else_clause "else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }" else (compound_statement "{\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }" { (expression_statement "iVar20 = *piVar5;" (assignment_expression "iVar20 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "puVar18 = *(uint **)(iVar6 + 0x44);" (assignment_expression "puVar18 = *(uint **)(iVar6 + 0x44)" identifier = (pointer_expression "*(uint **)(iVar6 + 0x44)" * (cast_expression "(uint **)(iVar6 + 0x44)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x44)" ( (binary_expression "iVar6 + 0x44" identifier + number_literal) ))))) ;) (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" identifier (argument_list "()" ( ))) ;) (expression_statement "*puVar18 = *puVar18 | 1;" (assignment_expression "*puVar18 = *puVar18 | 1" (pointer_expression "*puVar18" * identifier) = (binary_expression "*puVar18 | 1" (pointer_expression "*puVar18" * identifier) | number_literal)) ;) (expression_statement "*(double *)(puVar18 + 1) = (double)iVar20;" (assignment_expression "*(double *)(puVar18 + 1) = (double)iVar20" (pointer_expression "*(double *)(puVar18 + 1)" * (cast_expression "(double *)(puVar18 + 1)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 1)" ( (binary_expression "puVar18 + 1" identifier + number_literal) )))) = (cast_expression "(double)iVar20" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "FUN_00092d5e();" (call_expression "FUN_00092d5e()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_64 = (double)iVar7;" (assignment_expression "local_64 = (double)iVar7" identifier = (cast_expression "(double)iVar7" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }))) }))) })))) })) (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" identifier (argument_list "()" ( ))) ;) (expression_statement "*local_78 = *local_78 | 1;" (assignment_expression "*local_78 = *local_78 | 1" (pointer_expression "*local_78" * identifier) = (binary_expression "*local_78 | 1" (pointer_expression "*local_78" * identifier) | number_literal)) ;) (expression_statement "*(double *)(local_78 + 1) = local_64;" (assignment_expression "*(double *)(local_78 + 1) = local_64" (pointer_expression "*(double *)(local_78 + 1)" * (cast_expression "(double *)(local_78 + 1)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_78 + 1)" ( (binary_expression "local_78 + 1" identifier + number_literal) )))) = identifier) ;) (expression_statement "FUN_00092d5e();" (call_expression "FUN_00092d5e()" identifier (argument_list "()" ( ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x17:\n    lVar23 = (longdouble)FUN_000925a2();\n    iVar7 = (int)ROUND(lVar23);\n    if (iVar7 < 0) {\n      pcVar15 = "Access to negative field";\n      goto LAB_00094f35;\n    }\n    if (iVar7 == 0) {\n      local_78 = *(uint **)(iVar6 + 0x34);\n    }\n    else {\n      FUN_00092cc4();\n      if (*(int *)(iVar6 + -0x20) < iVar7) {\n        FUN_000922c0();\n      }\n      local_78 = (uint *)(*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14);\n    }\n    break;" case number_literal : (expression_statement "lVar23 = (longdouble)FUN_000925a2();" (assignment_expression "lVar23 = (longdouble)FUN_000925a2()" identifier = (cast_expression "(longdouble)FUN_000925a2()" ( (type_descriptor "longdouble" type_identifier) ) (call_expression "FUN_000925a2()" identifier (argument_list "()" ( ))))) ;) (expression_statement "iVar7 = (int)ROUND(lVar23);" (assignment_expression "iVar7 = (int)ROUND(lVar23)" identifier = (cast_expression "(int)ROUND(lVar23)" ( (type_descriptor "int" primitive_type) ) (call_expression "ROUND(lVar23)" identifier (argument_list "(lVar23)" ( identifier ))))) ;) (if_statement "if (iVar7 < 0) {\n      pcVar15 = "Access to negative field";\n      goto LAB_00094f35;\n    }" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (compound_statement "{\n      pcVar15 = "Access to negative field";\n      goto LAB_00094f35;\n    }" { (expression_statement "pcVar15 = "Access to negative field";" (assignment_expression "pcVar15 = "Access to negative field"" identifier = (string_literal ""Access to negative field"" " string_content ")) ;) (goto_statement "goto LAB_00094f35;" goto statement_identifier ;) })) (if_statement "if (iVar7 == 0) {\n      local_78 = *(uint **)(iVar6 + 0x34);\n    }\n    else {\n      FUN_00092cc4();\n      if (*(int *)(iVar6 + -0x20) < iVar7) {\n        FUN_000922c0();\n      }\n      local_78 = (uint *)(*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14);\n    }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      local_78 = *(uint **)(iVar6 + 0x34);\n    }" { (expression_statement "local_78 = *(uint **)(iVar6 + 0x34);" (assignment_expression "local_78 = *(uint **)(iVar6 + 0x34)" identifier = (pointer_expression "*(uint **)(iVar6 + 0x34)" * (cast_expression "(uint **)(iVar6 + 0x34)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x34)" ( (binary_expression "iVar6 + 0x34" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      FUN_00092cc4();\n      if (*(int *)(iVar6 + -0x20) < iVar7) {\n        FUN_000922c0();\n      }\n      local_78 = (uint *)(*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14);\n    }" else (compound_statement "{\n      FUN_00092cc4();\n      if (*(int *)(iVar6 + -0x20) < iVar7) {\n        FUN_000922c0();\n      }\n      local_78 = (uint *)(*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14);\n    }" { (expression_statement "FUN_00092cc4();" (call_expression "FUN_00092cc4()" identifier (argument_list "()" ( ))) ;) (if_statement "if (*(int *)(iVar6 + -0x20) < iVar7) {\n        FUN_000922c0();\n      }" if (parenthesized_expression "(*(int *)(iVar6 + -0x20) < iVar7)" ( (binary_expression "*(int *)(iVar6 + -0x20) < iVar7" (pointer_expression "*(int *)(iVar6 + -0x20)" * (cast_expression "(int *)(iVar6 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -0x20)" ( (binary_expression "iVar6 + -0x20" identifier + number_literal) )))) < identifier) )) (compound_statement "{\n        FUN_000922c0();\n      }" { (expression_statement "FUN_000922c0();" (call_expression "FUN_000922c0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_78 = (uint *)(*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14);" (assignment_expression "local_78 = (uint *)(*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14)" identifier = (cast_expression "(uint *)(*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14)" ( (binary_expression "*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14" (binary_expression "*(int *)(iVar6 + -0x18) + -0x14" (pointer_expression "*(int *)(iVar6 + -0x18)" * (cast_expression "(int *)(iVar6 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -0x18)" ( (binary_expression "iVar6 + -0x18" identifier + number_literal) )))) + number_literal) + (binary_expression "iVar7 * 0x14" identifier * number_literal)) )))) ;) }))) (break_statement "break;" break ;)) (case_statement "case 0x18:\n    local_78 = (uint *)(*(int *)(iVar6 + 0x88) + local_80[2] * 0x14);\n    goto LAB_00094b15;" case number_literal : (expression_statement "local_78 = (uint *)(*(int *)(iVar6 + 0x88) + local_80[2] * 0x14);" (assignment_expression "local_78 = (uint *)(*(int *)(iVar6 + 0x88) + local_80[2] * 0x14)" identifier = (cast_expression "(uint *)(*(int *)(iVar6 + 0x88) + local_80[2] * 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar6 + 0x88) + local_80[2] * 0x14)" ( (binary_expression "*(int *)(iVar6 + 0x88) + local_80[2] * 0x14" (pointer_expression "*(int *)(iVar6 + 0x88)" * (cast_expression "(int *)(iVar6 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x88)" ( (binary_expression "iVar6 + 0x88" identifier + number_literal) )))) + (binary_expression "local_80[2] * 0x14" (subscript_expression "local_80[2]" identifier [ number_literal ]) * number_literal)) )))) ;) (goto_statement "goto LAB_00094b15;" goto statement_identifier ;)) (case_statement "case 0x19:\n    if ((*(int *)local_80[3] == 0) && (((int *)local_80[3])[1] == 0)) {\n      pcVar15 = "Call to undefined function";\n      goto LAB_00094f35;\n    }\n    puVar12 = (uint *)FUN_00092151();\n    puVar22 = puVar12;\n    if (puVar18 != (uint *)0x0) {\n      while ((*puVar18 & 0xff00) == 0x1300) {\n        puVar18 = (uint *)puVar18[3];\n        uVar8 = FUN_00094969();\n        FUN_00093453();\n        *puVar22 = *puVar22 | 0x2000;\n        puVar22[4] = uVar8;\n        if ((*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))\n           || (puVar22 = puVar22 + 5, puVar18 == (uint *)0x0)) goto LAB_00094fd5;\n      }\n      uVar8 = FUN_00094969();\n      FUN_00093453();\n      *puVar22 = *puVar22 | 0x2000;\n      puVar22[4] = uVar8;\n    }\nLAB_00094fd5:\n    uVar2 = *(undefined4 *)(iVar6 + 0x88);\n    *(uint **)(iVar6 + 0x88) = puVar12;\n    uVar3 = *(undefined4 *)(iVar6 + -0x28);\n    local_78 = (uint *)FUN_00094969();\n    *(undefined4 *)(iVar6 + -0x28) = uVar3;\n    FUN_000938f0();\n    *(undefined4 *)(iVar6 + 0x88) = uVar2;\n    break;" case number_literal : (if_statement "if ((*(int *)local_80[3] == 0) && (((int *)local_80[3])[1] == 0)) {\n      pcVar15 = "Call to undefined function";\n      goto LAB_00094f35;\n    }" if (parenthesized_expression "((*(int *)local_80[3] == 0) && (((int *)local_80[3])[1] == 0))" ( (binary_expression "(*(int *)local_80[3] == 0) && (((int *)local_80[3])[1] == 0)" (parenthesized_expression "(*(int *)local_80[3] == 0)" ( (binary_expression "*(int *)local_80[3] == 0" (pointer_expression "*(int *)local_80[3]" * (cast_expression "(int *)local_80[3]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_80[3]" identifier [ number_literal ]))) == number_literal) )) && (parenthesized_expression "(((int *)local_80[3])[1] == 0)" ( (binary_expression "((int *)local_80[3])[1] == 0" (subscript_expression "((int *)local_80[3])[1]" (parenthesized_expression "((int *)local_80[3])" ( (cast_expression "(int *)local_80[3]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_80[3]" identifier [ number_literal ])) )) [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n      pcVar15 = "Call to undefined function";\n      goto LAB_00094f35;\n    }" { (expression_statement "pcVar15 = "Call to undefined function";" (assignment_expression "pcVar15 = "Call to undefined function"" identifier = (string_literal ""Call to undefined function"" " string_content ")) ;) (goto_statement "goto LAB_00094f35;" goto statement_identifier ;) })) (expression_statement "puVar12 = (uint *)FUN_00092151();" (assignment_expression "puVar12 = (uint *)FUN_00092151()" identifier = (cast_expression "(uint *)FUN_00092151()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00092151()" identifier (argument_list "()" ( ))))) ;) (expression_statement "puVar22 = puVar12;" (assignment_expression "puVar22 = puVar12" identifier = identifier) ;) (if_statement "if (puVar18 != (uint *)0x0) {\n      while ((*puVar18 & 0xff00) == 0x1300) {\n        puVar18 = (uint *)puVar18[3];\n        uVar8 = FUN_00094969();\n        FUN_00093453();\n        *puVar22 = *puVar22 | 0x2000;\n        puVar22[4] = uVar8;\n        if ((*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))\n           || (puVar22 = puVar22 + 5, puVar18 == (uint *)0x0)) goto LAB_00094fd5;\n      }\n      uVar8 = FUN_00094969();\n      FUN_00093453();\n      *puVar22 = *puVar22 | 0x2000;\n      puVar22[4] = uVar8;\n    }" if (parenthesized_expression "(puVar18 != (uint *)0x0)" ( (binary_expression "puVar18 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      while ((*puVar18 & 0xff00) == 0x1300) {\n        puVar18 = (uint *)puVar18[3];\n        uVar8 = FUN_00094969();\n        FUN_00093453();\n        *puVar22 = *puVar22 | 0x2000;\n        puVar22[4] = uVar8;\n        if ((*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))\n           || (puVar22 = puVar22 + 5, puVar18 == (uint *)0x0)) goto LAB_00094fd5;\n      }\n      uVar8 = FUN_00094969();\n      FUN_00093453();\n      *puVar22 = *puVar22 | 0x2000;\n      puVar22[4] = uVar8;\n    }" { (while_statement "while ((*puVar18 & 0xff00) == 0x1300) {\n        puVar18 = (uint *)puVar18[3];\n        uVar8 = FUN_00094969();\n        FUN_00093453();\n        *puVar22 = *puVar22 | 0x2000;\n        puVar22[4] = uVar8;\n        if ((*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))\n           || (puVar22 = puVar22 + 5, puVar18 == (uint *)0x0)) goto LAB_00094fd5;\n      }" while (parenthesized_expression "((*puVar18 & 0xff00) == 0x1300)" ( (binary_expression "(*puVar18 & 0xff00) == 0x1300" (parenthesized_expression "(*puVar18 & 0xff00)" ( (binary_expression "*puVar18 & 0xff00" (pointer_expression "*puVar18" * identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n        puVar18 = (uint *)puVar18[3];\n        uVar8 = FUN_00094969();\n        FUN_00093453();\n        *puVar22 = *puVar22 | 0x2000;\n        puVar22[4] = uVar8;\n        if ((*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))\n           || (puVar22 = puVar22 + 5, puVar18 == (uint *)0x0)) goto LAB_00094fd5;\n      }" { (expression_statement "puVar18 = (uint *)puVar18[3];" (assignment_expression "puVar18 = (uint *)puVar18[3]" identifier = (cast_expression "(uint *)puVar18[3]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar18[3]" identifier [ number_literal ]))) ;) (expression_statement "uVar8 = FUN_00094969();" (assignment_expression "uVar8 = FUN_00094969()" identifier = (call_expression "FUN_00094969()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_00093453();" (call_expression "FUN_00093453()" identifier (argument_list "()" ( ))) ;) (expression_statement "*puVar22 = *puVar22 | 0x2000;" (assignment_expression "*puVar22 = *puVar22 | 0x2000" (pointer_expression "*puVar22" * identifier) = (binary_expression "*puVar22 | 0x2000" (pointer_expression "*puVar22" * identifier) | number_literal)) ;) (expression_statement "puVar22[4] = uVar8;" (assignment_expression "puVar22[4] = uVar8" (subscript_expression "puVar22[4]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))\n           || (puVar22 = puVar22 + 5, puVar18 == (uint *)0x0)) goto LAB_00094fd5;" if (parenthesized_expression "((*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))\n           || (puVar22 = puVar22 + 5, puVar18 == (uint *)0x0))" ( (binary_expression "(*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))\n           || (puVar22 = puVar22 + 5, puVar18 == (uint *)0x0)" (parenthesized_expression "(*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))" ( (binary_expression "*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333)" (pointer_expression "*(uint *)local_80[3]" * (cast_expression "(uint *)local_80[3]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_80[3]" identifier [ number_literal ]))) <= (call_expression "(uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333)" ( (binary_expression "((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333" (parenthesized_expression "((int)(puVar22 + 5) - (int)puVar12 >> 2)" ( (binary_expression "(int)(puVar22 + 5) - (int)puVar12 >> 2" (binary_expression "(int)(puVar22 + 5) - (int)puVar12" (cast_expression "(int)(puVar22 + 5)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar22 + 5)" ( (binary_expression "puVar22 + 5" identifier + number_literal) ))) - (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal) )))) )) || (parenthesized_expression "(puVar22 = puVar22 + 5, puVar18 == (uint *)0x0)" ( (comma_expression "puVar22 = puVar22 + 5, puVar18 == (uint *)0x0" (assignment_expression "puVar22 = puVar22 + 5" identifier = (binary_expression "puVar22 + 5" identifier + number_literal)) , (binary_expression "puVar18 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_00094fd5;" goto statement_identifier ;)) })) (expression_statement "uVar8 = FUN_00094969();" (assignment_expression "uVar8 = FUN_00094969()" identifier = (call_expression "FUN_00094969()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_00093453();" (call_expression "FUN_00093453()" identifier (argument_list "()" ( ))) ;) (expression_statement "*puVar22 = *puVar22 | 0x2000;" (assignment_expression "*puVar22 = *puVar22 | 0x2000" (pointer_expression "*puVar22" * identifier) = (binary_expression "*puVar22 | 0x2000" (pointer_expression "*puVar22" * identifier) | number_literal)) ;) (expression_statement "puVar22[4] = uVar8;" (assignment_expression "puVar22[4] = uVar8" (subscript_expression "puVar22[4]" identifier [ number_literal ]) = identifier) ;) })) (labeled_statement "LAB_00094fd5:\n    uVar2 = *(undefined4 *)(iVar6 + 0x88);" statement_identifier : (expression_statement "uVar2 = *(undefined4 *)(iVar6 + 0x88);" (assignment_expression "uVar2 = *(undefined4 *)(iVar6 + 0x88)" identifier = (pointer_expression "*(undefined4 *)(iVar6 + 0x88)" * (cast_expression "(undefined4 *)(iVar6 + 0x88)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x88)" ( (binary_expression "iVar6 + 0x88" identifier + number_literal) ))))) ;)) (expression_statement "*(uint **)(iVar6 + 0x88) = puVar12;" (assignment_expression "*(uint **)(iVar6 + 0x88) = puVar12" (pointer_expression "*(uint **)(iVar6 + 0x88)" * (cast_expression "(uint **)(iVar6 + 0x88)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x88)" ( (binary_expression "iVar6 + 0x88" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar3 = *(undefined4 *)(iVar6 + -0x28);" (assignment_expression "uVar3 = *(undefined4 *)(iVar6 + -0x28)" identifier = (pointer_expression "*(undefined4 *)(iVar6 + -0x28)" * (cast_expression "(undefined4 *)(iVar6 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -0x28)" ( (binary_expression "iVar6 + -0x28" identifier + number_literal) ))))) ;) (expression_statement "local_78 = (uint *)FUN_00094969();" (assignment_expression "local_78 = (uint *)FUN_00094969()" identifier = (cast_expression "(uint *)FUN_00094969()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00094969()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*(undefined4 *)(iVar6 + -0x28) = uVar3;" (assignment_expression "*(undefined4 *)(iVar6 + -0x28) = uVar3" (pointer_expression "*(undefined4 *)(iVar6 + -0x28)" * (cast_expression "(undefined4 *)(iVar6 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -0x28)" ( (binary_expression "iVar6 + -0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "FUN_000938f0();" (call_expression "FUN_000938f0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(iVar6 + 0x88) = uVar2;" (assignment_expression "*(undefined4 *)(iVar6 + 0x88) = uVar2" (pointer_expression "*(undefined4 *)(iVar6 + 0x88)" * (cast_expression "(undefined4 *)(iVar6 + 0x88)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x88)" ( (binary_expression "iVar6 + 0x88" identifier + number_literal) )))) = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 0x1a:" case number_literal :) (case_statement "case 0x20:\n    if (puVar18 == (uint *)0x0) {\n      puVar11 = *(undefined4 **)(iVar6 + -0x3c);\n      if (puVar11 != (undefined4 *)0x0) {\nLAB_00094e49:\n        pFVar10 = (FILE *)*puVar11;\n        goto LAB_00094e4b;\n      }\n      puVar11 = (undefined4 *)FUN_00093cca();\n      *(undefined4 **)(iVar6 + -0x3c) = puVar11;\n      if (puVar11 != (undefined4 *)0x0) goto LAB_00094e49;\nLAB_00094e4f:\n      iVar7 = *DAT_000d16fc;\n      puVar18 = *(uint **)(iVar6 + 0x44);\n      FUN_0009227b();\n      *puVar18 = *puVar18 | 1;\n      *(double *)(puVar18 + 1) = (double)iVar7;\n      FUN_00092d5e();\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      local_78[1] = 0;\n      local_78[2] = 0xbff00000;\n      FUN_00092d5e();\n    }\n    else {\n      piVar9 = (int *)FUN_00093a51();\n      if (*piVar9 == 0) {\n        if ((local_7c & 0xff00) == 0x2000) {\n          pFVar10 = popen(local_68,"r");\n          *piVar9 = (int)pFVar10;\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_0001923e();\n          *piVar9 = (int)pFVar10;\n        }\nLAB_00094e4b:\n        if (pFVar10 == (FILE *)0x0) goto LAB_00094e4f;\n      }\n      if (local_80[3] == 0) {\n        local_5c = *(uint **)(iVar6 + 0x34);\n      }\n      iVar7 = FUN_0009307e();\n      if ((0 < iVar7) && (puVar18 == (uint *)0x0)) {\n        FUN_0009304a();\n        FUN_0009304a();\n      }\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      *(double *)(local_78 + 1) = (double)iVar7;\n      FUN_00092d5e();\n    }\n    break;" case number_literal : (if_statement "if (puVar18 == (uint *)0x0) {\n      puVar11 = *(undefined4 **)(iVar6 + -0x3c);\n      if (puVar11 != (undefined4 *)0x0) {\nLAB_00094e49:\n        pFVar10 = (FILE *)*puVar11;\n        goto LAB_00094e4b;\n      }\n      puVar11 = (undefined4 *)FUN_00093cca();\n      *(undefined4 **)(iVar6 + -0x3c) = puVar11;\n      if (puVar11 != (undefined4 *)0x0) goto LAB_00094e49;\nLAB_00094e4f:\n      iVar7 = *DAT_000d16fc;\n      puVar18 = *(uint **)(iVar6 + 0x44);\n      FUN_0009227b();\n      *puVar18 = *puVar18 | 1;\n      *(double *)(puVar18 + 1) = (double)iVar7;\n      FUN_00092d5e();\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      local_78[1] = 0;\n      local_78[2] = 0xbff00000;\n      FUN_00092d5e();\n    }\n    else {\n      piVar9 = (int *)FUN_00093a51();\n      if (*piVar9 == 0) {\n        if ((local_7c & 0xff00) == 0x2000) {\n          pFVar10 = popen(local_68,"r");\n          *piVar9 = (int)pFVar10;\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_0001923e();\n          *piVar9 = (int)pFVar10;\n        }\nLAB_00094e4b:\n        if (pFVar10 == (FILE *)0x0) goto LAB_00094e4f;\n      }\n      if (local_80[3] == 0) {\n        local_5c = *(uint **)(iVar6 + 0x34);\n      }\n      iVar7 = FUN_0009307e();\n      if ((0 < iVar7) && (puVar18 == (uint *)0x0)) {\n        FUN_0009304a();\n        FUN_0009304a();\n      }\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      *(double *)(local_78 + 1) = (double)iVar7;\n      FUN_00092d5e();\n    }" if (parenthesized_expression "(puVar18 == (uint *)0x0)" ( (binary_expression "puVar18 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      puVar11 = *(undefined4 **)(iVar6 + -0x3c);\n      if (puVar11 != (undefined4 *)0x0) {\nLAB_00094e49:\n        pFVar10 = (FILE *)*puVar11;\n        goto LAB_00094e4b;\n      }\n      puVar11 = (undefined4 *)FUN_00093cca();\n      *(undefined4 **)(iVar6 + -0x3c) = puVar11;\n      if (puVar11 != (undefined4 *)0x0) goto LAB_00094e49;\nLAB_00094e4f:\n      iVar7 = *DAT_000d16fc;\n      puVar18 = *(uint **)(iVar6 + 0x44);\n      FUN_0009227b();\n      *puVar18 = *puVar18 | 1;\n      *(double *)(puVar18 + 1) = (double)iVar7;\n      FUN_00092d5e();\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      local_78[1] = 0;\n      local_78[2] = 0xbff00000;\n      FUN_00092d5e();\n    }" { (expression_statement "puVar11 = *(undefined4 **)(iVar6 + -0x3c);" (assignment_expression "puVar11 = *(undefined4 **)(iVar6 + -0x3c)" identifier = (pointer_expression "*(undefined4 **)(iVar6 + -0x3c)" * (cast_expression "(undefined4 **)(iVar6 + -0x3c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + -0x3c)" ( (binary_expression "iVar6 + -0x3c" identifier + number_literal) ))))) ;) (if_statement "if (puVar11 != (undefined4 *)0x0) {\nLAB_00094e49:\n        pFVar10 = (FILE *)*puVar11;\n        goto LAB_00094e4b;\n      }" if (parenthesized_expression "(puVar11 != (undefined4 *)0x0)" ( (binary_expression "puVar11 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00094e49:\n        pFVar10 = (FILE *)*puVar11;\n        goto LAB_00094e4b;\n      }" { (labeled_statement "LAB_00094e49:\n        pFVar10 = (FILE *)*puVar11;" statement_identifier : (expression_statement "pFVar10 = (FILE *)*puVar11;" (assignment_expression "pFVar10 = (FILE *)*puVar11" identifier = (cast_expression "(FILE *)*puVar11" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar11" * identifier))) ;)) (goto_statement "goto LAB_00094e4b;" goto statement_identifier ;) })) (expression_statement "puVar11 = (undefined4 *)FUN_00093cca();" (assignment_expression "puVar11 = (undefined4 *)FUN_00093cca()" identifier = (cast_expression "(undefined4 *)FUN_00093cca()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00093cca()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*(undefined4 **)(iVar6 + -0x3c) = puVar11;" (assignment_expression "*(undefined4 **)(iVar6 + -0x3c) = puVar11" (pointer_expression "*(undefined4 **)(iVar6 + -0x3c)" * (cast_expression "(undefined4 **)(iVar6 + -0x3c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + -0x3c)" ( (binary_expression "iVar6 + -0x3c" identifier + number_literal) )))) = identifier) ;) (if_statement "if (puVar11 != (undefined4 *)0x0) goto LAB_00094e49;" if (parenthesized_expression "(puVar11 != (undefined4 *)0x0)" ( (binary_expression "puVar11 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00094e49;" goto statement_identifier ;)) (labeled_statement "LAB_00094e4f:\n      iVar7 = *DAT_000d16fc;" statement_identifier : (expression_statement "iVar7 = *DAT_000d16fc;" (assignment_expression "iVar7 = *DAT_000d16fc" identifier = (pointer_expression "*DAT_000d16fc" * identifier)) ;)) (expression_statement "puVar18 = *(uint **)(iVar6 + 0x44);" (assignment_expression "puVar18 = *(uint **)(iVar6 + 0x44)" identifier = (pointer_expression "*(uint **)(iVar6 + 0x44)" * (cast_expression "(uint **)(iVar6 + 0x44)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x44)" ( (binary_expression "iVar6 + 0x44" identifier + number_literal) ))))) ;) (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" identifier (argument_list "()" ( ))) ;) (expression_statement "*puVar18 = *puVar18 | 1;" (assignment_expression "*puVar18 = *puVar18 | 1" (pointer_expression "*puVar18" * identifier) = (binary_expression "*puVar18 | 1" (pointer_expression "*puVar18" * identifier) | number_literal)) ;) (expression_statement "*(double *)(puVar18 + 1) = (double)iVar7;" (assignment_expression "*(double *)(puVar18 + 1) = (double)iVar7" (pointer_expression "*(double *)(puVar18 + 1)" * (cast_expression "(double *)(puVar18 + 1)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 1)" ( (binary_expression "puVar18 + 1" identifier + number_literal) )))) = (cast_expression "(double)iVar7" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "FUN_00092d5e();" (call_expression "FUN_00092d5e()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" identifier (argument_list "()" ( ))) ;) (expression_statement "*local_78 = *local_78 | 1;" (assignment_expression "*local_78 = *local_78 | 1" (pointer_expression "*local_78" * identifier) = (binary_expression "*local_78 | 1" (pointer_expression "*local_78" * identifier) | number_literal)) ;) (expression_statement "local_78[1] = 0;" (assignment_expression "local_78[1] = 0" (subscript_expression "local_78[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_78[2] = 0xbff00000;" (assignment_expression "local_78[2] = 0xbff00000" (subscript_expression "local_78[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00092d5e();" (call_expression "FUN_00092d5e()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n      piVar9 = (int *)FUN_00093a51();\n      if (*piVar9 == 0) {\n        if ((local_7c & 0xff00) == 0x2000) {\n          pFVar10 = popen(local_68,"r");\n          *piVar9 = (int)pFVar10;\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_0001923e();\n          *piVar9 = (int)pFVar10;\n        }\nLAB_00094e4b:\n        if (pFVar10 == (FILE *)0x0) goto LAB_00094e4f;\n      }\n      if (local_80[3] == 0) {\n        local_5c = *(uint **)(iVar6 + 0x34);\n      }\n      iVar7 = FUN_0009307e();\n      if ((0 < iVar7) && (puVar18 == (uint *)0x0)) {\n        FUN_0009304a();\n        FUN_0009304a();\n      }\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      *(double *)(local_78 + 1) = (double)iVar7;\n      FUN_00092d5e();\n    }" else (compound_statement "{\n      piVar9 = (int *)FUN_00093a51();\n      if (*piVar9 == 0) {\n        if ((local_7c & 0xff00) == 0x2000) {\n          pFVar10 = popen(local_68,"r");\n          *piVar9 = (int)pFVar10;\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_0001923e();\n          *piVar9 = (int)pFVar10;\n        }\nLAB_00094e4b:\n        if (pFVar10 == (FILE *)0x0) goto LAB_00094e4f;\n      }\n      if (local_80[3] == 0) {\n        local_5c = *(uint **)(iVar6 + 0x34);\n      }\n      iVar7 = FUN_0009307e();\n      if ((0 < iVar7) && (puVar18 == (uint *)0x0)) {\n        FUN_0009304a();\n        FUN_0009304a();\n      }\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      *(double *)(local_78 + 1) = (double)iVar7;\n      FUN_00092d5e();\n    }" { (expression_statement "piVar9 = (int *)FUN_00093a51();" (assignment_expression "piVar9 = (int *)FUN_00093a51()" identifier = (cast_expression "(int *)FUN_00093a51()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00093a51()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (*piVar9 == 0) {\n        if ((local_7c & 0xff00) == 0x2000) {\n          pFVar10 = popen(local_68,"r");\n          *piVar9 = (int)pFVar10;\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_0001923e();\n          *piVar9 = (int)pFVar10;\n        }\nLAB_00094e4b:\n        if (pFVar10 == (FILE *)0x0) goto LAB_00094e4f;\n      }" if (parenthesized_expression "(*piVar9 == 0)" ( (binary_expression "*piVar9 == 0" (pointer_expression "*piVar9" * identifier) == number_literal) )) (compound_statement "{\n        if ((local_7c & 0xff00) == 0x2000) {\n          pFVar10 = popen(local_68,"r");\n          *piVar9 = (int)pFVar10;\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_0001923e();\n          *piVar9 = (int)pFVar10;\n        }\nLAB_00094e4b:\n        if (pFVar10 == (FILE *)0x0) goto LAB_00094e4f;\n      }" { (if_statement "if ((local_7c & 0xff00) == 0x2000) {\n          pFVar10 = popen(local_68,"r");\n          *piVar9 = (int)pFVar10;\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_0001923e();\n          *piVar9 = (int)pFVar10;\n        }" if (parenthesized_expression "((local_7c & 0xff00) == 0x2000)" ( (binary_expression "(local_7c & 0xff00) == 0x2000" (parenthesized_expression "(local_7c & 0xff00)" ( (binary_expression "local_7c & 0xff00" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          pFVar10 = popen(local_68,"r");\n          *piVar9 = (int)pFVar10;\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }" { (expression_statement "pFVar10 = popen(local_68,"r");" (assignment_expression "pFVar10 = popen(local_68,"r")" identifier = (call_expression "popen(local_68,"r")" identifier (argument_list "(local_68,"r")" ( identifier , (string_literal ""r"" " string_content ") )))) ;) (expression_statement "*piVar9 = (int)pFVar10;" (assignment_expression "*piVar9 = (int)pFVar10" (pointer_expression "*piVar9" * identifier) = (cast_expression "(int)pFVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(undefined1 *)(piVar9 + 5) = 1;" (assignment_expression "*(undefined1 *)(piVar9 + 5) = 1" (pointer_expression "*(undefined1 *)(piVar9 + 5)" * (cast_expression "(undefined1 *)(piVar9 + 5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9 + 5)" ( (binary_expression "piVar9 + 5" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n          pFVar10 = (FILE *)FUN_0001923e();\n          *piVar9 = (int)pFVar10;\n        }" else (compound_statement "{\n          pFVar10 = (FILE *)FUN_0001923e();\n          *piVar9 = (int)pFVar10;\n        }" { (expression_statement "pFVar10 = (FILE *)FUN_0001923e();" (assignment_expression "pFVar10 = (FILE *)FUN_0001923e()" identifier = (cast_expression "(FILE *)FUN_0001923e()" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0001923e()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*piVar9 = (int)pFVar10;" (assignment_expression "*piVar9 = (int)pFVar10" (pointer_expression "*piVar9" * identifier) = (cast_expression "(int)pFVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }))) (labeled_statement "LAB_00094e4b:\n        if (pFVar10 == (FILE *)0x0) goto LAB_00094e4f;" statement_identifier : (if_statement "if (pFVar10 == (FILE *)0x0) goto LAB_00094e4f;" if (parenthesized_expression "(pFVar10 == (FILE *)0x0)" ( (binary_expression "pFVar10 == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00094e4f;" goto statement_identifier ;))) })) (if_statement "if (local_80[3] == 0) {\n        local_5c = *(uint **)(iVar6 + 0x34);\n      }" if (parenthesized_expression "(local_80[3] == 0)" ( (binary_expression "local_80[3] == 0" (subscript_expression "local_80[3]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        local_5c = *(uint **)(iVar6 + 0x34);\n      }" { (expression_statement "local_5c = *(uint **)(iVar6 + 0x34);" (assignment_expression "local_5c = *(uint **)(iVar6 + 0x34)" identifier = (pointer_expression "*(uint **)(iVar6 + 0x34)" * (cast_expression "(uint **)(iVar6 + 0x34)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x34)" ( (binary_expression "iVar6 + 0x34" identifier + number_literal) ))))) ;) })) (expression_statement "iVar7 = FUN_0009307e();" (assignment_expression "iVar7 = FUN_0009307e()" identifier = (call_expression "FUN_0009307e()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((0 < iVar7) && (puVar18 == (uint *)0x0)) {\n        FUN_0009304a();\n        FUN_0009304a();\n      }" if (parenthesized_expression "((0 < iVar7) && (puVar18 == (uint *)0x0))" ( (binary_expression "(0 < iVar7) && (puVar18 == (uint *)0x0)" (parenthesized_expression "(0 < iVar7)" ( (binary_expression "0 < iVar7" number_literal < identifier) )) && (parenthesized_expression "(puVar18 == (uint *)0x0)" ( (binary_expression "puVar18 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n        FUN_0009304a();\n        FUN_0009304a();\n      }" { (expression_statement "FUN_0009304a();" (call_expression "FUN_0009304a()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0009304a();" (call_expression "FUN_0009304a()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" identifier (argument_list "()" ( ))) ;) (expression_statement "*local_78 = *local_78 | 1;" (assignment_expression "*local_78 = *local_78 | 1" (pointer_expression "*local_78" * identifier) = (binary_expression "*local_78 | 1" (pointer_expression "*local_78" * identifier) | number_literal)) ;) (expression_statement "*(double *)(local_78 + 1) = (double)iVar7;" (assignment_expression "*(double *)(local_78 + 1) = (double)iVar7" (pointer_expression "*(double *)(local_78 + 1)" * (cast_expression "(double *)(local_78 + 1)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_78 + 1)" ( (binary_expression "local_78 + 1" identifier + number_literal) )))) = (cast_expression "(double)iVar7" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "FUN_00092d5e();" (call_expression "FUN_00092d5e()" identifier (argument_list "()" ( ))) ;) }))) (break_statement "break;" break ;)) (case_statement "case 0x1b:\n    FUN_0009211c();\n    iVar7 = FUN_000939df();\n    if (iVar7 == 0) {\nLAB_00094c2d:\n      lVar23 = (longdouble)0;\n    }\n    else {\n      lVar23 = (longdouble)1;\n    }\n    goto LAB_00094b8a;" case number_literal : (expression_statement "FUN_0009211c();" (call_expression "FUN_0009211c()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar7 = FUN_000939df();" (assignment_expression "iVar7 = FUN_000939df()" identifier = (call_expression "FUN_000939df()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar7 == 0) {\nLAB_00094c2d:\n      lVar23 = (longdouble)0;\n    }\n    else {\n      lVar23 = (longdouble)1;\n    }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00094c2d:\n      lVar23 = (longdouble)0;\n    }" { (labeled_statement "LAB_00094c2d:\n      lVar23 = (longdouble)0;" statement_identifier : (expression_statement "lVar23 = (longdouble)0;" (assignment_expression "lVar23 = (longdouble)0" identifier = (cast_expression "(longdouble)0" ( (type_descriptor "longdouble" type_identifier) ) number_literal)) ;)) }) (else_clause "else {\n      lVar23 = (longdouble)1;\n    }" else (compound_statement "{\n      lVar23 = (longdouble)1;\n    }" { (expression_statement "lVar23 = (longdouble)1;" (assignment_expression "lVar23 = (longdouble)1" identifier = (cast_expression "(longdouble)1" ( (type_descriptor "longdouble" type_identifier) ) number_literal)) ;) }))) (goto_statement "goto LAB_00094b8a;" goto statement_identifier ;)) (case_statement "case 0x1c:\n    iVar7 = FUN_00092658();\n    if (iVar7 == 0) goto LAB_00094c2d;\nLAB_00094da9:\n    iVar7 = FUN_00096324();\n    lVar23 = (longdouble)iVar7;\n    goto LAB_00094b8a;" case number_literal : (expression_statement "iVar7 = FUN_00092658();" (assignment_expression "iVar7 = FUN_00092658()" identifier = (call_expression "FUN_00092658()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar7 == 0) goto LAB_00094c2d;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00094c2d;" goto statement_identifier ;)) (labeled_statement "LAB_00094da9:\n    iVar7 = FUN_00096324();" statement_identifier : (expression_statement "iVar7 = FUN_00096324();" (assignment_expression "iVar7 = FUN_00096324()" identifier = (call_expression "FUN_00096324()" identifier (argument_list "()" ( )))) ;)) (expression_statement "lVar23 = (longdouble)iVar7;" (assignment_expression "lVar23 = (longdouble)iVar7" identifier = (cast_expression "(longdouble)iVar7" ( (type_descriptor "longdouble" type_identifier) ) identifier)) ;) (goto_statement "goto LAB_00094b8a;" goto statement_identifier ;)) (case_statement "case 0x1d:\n    iVar7 = FUN_00092658();\n    if (iVar7 == 0) goto LAB_00094da9;\nLAB_00094c15:\n    lVar23 = (longdouble)1;\n    goto LAB_00094b8a;" case number_literal : (expression_statement "iVar7 = FUN_00092658();" (assignment_expression "iVar7 = FUN_00092658()" identifier = (call_expression "FUN_00092658()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar7 == 0) goto LAB_00094da9;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00094da9;" goto statement_identifier ;)) (labeled_statement "LAB_00094c15:\n    lVar23 = (longdouble)1;" statement_identifier : (expression_statement "lVar23 = (longdouble)1;" (assignment_expression "lVar23 = (longdouble)1" identifier = (cast_expression "(longdouble)1" ( (type_descriptor "longdouble" type_identifier) ) number_literal)) ;)) (goto_statement "goto LAB_00094b8a;" goto statement_identifier ;)) (case_statement "case 0x1e:\n    goto LAB_00094ce7;" case number_literal : (goto_statement "goto LAB_00094ce7;" goto statement_identifier ;)) (case_statement "case 0x1f:\n    local_78 = (uint *)FUN_00093453();\n    break;" case number_literal : (expression_statement "local_78 = (uint *)FUN_00093453();" (assignment_expression "local_78 = (uint *)FUN_00093453()" identifier = (cast_expression "(uint *)FUN_00093453()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00093453()" identifier (argument_list "()" ( ))))) ;) (break_statement "break;" break ;)) (case_statement "case 0x21:\n    local_68 = (char *)FUN_0009295c();\nLAB_00094ce7:\n    __preg = (regex_t *)FUN_00095bc7();\n    iVar7 = regexec(__preg,local_68,0,(regmatch_t *)0x0,0);\n    if ((regex_t *)(iVar6 + 0x90) == __preg) {\n      regfree((regex_t *)(iVar6 + 0x90));\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)((iVar7 == 0) != (uVar8 == 0x21));\n    FUN_00092d5e();\n    break;" case number_literal : (expression_statement "local_68 = (char *)FUN_0009295c();" (assignment_expression "local_68 = (char *)FUN_0009295c()" identifier = (cast_expression "(char *)FUN_0009295c()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0009295c()" identifier (argument_list "()" ( ))))) ;) (labeled_statement "LAB_00094ce7:\n    __preg = (regex_t *)FUN_00095bc7();" statement_identifier : (expression_statement "__preg = (regex_t *)FUN_00095bc7();" (assignment_expression "__preg = (regex_t *)FUN_00095bc7()" identifier = (cast_expression "(regex_t *)FUN_00095bc7()" ( (type_descriptor "regex_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00095bc7()" identifier (argument_list "()" ( ))))) ;)) (expression_statement "iVar7 = regexec(__preg,local_68,0,(regmatch_t *)0x0,0);" (assignment_expression "iVar7 = regexec(__preg,local_68,0,(regmatch_t *)0x0,0)" identifier = (call_expression "regexec(__preg,local_68,0,(regmatch_t *)0x0,0)" identifier (argument_list "(__preg,local_68,0,(regmatch_t *)0x0,0)" ( identifier , identifier , number_literal , (cast_expression "(regmatch_t *)0x0" ( (type_descriptor "regmatch_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , number_literal )))) ;) (if_statement "if ((regex_t *)(iVar6 + 0x90) == __preg) {\n      regfree((regex_t *)(iVar6 + 0x90));\n    }" if (parenthesized_expression "((regex_t *)(iVar6 + 0x90) == __preg)" ( (binary_expression "(regex_t *)(iVar6 + 0x90) == __preg" (cast_expression "(regex_t *)(iVar6 + 0x90)" ( (type_descriptor "regex_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x90)" ( (binary_expression "iVar6 + 0x90" identifier + number_literal) ))) == identifier) )) (compound_statement "{\n      regfree((regex_t *)(iVar6 + 0x90));\n    }" { (expression_statement "regfree((regex_t *)(iVar6 + 0x90));" (call_expression "regfree((regex_t *)(iVar6 + 0x90))" identifier (argument_list "((regex_t *)(iVar6 + 0x90))" ( (cast_expression "(regex_t *)(iVar6 + 0x90)" ( (type_descriptor "regex_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x90)" ( (binary_expression "iVar6 + 0x90" identifier + number_literal) ))) ))) ;) })) (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" identifier (argument_list "()" ( ))) ;) (expression_statement "*local_78 = *local_78 | 1;" (assignment_expression "*local_78 = *local_78 | 1" (pointer_expression "*local_78" * identifier) = (binary_expression "*local_78 | 1" (pointer_expression "*local_78" * identifier) | number_literal)) ;) (expression_statement "*(double *)(local_78 + 1) = (double)((iVar7 == 0) != (uVar8 == 0x21));" (assignment_expression "*(double *)(local_78 + 1) = (double)((iVar7 == 0) != (uVar8 == 0x21))" (pointer_expression "*(double *)(local_78 + 1)" * (cast_expression "(double *)(local_78 + 1)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_78 + 1)" ( (binary_expression "local_78 + 1" identifier + number_literal) )))) = (cast_expression "(double)((iVar7 == 0) != (uVar8 == 0x21))" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((iVar7 == 0) != (uVar8 == 0x21))" ( (binary_expression "(iVar7 == 0) != (uVar8 == 0x21)" (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) != (parenthesized_expression "(uVar8 == 0x21)" ( (binary_expression "uVar8 == 0x21" identifier == number_literal) ))) )))) ;) (expression_statement "FUN_00092d5e();" (call_expression "FUN_00092d5e()" identifier (argument_list "()" ( ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x23:\n    FUN_00093453();\n    break;" case number_literal : (expression_statement "FUN_00093453();" (call_expression "FUN_00093453()" identifier (argument_list "()" ( ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x24:\n    uVar8 = FUN_00095fab();\n    FUN_0009227b();\n    local_78[3] = uVar8;\n    FUN_00092d5e();\n    break;" case number_literal : (expression_statement "uVar8 = FUN_00095fab();" (assignment_expression "uVar8 = FUN_00095fab()" identifier = (call_expression "FUN_00095fab()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_78[3] = uVar8;" (assignment_expression "local_78[3] = uVar8" (subscript_expression "local_78[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_00092d5e();" (call_expression "FUN_00092d5e()" identifier (argument_list "()" ( ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x25:\n    if ((*(uint *)local_80[3] & 0xff00) == 0x1200) {\n      FUN_00092658();\n      local_78 = (uint *)FUN_00094969();\n      break;\n    }\n    goto switchD_00094a90_caseD_0;" case number_literal : (if_statement "if ((*(uint *)local_80[3] & 0xff00) == 0x1200) {\n      FUN_00092658();\n      local_78 = (uint *)FUN_00094969();\n      break;\n    }" if (parenthesized_expression "((*(uint *)local_80[3] & 0xff00) == 0x1200)" ( (binary_expression "(*(uint *)local_80[3] & 0xff00) == 0x1200" (parenthesized_expression "(*(uint *)local_80[3] & 0xff00)" ( (binary_expression "*(uint *)local_80[3] & 0xff00" (pointer_expression "*(uint *)local_80[3]" * (cast_expression "(uint *)local_80[3]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_80[3]" identifier [ number_literal ]))) & number_literal) )) == number_literal) )) (compound_statement "{\n      FUN_00092658();\n      local_78 = (uint *)FUN_00094969();\n      break;\n    }" { (expression_statement "FUN_00092658();" (call_expression "FUN_00092658()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_78 = (uint *)FUN_00094969();" (assignment_expression "local_78 = (uint *)FUN_00094969()" identifier = (cast_expression "(uint *)FUN_00094969()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00094969()" identifier (argument_list "()" ( ))))) ;) (break_statement "break;" break ;) })) (goto_statement "goto switchD_00094a90_caseD_0;" goto statement_identifier ;)) (case_statement "case 0x26:\n    lVar23 = (longdouble)FUN_000925a2();\n    if (uVar8 == 0x4d) {\n      lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      lVar23 = lVar24;\n    }\n    else {\n      if (uVar8 < 0x4e) {\n        if (uVar8 == 0x21) {\n          iVar7 = FUN_00092658();\n          if (iVar7 == 0) goto LAB_00094c15;\n          goto LAB_00094c2d;\n        }\n        if (uVar8 == 0x2d) {\n          lVar23 = -lVar23;\n        }\n        goto LAB_00094b8a;\n      }\n      if (uVar8 == 0x6d) {\n        lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      }\n      else if (uVar8 == 0x70) {\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n      }\n      else {\n        if (uVar8 != 0x50) goto LAB_00094b8a;\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n        lVar23 = lVar24;\n      }\n    }\n    FUN_0009227b();\n    *local_5c = *local_5c | 1;\n    *(double *)(local_5c + 1) = (double)lVar24;\n    FUN_00092d5e();\n    lVar23 = (longdouble)(double)lVar23;\nLAB_00094b8a:\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)lVar23;\n    FUN_00092d5e();\n    break;" case number_literal : (expression_statement "lVar23 = (longdouble)FUN_000925a2();" (assignment_expression "lVar23 = (longdouble)FUN_000925a2()" identifier = (cast_expression "(longdouble)FUN_000925a2()" ( (type_descriptor "longdouble" type_identifier) ) (call_expression "FUN_000925a2()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (uVar8 == 0x4d) {\n      lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      lVar23 = lVar24;\n    }\n    else {\n      if (uVar8 < 0x4e) {\n        if (uVar8 == 0x21) {\n          iVar7 = FUN_00092658();\n          if (iVar7 == 0) goto LAB_00094c15;\n          goto LAB_00094c2d;\n        }\n        if (uVar8 == 0x2d) {\n          lVar23 = -lVar23;\n        }\n        goto LAB_00094b8a;\n      }\n      if (uVar8 == 0x6d) {\n        lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      }\n      else if (uVar8 == 0x70) {\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n      }\n      else {\n        if (uVar8 != 0x50) goto LAB_00094b8a;\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n        lVar23 = lVar24;\n      }\n    }" if (parenthesized_expression "(uVar8 == 0x4d)" ( (binary_expression "uVar8 == 0x4d" identifier == number_literal) )) (compound_statement "{\n      lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      lVar23 = lVar24;\n    }" { (expression_statement "lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;" (assignment_expression "lVar24 = lVar23 - (longdouble)_DAT_000bc6f4" identifier = (binary_expression "lVar23 - (longdouble)_DAT_000bc6f4" identifier - (cast_expression "(longdouble)_DAT_000bc6f4" ( (type_descriptor "longdouble" type_identifier) ) identifier))) ;) (expression_statement "lVar23 = lVar24;" (assignment_expression "lVar23 = lVar24" identifier = identifier) ;) }) (else_clause "else {\n      if (uVar8 < 0x4e) {\n        if (uVar8 == 0x21) {\n          iVar7 = FUN_00092658();\n          if (iVar7 == 0) goto LAB_00094c15;\n          goto LAB_00094c2d;\n        }\n        if (uVar8 == 0x2d) {\n          lVar23 = -lVar23;\n        }\n        goto LAB_00094b8a;\n      }\n      if (uVar8 == 0x6d) {\n        lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      }\n      else if (uVar8 == 0x70) {\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n      }\n      else {\n        if (uVar8 != 0x50) goto LAB_00094b8a;\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n        lVar23 = lVar24;\n      }\n    }" else (compound_statement "{\n      if (uVar8 < 0x4e) {\n        if (uVar8 == 0x21) {\n          iVar7 = FUN_00092658();\n          if (iVar7 == 0) goto LAB_00094c15;\n          goto LAB_00094c2d;\n        }\n        if (uVar8 == 0x2d) {\n          lVar23 = -lVar23;\n        }\n        goto LAB_00094b8a;\n      }\n      if (uVar8 == 0x6d) {\n        lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      }\n      else if (uVar8 == 0x70) {\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n      }\n      else {\n        if (uVar8 != 0x50) goto LAB_00094b8a;\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n        lVar23 = lVar24;\n      }\n    }" { (if_statement "if (uVar8 < 0x4e) {\n        if (uVar8 == 0x21) {\n          iVar7 = FUN_00092658();\n          if (iVar7 == 0) goto LAB_00094c15;\n          goto LAB_00094c2d;\n        }\n        if (uVar8 == 0x2d) {\n          lVar23 = -lVar23;\n        }\n        goto LAB_00094b8a;\n      }" if (parenthesized_expression "(uVar8 < 0x4e)" ( (binary_expression "uVar8 < 0x4e" identifier < number_literal) )) (compound_statement "{\n        if (uVar8 == 0x21) {\n          iVar7 = FUN_00092658();\n          if (iVar7 == 0) goto LAB_00094c15;\n          goto LAB_00094c2d;\n        }\n        if (uVar8 == 0x2d) {\n          lVar23 = -lVar23;\n        }\n        goto LAB_00094b8a;\n      }" { (if_statement "if (uVar8 == 0x21) {\n          iVar7 = FUN_00092658();\n          if (iVar7 == 0) goto LAB_00094c15;\n          goto LAB_00094c2d;\n        }" if (parenthesized_expression "(uVar8 == 0x21)" ( (binary_expression "uVar8 == 0x21" identifier == number_literal) )) (compound_statement "{\n          iVar7 = FUN_00092658();\n          if (iVar7 == 0) goto LAB_00094c15;\n          goto LAB_00094c2d;\n        }" { (expression_statement "iVar7 = FUN_00092658();" (assignment_expression "iVar7 = FUN_00092658()" identifier = (call_expression "FUN_00092658()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar7 == 0) goto LAB_00094c15;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00094c15;" goto statement_identifier ;)) (goto_statement "goto LAB_00094c2d;" goto statement_identifier ;) })) (if_statement "if (uVar8 == 0x2d) {\n          lVar23 = -lVar23;\n        }" if (parenthesized_expression "(uVar8 == 0x2d)" ( (binary_expression "uVar8 == 0x2d" identifier == number_literal) )) (compound_statement "{\n          lVar23 = -lVar23;\n        }" { (expression_statement "lVar23 = -lVar23;" (assignment_expression "lVar23 = -lVar23" identifier = (unary_expression "-lVar23" - identifier)) ;) })) (goto_statement "goto LAB_00094b8a;" goto statement_identifier ;) })) (if_statement "if (uVar8 == 0x6d) {\n        lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      }\n      else if (uVar8 == 0x70) {\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n      }\n      else {\n        if (uVar8 != 0x50) goto LAB_00094b8a;\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n        lVar23 = lVar24;\n      }" if (parenthesized_expression "(uVar8 == 0x6d)" ( (binary_expression "uVar8 == 0x6d" identifier == number_literal) )) (compound_statement "{\n        lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      }" { (expression_statement "lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;" (assignment_expression "lVar24 = lVar23 - (longdouble)_DAT_000bc6f4" identifier = (binary_expression "lVar23 - (longdouble)_DAT_000bc6f4" identifier - (cast_expression "(longdouble)_DAT_000bc6f4" ( (type_descriptor "longdouble" type_identifier) ) identifier))) ;) }) (else_clause "else if (uVar8 == 0x70) {\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n      }\n      else {\n        if (uVar8 != 0x50) goto LAB_00094b8a;\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n        lVar23 = lVar24;\n      }" else (if_statement "if (uVar8 == 0x70) {\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n      }\n      else {\n        if (uVar8 != 0x50) goto LAB_00094b8a;\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n        lVar23 = lVar24;\n      }" if (parenthesized_expression "(uVar8 == 0x70)" ( (binary_expression "uVar8 == 0x70" identifier == number_literal) )) (compound_statement "{\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n      }" { (expression_statement "lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;" (assignment_expression "lVar24 = lVar23 + (longdouble)_DAT_000bc6f4" identifier = (binary_expression "lVar23 + (longdouble)_DAT_000bc6f4" identifier + (cast_expression "(longdouble)_DAT_000bc6f4" ( (type_descriptor "longdouble" type_identifier) ) identifier))) ;) }) (else_clause "else {\n        if (uVar8 != 0x50) goto LAB_00094b8a;\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n        lVar23 = lVar24;\n      }" else (compound_statement "{\n        if (uVar8 != 0x50) goto LAB_00094b8a;\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n        lVar23 = lVar24;\n      }" { (if_statement "if (uVar8 != 0x50) goto LAB_00094b8a;" if (parenthesized_expression "(uVar8 != 0x50)" ( (binary_expression "uVar8 != 0x50" identifier != number_literal) )) (goto_statement "goto LAB_00094b8a;" goto statement_identifier ;)) (expression_statement "lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;" (assignment_expression "lVar24 = lVar23 + (longdouble)_DAT_000bc6f4" identifier = (binary_expression "lVar23 + (longdouble)_DAT_000bc6f4" identifier + (cast_expression "(longdouble)_DAT_000bc6f4" ( (type_descriptor "longdouble" type_identifier) ) identifier))) ;) (expression_statement "lVar23 = lVar24;" (assignment_expression "lVar23 = lVar24" identifier = identifier) ;) }))))) }))) (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" identifier (argument_list "()" ( ))) ;) (expression_statement "*local_5c = *local_5c | 1;" (assignment_expression "*local_5c = *local_5c | 1" (pointer_expression "*local_5c" * identifier) = (binary_expression "*local_5c | 1" (pointer_expression "*local_5c" * identifier) | number_literal)) ;) (expression_statement "*(double *)(local_5c + 1) = (double)lVar24;" (assignment_expression "*(double *)(local_5c + 1) = (double)lVar24" (pointer_expression "*(double *)(local_5c + 1)" * (cast_expression "(double *)(local_5c + 1)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_5c + 1)" ( (binary_expression "local_5c + 1" identifier + number_literal) )))) = (cast_expression "(double)lVar24" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "FUN_00092d5e();" (call_expression "FUN_00092d5e()" identifier (argument_list "()" ( ))) ;) (expression_statement "lVar23 = (longdouble)(double)lVar23;" (assignment_expression "lVar23 = (longdouble)(double)lVar23" identifier = (cast_expression "(longdouble)(double)lVar23" ( (type_descriptor "longdouble" type_identifier) ) (cast_expression "(double)lVar23" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (labeled_statement "LAB_00094b8a:\n    FUN_0009227b();" statement_identifier : (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" identifier (argument_list "()" ( ))) ;)) (expression_statement "*local_78 = *local_78 | 1;" (assignment_expression "*local_78 = *local_78 | 1" (pointer_expression "*local_78" * identifier) = (binary_expression "*local_78 | 1" (pointer_expression "*local_78" * identifier) | number_literal)) ;) (expression_statement "*(double *)(local_78 + 1) = (double)lVar23;" (assignment_expression "*(double *)(local_78 + 1) = (double)lVar23" (pointer_expression "*(double *)(local_78 + 1)" * (cast_expression "(double *)(local_78 + 1)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_78 + 1)" ( (binary_expression "local_78 + 1" identifier + number_literal) )))) = (cast_expression "(double)lVar23" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "FUN_00092d5e();" (call_expression "FUN_00092d5e()" identifier (argument_list "()" ( ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x27:\n    local_78 = (uint *)local_80[2];\n    if (local_78 == *(uint **)(iVar6 + 0x50)) {\n      FUN_00092cc4();\n    }\nLAB_00094b15:\n    if (local_80[3] != 0) {\n      FUN_0009211c();\n      local_78 = (uint *)FUN_00093a51();\n    }\n    break;" case number_literal : (expression_statement "local_78 = (uint *)local_80[2];" (assignment_expression "local_78 = (uint *)local_80[2]" identifier = (cast_expression "(uint *)local_80[2]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_80[2]" identifier [ number_literal ]))) ;) (if_statement "if (local_78 == *(uint **)(iVar6 + 0x50)) {\n      FUN_00092cc4();\n    }" if (parenthesized_expression "(local_78 == *(uint **)(iVar6 + 0x50))" ( (binary_expression "local_78 == *(uint **)(iVar6 + 0x50)" identifier == (pointer_expression "*(uint **)(iVar6 + 0x50)" * (cast_expression "(uint **)(iVar6 + 0x50)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x50)" ( (binary_expression "iVar6 + 0x50" identifier + number_literal) ))))) )) (compound_statement "{\n      FUN_00092cc4();\n    }" { (expression_statement "FUN_00092cc4();" (call_expression "FUN_00092cc4()" identifier (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_00094b15:\n    if (local_80[3] != 0) {\n      FUN_0009211c();\n      local_78 = (uint *)FUN_00093a51();\n    }" statement_identifier : (if_statement "if (local_80[3] != 0) {\n      FUN_0009211c();\n      local_78 = (uint *)FUN_00093a51();\n    }" if (parenthesized_expression "(local_80[3] != 0)" ( (binary_expression "local_80[3] != 0" (subscript_expression "local_80[3]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      FUN_0009211c();\n      local_78 = (uint *)FUN_00093a51();\n    }" { (expression_statement "FUN_0009211c();" (call_expression "FUN_0009211c()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_78 = (uint *)FUN_00093a51();" (assignment_expression "local_78 = (uint *)FUN_00093a51()" identifier = (cast_expression "(uint *)FUN_00093a51()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00093a51()" identifier (argument_list "()" ( ))))) ;) }))) (break_statement "break;" break ;)) (case_statement "case 0x28:\n    goto switchD_00094a90_caseD_28;" case number_literal : (goto_statement "goto switchD_00094a90_caseD_28;" goto statement_identifier ;)) })) (labeled_statement "LAB_00094ab0:\n  local_7c = local_7c & 0xff00;" statement_identifier : (expression_statement "local_7c = local_7c & 0xff00;" (assignment_expression "local_7c = local_7c & 0xff00" identifier = (binary_expression "local_7c & 0xff00" identifier & number_literal)) ;)) (if_statement "if (local_7c < 0x601) {\n    local_80 = (uint *)local_80[4];\n    cVar1 = *(char *)(iVar6 + -6);\n  }\n  else {\n    if (0xfff < local_7c) {\nLAB_00094acb:\n      FUN_000938f0();\n      return local_78;\n    }\n    cVar1 = *(char *)(iVar6 + -6);\n  }" if (parenthesized_expression "(local_7c < 0x601)" ( (binary_expression "local_7c < 0x601" identifier < number_literal) )) (compound_statement "{\n    local_80 = (uint *)local_80[4];\n    cVar1 = *(char *)(iVar6 + -6);\n  }" { (expression_statement "local_80 = (uint *)local_80[4];" (assignment_expression "local_80 = (uint *)local_80[4]" identifier = (cast_expression "(uint *)local_80[4]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_80[4]" identifier [ number_literal ]))) ;) (expression_statement "cVar1 = *(char *)(iVar6 + -6);" (assignment_expression "cVar1 = *(char *)(iVar6 + -6)" identifier = (pointer_expression "*(char *)(iVar6 + -6)" * (cast_expression "(char *)(iVar6 + -6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -6)" ( (binary_expression "iVar6 + -6" identifier + number_literal) ))))) ;) }) (else_clause "else {\n    if (0xfff < local_7c) {\nLAB_00094acb:\n      FUN_000938f0();\n      return local_78;\n    }\n    cVar1 = *(char *)(iVar6 + -6);\n  }" else (compound_statement "{\n    if (0xfff < local_7c) {\nLAB_00094acb:\n      FUN_000938f0();\n      return local_78;\n    }\n    cVar1 = *(char *)(iVar6 + -6);\n  }" { (if_statement "if (0xfff < local_7c) {\nLAB_00094acb:\n      FUN_000938f0();\n      return local_78;\n    }" if (parenthesized_expression "(0xfff < local_7c)" ( (binary_expression "0xfff < local_7c" number_literal < identifier) )) (compound_statement "{\nLAB_00094acb:\n      FUN_000938f0();\n      return local_78;\n    }" { (labeled_statement "LAB_00094acb:\n      FUN_000938f0();" statement_identifier : (expression_statement "FUN_000938f0();" (call_expression "FUN_000938f0()" identifier (argument_list "()" ( ))) ;)) (return_statement "return local_78;" return identifier ;) })) (expression_statement "cVar1 = *(char *)(iVar6 + -6);" (assignment_expression "cVar1 = *(char *)(iVar6 + -6)" identifier = (pointer_expression "*(char *)(iVar6 + -6)" * (cast_expression "(char *)(iVar6 + -6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -6)" ( (binary_expression "iVar6 + -6" identifier + number_literal) ))))) ;) }))) (if_statement "if ((cVar1 != '\0') || (local_80 == (uint *)0x0)) goto LAB_00094acb;" if (parenthesized_expression "((cVar1 != '\0') || (local_80 == (uint *)0x0))" ( (binary_expression "(cVar1 != '\0') || (local_80 == (uint *)0x0)" (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(local_80 == (uint *)0x0)" ( (binary_expression "local_80 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (goto_statement "goto LAB_00094acb;" goto statement_identifier ;)) (goto_statement "goto LAB_000949b7;" goto statement_identifier ;) (labeled_statement "switchD_00094a90_caseD_b:\n  *(undefined1 *)(iVar6 + -6) = 1;" statement_identifier : (expression_statement "*(undefined1 *)(iVar6 + -6) = 1;" (assignment_expression "*(undefined1 *)(iVar6 + -6) = 1" (pointer_expression "*(undefined1 *)(iVar6 + -6)" * (cast_expression "(undefined1 *)(iVar6 + -6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -6)" ( (binary_expression "iVar6 + -6" identifier + number_literal) )))) = number_literal) ;)) (labeled_statement "switchD_00094a90_caseD_28:\n  FUN_0009227b();" statement_identifier : (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" identifier (argument_list "()" ( ))) ;)) (goto_statement "goto LAB_00094ab0;" goto statement_identifier ;) (labeled_statement "switchD_00094a90_caseD_7:\n  iVar7 = FUN_00092658();" statement_identifier : (expression_statement "iVar7 = FUN_00092658();" (assignment_expression "iVar7 = FUN_00092658()" identifier = (call_expression "FUN_00092658()" identifier (argument_list "()" ( )))) ;)) (if_statement "if (iVar7 == 0) {\n    local_80 = (uint *)local_80[3];\n  }\n  else {\nLAB_000956d3:\n    local_80 = (uint *)local_80[4];\n  }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n    local_80 = (uint *)local_80[3];\n  }" { (expression_statement "local_80 = (uint *)local_80[3];" (assignment_expression "local_80 = (uint *)local_80[3]" identifier = (cast_expression "(uint *)local_80[3]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_80[3]" identifier [ number_literal ]))) ;) }) (else_clause "else {\nLAB_000956d3:\n    local_80 = (uint *)local_80[4];\n  }" else (compound_statement "{\nLAB_000956d3:\n    local_80 = (uint *)local_80[4];\n  }" { (labeled_statement "LAB_000956d3:\n    local_80 = (uint *)local_80[4];" statement_identifier : (expression_statement "local_80 = (uint *)local_80[4];" (assignment_expression "local_80 = (uint *)local_80[4]" identifier = (cast_expression "(uint *)local_80[4]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_80[4]" identifier [ number_literal ]))) ;)) }))) (goto_statement "goto LAB_00094ab0;" goto statement_identifier ;) (labeled_statement "switchD_00094a90_caseD_0:\n  pcVar15 = "Possible syntax error";" statement_identifier : (expression_statement "pcVar15 = "Possible syntax error";" (assignment_expression "pcVar15 = "Possible syntax error"" identifier = (string_literal ""Possible syntax error"" " string_content ")) ;)) (labeled_statement "LAB_00094f35:\n                    \n  FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),*(undefined4 *)(iVar6 + -0x24),pcVar15);" statement_identifier : (expression_statement "FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),*(undefined4 *)(iVar6 + -0x24),pcVar15);" (call_expression "FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),*(undefined4 *)(iVar6 + -0x24),pcVar15)" identifier (argument_list "("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),*(undefined4 *)(iVar6 + -0x24),pcVar15)" ( (string_literal ""%s:%i: %s"" " string_content ") , (pointer_expression "*(undefined4 *)(iVar6 + -0x28)" * (cast_expression "(undefined4 *)(iVar6 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -0x28)" ( (binary_expression "iVar6 + -0x28" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar6 + -0x24)" * (cast_expression "(undefined4 *)(iVar6 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -0x24)" ( (binary_expression "iVar6 + -0x24" identifier + number_literal) )))) , identifier ))) ;)) }))
(translation_unit (ERROR (binary_expression IDENT * (ERROR IDENT) (call_expression IDENT (argument_list ( (binary_expression IDENT * IDENT) , (binary_expression IDENT * IDENT) ))))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (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 ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return IDENT ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (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) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT >> LIT) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement default : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (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 ( (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }))) })) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (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)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }))) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (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 IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (do_statement do (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) ;) })) (break_statement break ;)) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (break_statement break ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (break_statement break ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | 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 (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) & LIT)) ;) })) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( ))))) ;) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (binary_expression IDENT < IDENT) | (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (call_expression IDENT (argument_list ( IDENT ))) || (call_expression IDENT (argument_list ( IDENT )))) ))) << LIT) ))) >> LIT) )))) | (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == IDENT) ))) << LIT) ))) >> LIT) )))) ))) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) / IDENT) ))))) * IDENT)) )))) ;) (break_statement break ;)) (case_statement case LIT : (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;)) (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT * (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT) )))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (binary_expression IDENT < IDENT) | (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (call_expression IDENT (argument_list ( IDENT ))) || (call_expression IDENT (argument_list ( IDENT )))) ))) << LIT) ))) >> LIT) )))) | (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == IDENT) ))) << LIT) ))) >> LIT) )))) ))) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) / IDENT) )))) ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_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) )))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , IDENT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) ^ LIT) )) & LIT) )) == LIT) )) || (parenthesized_expression ( (comma_expression (call_expression IDENT (argument_list ( ))) , (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) ^ LIT) )) & LIT) )) == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) LIT) <= IDENT) )))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) - IDENT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (binary_expression IDENT < IDENT) | (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (call_expression IDENT (argument_list ( IDENT ))) || (call_expression IDENT (argument_list ( IDENT )))) ))) << LIT) ))) >> LIT) )))) | (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == IDENT) ))) << LIT) ))) >> LIT) )))) ))) == LIT) )))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) LIT) < IDENT) )))) ;) }))))) }))) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_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) )))) = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT & LIT) ^ IDENT) ^ LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (break_statement break ;)) (case_statement case LIT : (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT )))))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) / IDENT)) ;) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT )))))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (break_statement break ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (break_statement break ;) })))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;) }))))) (break_statement break ;)) (case_statement case 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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) }) (else_clause else (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 (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) ))) ;) }))))) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (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 ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) }))) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_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) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }))) }))) })))) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_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) )))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (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 (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (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 IDENT + LIT) )))) + LIT) + (binary_expression IDENT * LIT)) )))) ;) }))) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression (subscript_expression IDENT [ LIT ]) * LIT)) )))) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) == LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) )) [ LIT ]) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (while_statement while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | LIT)) ;) (expression_statement (assignment_expression (subscript_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 *)) ) (subscript_expression IDENT [ LIT ]))) <= (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) >> LIT) )) * LIT) )))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (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)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_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) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;))) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) && (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_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) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) }))) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;)) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) == IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_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) )))) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) != (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (break_statement break ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (break_statement break ;) })) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (unary_expression - IDENT)) ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))))) }))) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_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) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_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) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) }))) (break_statement break ;)) (case_statement case LIT : (goto_statement goto statement_identifier ;)) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (return_statement return 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 (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;)) }))) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))) ;)) }))
(ERROR "uint * __regparm3 FUN_00094969(uint *param_1,uint *param_2)" (binary_expression "uint * __regparm3 FUN_00094969(uint *param_1,uint *param_2)" (identifier "uint") (* "*") (ERROR "__regparm3" (identifier "__regparm3")) (call_expression "FUN_00094969(uint *param_1,uint *param_2)" (identifier "FUN_00094969") (argument_list "(uint *param_1,uint *param_2)" (( "(") (binary_expression "uint *param_1" (identifier "uint") (* "*") (identifier "param_1")) (, ",") (binary_expression "uint *param_2" (identifier "uint") (* "*") (identifier "param_2")) () ")"))))) (compound_statement "{\n  char cVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined *puVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  uint uVar8;\n  regex_t *__preg;\n  int *piVar9;\n  FILE *pFVar10;\n  undefined4 *puVar11;\n  uint *puVar12;\n  size_t sVar13;\n  time_t tVar14;\n  char *pcVar15;\n  char *pcVar16;\n  undefined1 *puVar17;\n  uint *puVar18;\n  byte *pbVar19;\n  undefined4 extraout_EDX;\n  int iVar20;\n  uint uVar21;\n  uint *puVar22;\n  longdouble lVar23;\n  longdouble lVar24;\n  uint *local_80;\n  uint local_7c;\n  uint *local_78;\n  double local_74;\n  uint *local_6c;\n  char *local_68;\n  double local_64;\n  uint *local_5c;\n  char *local_4c;\n  uint local_48;\n  uint local_34;\n  \n  if (param_1 == (uint *)0x0) {\n    FUN_0009227b();\n    param_2[3] = 0;\n    FUN_00092d5e();\n    return param_2;\n  }\n  FUN_00092151();\n  iVar6 = DAT_000d1700;\n  piVar5 = DAT_000d16fc;\n  puVar4 = PTR_stdout_000d0fb4;\n  local_80 = param_1;\n  local_78 = param_2;\nLAB_000949b7:\n  local_7c = *local_80;\n  uVar8 = local_80[1];\n  *(uint *)(iVar6 + -0x24) = uVar8;\n  puVar18 = (uint *)local_80[2];\n  uVar21 = local_7c >> 8 & 0xff;\n  if (uVar21 == 1) {\n    if (((*puVar18 & 0xff00) != 0x2700) && ((*puVar18 & 0xff00) != 0x1800)) {\n                    \n      FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),uVar8,"Not an array");\n    }\n    if (puVar18[3] == 0) {\n      FUN_0009211c();\n      FUN_0009234a();\n    }\n    else {\n      FUN_00094969();\n      FUN_0009295c();\n      FUN_0009211c();\n      FUN_0009269c();\n    }\n    goto LAB_00094ab0;\n  }\n  if ((local_7c & 0x10000) != 0) {\n    local_6c = (uint *)FUN_00094969();\n  }\n  if ((local_7c & 0x20000) != 0) {\n    local_5c = (uint *)FUN_00094969();\n  }\n  if ((local_7c & 0x40000) != 0) {\n    local_68 = (char *)FUN_0009295c();\n  }\n  if ((local_7c & 0x80000) != 0) {\n    local_4c = (char *)FUN_0009295c();\n  }\n  if ((local_7c & 0x100000) != 0) {\n    lVar23 = (longdouble)FUN_000925a2();\n    local_74 = (double)lVar23;\n  }\n  uVar8 = local_7c & 0x7f;\n  switch(uVar21) {\n  default:\n    goto switchD_00094a90_caseD_0;\n  case 2:\n    break;\n  case 3:\n    *(uint *)(iVar6 + -0x28) = local_80[2];\n    break;\n  case 4:\n  case 5:\n    if (local_80[3] == 0) {\n      pFVar10 = *(FILE **)PTR_stdout_000d0fb4;\n    }\n    else {\n      piVar9 = (int *)FUN_00093a51();\n      pFVar10 = (FILE *)*piVar9;\n      if (pFVar10 == (FILE *)0x0) {\n        if (uVar8 == 0x7c) {\n          pFVar10 = popen(local_4c,"w");\n          *piVar9 = (int)pFVar10;\n          if (pFVar10 == (FILE *)0x0) {\n                    \n            FUN_00018e79("popen");\n          }\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_00019c3e();\n          *piVar9 = (int)pFVar10;\n        }\n      }\n    }\n    if ((local_7c & 0xff00) == 0x400) {\n      if (puVar18 == (uint *)0x0) {\n        pcVar15 = (char *)FUN_0009295c();\n        fputs_unlocked(pcVar15,pFVar10);\n      }\n      else {\n        while( true ) {\n          puVar22 = (uint *)0x0;\n          if ((*puVar18 & 0xff00) == 0x1300) {\n            puVar22 = (uint *)puVar18[3];\n          }\n          puVar18 = puVar22;\n          pbVar19 = (byte *)FUN_00094969();\n          if ((*pbVar19 & 1) == 0) {\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }\n          else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }\n          if (puVar18 == (uint *)0x0) break;\n          pcVar15 = (char *)FUN_0009295c();\n          fputs_unlocked(pcVar15,pFVar10);\n        }\n      }\n      pcVar15 = (char *)FUN_0009295c();\n      fputs_unlocked(pcVar15,pFVar10);\n      fflush(pFVar10);\n    }\n    else {\n      pcVar15 = (char *)FUN_00095fab();\n      fputs_unlocked(pcVar15,pFVar10);\n      free(pcVar15);\n      fflush(pFVar10);\n    }\n    break;\n  case 6:\n    iVar7 = FUN_0009211c();\n    if ((*local_6c & 0x800) == 0) {\n      *local_6c = *local_6c | 0x800;\n      uVar8 = 0;\n    }\n    else {\n      uVar8 = local_6c[4];\n    }\n    piVar9 = (int *)FUN_00019b89();\n    local_6c[4] = (uint)piVar9;\n    *piVar9 = (int)(piVar9 + 3);\n    piVar9[1] = (int)(piVar9 + 3);\n    piVar9[2] = uVar8;\n    if (*(int *)(iVar7 + 4) != 0) {\n      uVar8 = 0;\n      do {\n        iVar20 = *(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4);\n        if (iVar20 != 0) {\n          pcVar15 = (char *)*piVar9;\n          do {\n            strcpy(pcVar15,(char *)(iVar20 + 0x1c));\n            pcVar16 = (char *)*piVar9;\n            do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');\n            iVar20 = *(int *)(iVar20 + 0x18);\n          } while (iVar20 != 0);\n        }\n        uVar8 = uVar8 + 1;\n      } while (uVar8 < *(uint *)(iVar7 + 4));\n    }\n    break;\n  case 7:\n    goto switchD_00094a90_caseD_7;\n  case 10:\n    FUN_00095b2f();\n    goto switchD_00094a90_caseD_7;\n  case 0xb:\n    goto switchD_00094a90_caseD_b;\n  case 0xc:\n    *(undefined1 *)(iVar6 + -5) = 1;\n    goto switchD_00094a90_caseD_b;\n  case 0xd:\n    if ((*puVar18 & 0xff00) != 0x1300) {\n      iVar7 = FUN_00096324();\n      if (iVar7 != 0) goto LAB_000956d3;\n      local_80 = (uint *)local_80[3];\n      break;\n    }\n    if (((local_7c & 0x200000) == 0) && (iVar7 = FUN_00096324(), iVar7 == 0)) {\n      local_80 = (uint *)local_80[3];\n      break;\n    }\n    *local_80 = *local_80 | 0x200000;\n    iVar7 = FUN_00096324();\n    if (iVar7 != 0) {\n      *local_80 = *local_80 & 0xffdfffff;\n    }\n    goto LAB_000956d3;\n  case 0xe:\n    puVar18 = (uint *)local_6c[4];\n    pcVar15 = (char *)puVar18[1];\n    if (pcVar15 < (char *)*puVar18) {\n      do {\n        puVar18[1] = (uint)(pcVar15 + 1);\n        cVar1 = *pcVar15;\n        pcVar15 = pcVar15 + 1;\n      } while (cVar1 != '\0');\n      FUN_00093016();\n      goto LAB_000956d3;\n    }\n    uVar8 = puVar18[2];\n    free(puVar18);\n    local_6c[4] = uVar8;\n    local_80 = (uint *)local_80[3];\n    break;\n  case 0x10:\n  case 0x22:\n    lVar23 = (longdouble)FUN_000925a2();\n    switch(uVar8) {\n    case 0x25:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40) {\nLAB_00095638:\n        pcVar15 = "Division by zero";\n        goto LAB_00094f35;\n      }\n      local_74 = (double)((longdouble)local_74 -\n                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23);\n      break;\n    case 0x26:\nswitchD_000950ee_caseD_2:\n      pcVar15 = "Math support is not compiled in";\n      goto LAB_00094f35;\n    case 0x27:\n    case 0x28:\n    case 0x29:\n    case 0x2c:\n    case 0x2e:\n      break;\n    case 0x2a:\n      local_74 = (double)(lVar23 * (longdouble)local_74);\n      break;\n    case 0x2b:\n      local_74 = (double)(lVar23 + (longdouble)local_74);\n      break;\n    case 0x2d:\n      local_74 = (double)((longdouble)local_74 - lVar23);\n      break;\n    case 0x2f:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)\n      goto LAB_00095638;\n      local_74 = (double)((longdouble)local_74 / lVar23);\n    }\n    if ((local_7c & 0xff00) != 0x1000) {\n      local_78 = local_6c;\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = local_74;\n    FUN_00092d5e();\n    break;\n  case 0x11:\n    local_78 = (uint *)FUN_00093dbd();\n    break;\n  case 0x13:\n  case 0x15:\n    puVar17 = &DAT_000cd91f;\n    if ((local_7c & 0xff00) == 0x1300) {\n      puVar17 = (undefined1 *)FUN_0009295c();\n    }\n    uVar8 = FUN_00019fd7("%s%s%s",local_68,puVar17,local_4c);\n    FUN_0009227b();\n    local_78[3] = uVar8;\n    FUN_00092d5e();\n    break;\n  case 0x14:\n    FUN_000925a2();\n    if (((((ushort)*local_6c ^ 0x4000) & 0x4201) == 0) ||\n       (FUN_000925a2(), (((ushort)*local_5c ^ 0x4000) & 0x4201) == 0)) {\n      pcVar15 = (char *)FUN_0009295c();\n      pcVar16 = (char *)FUN_0009295c();\n      if (*(char *)(iVar6 + -8) == '\0') {\n        iVar7 = strcmp(pcVar15,pcVar16);\n        lVar23 = (longdouble)iVar7;\n        goto joined_r0x0009536c;\n      }\n      iVar7 = strcasecmp(pcVar15,pcVar16);\n      lVar23 = (longdouble)iVar7;\n      if ((local_7c & 0x7e) != 2) goto LAB_00095372;\nLAB_000952b4:\n      local_48 = (uint)((longdouble)0 <= lVar23);\n    }\n    else {\n      lVar24 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)(double)lVar24 - lVar23;\njoined_r0x0009536c:\n      if ((local_7c & 0x7e) == 2) goto LAB_000952b4;\nLAB_00095372:\n      if ((local_7c & 0x7e) == 4) {\n        lVar24 = (longdouble)0;\n        local_48 = (uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40);\n      }\n      else if ((local_7c & 0x7e) == 0) {\n        local_48 = (uint)((longdouble)0 < lVar23);\n      }\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)(int)(local_7c & 1 ^ local_48 ^ 1);\n    FUN_00092d5e();\n    break;\n  case 0x16:\n    switch(uVar8) {\n    case 0:\n      local_64 = (double)(longlong)ROUND(local_74);\n      break;\n    case 1:\n      iVar7 = rand();\n      local_64 = (double)iVar7 / DAT_000b65c0;\n      break;\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n      goto switchD_000950ee_caseD_2;\n    case 7:\n      uVar8 = *(uint *)(iVar6 + 0x8c);\n      if (puVar18 == (uint *)0x0) {\n        local_34 = time((time_t *)0x0);\n      }\n      else {\n        local_34 = (uint)(longlong)ROUND(local_74);\n      }\n      local_64 = (double)(ulonglong)uVar8;\n      local_64 = (double)(longlong)local_64;\n      *(uint *)(iVar6 + 0x8c) = local_34;\n      srand(local_34);\n      break;\n    case 8:\n      tVar14 = time((time_t *)0x0);\n      local_64 = (double)tVar14;\n      break;\n    case 9:\n      if (puVar18 == (uint *)0x0) {\n        local_68 = (char *)FUN_0009295c();\n      }\n      else if ((*local_6c & 2) != 0) {\n        local_64 = (double)(ulonglong)*(uint *)local_6c[4];\n        local_64 = (double)(longlong)local_64;\n        break;\n      }\n      sVar13 = strlen(local_68);\n      local_64 = (double)(ulonglong)sVar13;\n      local_64 = (double)(longlong)local_64;\n      break;\n    case 10:\n      FUN_00019f78();\n      if (local_68 == (char *)0x0) {\n        local_64 = 0.0;\n      }\n      else if (*local_68 == '\0') {\n        local_64 = 0.0;\n      }\n      else {\n        iVar7 = system(local_68);\n        local_64 = (double)(iVar7 >> 8);\n      }\n      break;\n    case 0xb:\n      if (puVar18 == (uint *)0x0) {\n        fflush(*(FILE **)puVar4);\n      }\n      else if ((local_68 == (char *)0x0) || (*local_68 == '\0')) {\n        FUN_00019f78();\n      }\n      else {\n        puVar11 = (undefined4 *)FUN_00093a51();\n        fflush((FILE *)*puVar11);\n      }\n      break;\n    case 0xc:\n      puVar11 = (undefined4 *)FUN_000939df();\n      if (puVar11 == (undefined4 *)0x0) {\n        local_64 = 0.0;\n      }\n      else {\n        pFVar10 = (FILE *)*puVar11;\n        if (pFVar10 == (FILE *)0x0) {\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          local_64 = 0.0;\n        }\n        else {\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }\n      }\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = local_64;\n    FUN_00092d5e();\n    break;\n  case 0x17:\n    lVar23 = (longdouble)FUN_000925a2();\n    iVar7 = (int)ROUND(lVar23);\n    if (iVar7 < 0) {\n      pcVar15 = "Access to negative field";\n      goto LAB_00094f35;\n    }\n    if (iVar7 == 0) {\n      local_78 = *(uint **)(iVar6 + 0x34);\n    }\n    else {\n      FUN_00092cc4();\n      if (*(int *)(iVar6 + -0x20) < iVar7) {\n        FUN_000922c0();\n      }\n      local_78 = (uint *)(*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14);\n    }\n    break;\n  case 0x18:\n    local_78 = (uint *)(*(int *)(iVar6 + 0x88) + local_80[2] * 0x14);\n    goto LAB_00094b15;\n  case 0x19:\n    if ((*(int *)local_80[3] == 0) && (((int *)local_80[3])[1] == 0)) {\n      pcVar15 = "Call to undefined function";\n      goto LAB_00094f35;\n    }\n    puVar12 = (uint *)FUN_00092151();\n    puVar22 = puVar12;\n    if (puVar18 != (uint *)0x0) {\n      while ((*puVar18 & 0xff00) == 0x1300) {\n        puVar18 = (uint *)puVar18[3];\n        uVar8 = FUN_00094969();\n        FUN_00093453();\n        *puVar22 = *puVar22 | 0x2000;\n        puVar22[4] = uVar8;\n        if ((*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))\n           || (puVar22 = puVar22 + 5, puVar18 == (uint *)0x0)) goto LAB_00094fd5;\n      }\n      uVar8 = FUN_00094969();\n      FUN_00093453();\n      *puVar22 = *puVar22 | 0x2000;\n      puVar22[4] = uVar8;\n    }\nLAB_00094fd5:\n    uVar2 = *(undefined4 *)(iVar6 + 0x88);\n    *(uint **)(iVar6 + 0x88) = puVar12;\n    uVar3 = *(undefined4 *)(iVar6 + -0x28);\n    local_78 = (uint *)FUN_00094969();\n    *(undefined4 *)(iVar6 + -0x28) = uVar3;\n    FUN_000938f0();\n    *(undefined4 *)(iVar6 + 0x88) = uVar2;\n    break;\n  case 0x1a:\n  case 0x20:\n    if (puVar18 == (uint *)0x0) {\n      puVar11 = *(undefined4 **)(iVar6 + -0x3c);\n      if (puVar11 != (undefined4 *)0x0) {\nLAB_00094e49:\n        pFVar10 = (FILE *)*puVar11;\n        goto LAB_00094e4b;\n      }\n      puVar11 = (undefined4 *)FUN_00093cca();\n      *(undefined4 **)(iVar6 + -0x3c) = puVar11;\n      if (puVar11 != (undefined4 *)0x0) goto LAB_00094e49;\nLAB_00094e4f:\n      iVar7 = *DAT_000d16fc;\n      puVar18 = *(uint **)(iVar6 + 0x44);\n      FUN_0009227b();\n      *puVar18 = *puVar18 | 1;\n      *(double *)(puVar18 + 1) = (double)iVar7;\n      FUN_00092d5e();\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      local_78[1] = 0;\n      local_78[2] = 0xbff00000;\n      FUN_00092d5e();\n    }\n    else {\n      piVar9 = (int *)FUN_00093a51();\n      if (*piVar9 == 0) {\n        if ((local_7c & 0xff00) == 0x2000) {\n          pFVar10 = popen(local_68,"r");\n          *piVar9 = (int)pFVar10;\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_0001923e();\n          *piVar9 = (int)pFVar10;\n        }\nLAB_00094e4b:\n        if (pFVar10 == (FILE *)0x0) goto LAB_00094e4f;\n      }\n      if (local_80[3] == 0) {\n        local_5c = *(uint **)(iVar6 + 0x34);\n      }\n      iVar7 = FUN_0009307e();\n      if ((0 < iVar7) && (puVar18 == (uint *)0x0)) {\n        FUN_0009304a();\n        FUN_0009304a();\n      }\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      *(double *)(local_78 + 1) = (double)iVar7;\n      FUN_00092d5e();\n    }\n    break;\n  case 0x1b:\n    FUN_0009211c();\n    iVar7 = FUN_000939df();\n    if (iVar7 == 0) {\nLAB_00094c2d:\n      lVar23 = (longdouble)0;\n    }\n    else {\n      lVar23 = (longdouble)1;\n    }\n    goto LAB_00094b8a;\n  case 0x1c:\n    iVar7 = FUN_00092658();\n    if (iVar7 == 0) goto LAB_00094c2d;\nLAB_00094da9:\n    iVar7 = FUN_00096324();\n    lVar23 = (longdouble)iVar7;\n    goto LAB_00094b8a;\n  case 0x1d:\n    iVar7 = FUN_00092658();\n    if (iVar7 == 0) goto LAB_00094da9;\nLAB_00094c15:\n    lVar23 = (longdouble)1;\n    goto LAB_00094b8a;\n  case 0x1e:\n    goto LAB_00094ce7;\n  case 0x1f:\n    local_78 = (uint *)FUN_00093453();\n    break;\n  case 0x21:\n    local_68 = (char *)FUN_0009295c();\nLAB_00094ce7:\n    __preg = (regex_t *)FUN_00095bc7();\n    iVar7 = regexec(__preg,local_68,0,(regmatch_t *)0x0,0);\n    if ((regex_t *)(iVar6 + 0x90) == __preg) {\n      regfree((regex_t *)(iVar6 + 0x90));\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)((iVar7 == 0) != (uVar8 == 0x21));\n    FUN_00092d5e();\n    break;\n  case 0x23:\n    FUN_00093453();\n    break;\n  case 0x24:\n    uVar8 = FUN_00095fab();\n    FUN_0009227b();\n    local_78[3] = uVar8;\n    FUN_00092d5e();\n    break;\n  case 0x25:\n    if ((*(uint *)local_80[3] & 0xff00) == 0x1200) {\n      FUN_00092658();\n      local_78 = (uint *)FUN_00094969();\n      break;\n    }\n    goto switchD_00094a90_caseD_0;\n  case 0x26:\n    lVar23 = (longdouble)FUN_000925a2();\n    if (uVar8 == 0x4d) {\n      lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      lVar23 = lVar24;\n    }\n    else {\n      if (uVar8 < 0x4e) {\n        if (uVar8 == 0x21) {\n          iVar7 = FUN_00092658();\n          if (iVar7 == 0) goto LAB_00094c15;\n          goto LAB_00094c2d;\n        }\n        if (uVar8 == 0x2d) {\n          lVar23 = -lVar23;\n        }\n        goto LAB_00094b8a;\n      }\n      if (uVar8 == 0x6d) {\n        lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      }\n      else if (uVar8 == 0x70) {\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n      }\n      else {\n        if (uVar8 != 0x50) goto LAB_00094b8a;\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n        lVar23 = lVar24;\n      }\n    }\n    FUN_0009227b();\n    *local_5c = *local_5c | 1;\n    *(double *)(local_5c + 1) = (double)lVar24;\n    FUN_00092d5e();\n    lVar23 = (longdouble)(double)lVar23;\nLAB_00094b8a:\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)lVar23;\n    FUN_00092d5e();\n    break;\n  case 0x27:\n    local_78 = (uint *)local_80[2];\n    if (local_78 == *(uint **)(iVar6 + 0x50)) {\n      FUN_00092cc4();\n    }\nLAB_00094b15:\n    if (local_80[3] != 0) {\n      FUN_0009211c();\n      local_78 = (uint *)FUN_00093a51();\n    }\n    break;\n  case 0x28:\n    goto switchD_00094a90_caseD_28;\n  }\nLAB_00094ab0:\n  local_7c = local_7c & 0xff00;\n  if (local_7c < 0x601) {\n    local_80 = (uint *)local_80[4];\n    cVar1 = *(char *)(iVar6 + -6);\n  }\n  else {\n    if (0xfff < local_7c) {\nLAB_00094acb:\n      FUN_000938f0();\n      return local_78;\n    }\n    cVar1 = *(char *)(iVar6 + -6);\n  }\n  if ((cVar1 != '\0') || (local_80 == (uint *)0x0)) goto LAB_00094acb;\n  goto LAB_000949b7;\nswitchD_00094a90_caseD_b:\n  *(undefined1 *)(iVar6 + -6) = 1;\nswitchD_00094a90_caseD_28:\n  FUN_0009227b();\n  goto LAB_00094ab0;\nswitchD_00094a90_caseD_7:\n  iVar7 = FUN_00092658();\n  if (iVar7 == 0) {\n    local_80 = (uint *)local_80[3];\n  }\n  else {\nLAB_000956d3:\n    local_80 = (uint *)local_80[4];\n  }\n  goto LAB_00094ab0;\nswitchD_00094a90_caseD_0:\n  pcVar15 = "Possible syntax error";\nLAB_00094f35:\n                    \n  FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),*(undefined4 *)(iVar6 + -0x24),pcVar15);\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "undefined *puVar4;" (type_identifier "undefined") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "regex_t *__preg;" (type_identifier "regex_t") (pointer_declarator "*__preg" (* "*") (identifier "__preg")) (; ";")) (declaration "int *piVar9;" (primitive_type "int") (pointer_declarator "*piVar9" (* "*") (identifier "piVar9")) (; ";")) (declaration "FILE *pFVar10;" (type_identifier "FILE") (pointer_declarator "*pFVar10" (* "*") (identifier "pFVar10")) (; ";")) (declaration "undefined4 *puVar11;" (type_identifier "undefined4") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "uint *puVar12;" (type_identifier "uint") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "size_t sVar13;" (primitive_type "size_t") (identifier "sVar13") (; ";")) (declaration "time_t tVar14;" (type_identifier "time_t") (identifier "tVar14") (; ";")) (declaration "char *pcVar15;" (primitive_type "char") (pointer_declarator "*pcVar15" (* "*") (identifier "pcVar15")) (; ";")) (declaration "char *pcVar16;" (primitive_type "char") (pointer_declarator "*pcVar16" (* "*") (identifier "pcVar16")) (; ";")) (declaration "undefined1 *puVar17;" (type_identifier "undefined1") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "uint *puVar18;" (type_identifier "uint") (pointer_declarator "*puVar18" (* "*") (identifier "puVar18")) (; ";")) (declaration "byte *pbVar19;" (type_identifier "byte") (pointer_declarator "*pbVar19" (* "*") (identifier "pbVar19")) (; ";")) (declaration "undefined4 extraout_EDX;" (type_identifier "undefined4") (identifier "extraout_EDX") (; ";")) (declaration "int iVar20;" (primitive_type "int") (identifier "iVar20") (; ";")) (declaration "uint uVar21;" (type_identifier "uint") (identifier "uVar21") (; ";")) (declaration "uint *puVar22;" (type_identifier "uint") (pointer_declarator "*puVar22" (* "*") (identifier "puVar22")) (; ";")) (declaration "longdouble lVar23;" (type_identifier "longdouble") (identifier "lVar23") (; ";")) (declaration "longdouble lVar24;" (type_identifier "longdouble") (identifier "lVar24") (; ";")) (declaration "uint *local_80;" (type_identifier "uint") (pointer_declarator "*local_80" (* "*") (identifier "local_80")) (; ";")) (declaration "uint local_7c;" (type_identifier "uint") (identifier "local_7c") (; ";")) (declaration "uint *local_78;" (type_identifier "uint") (pointer_declarator "*local_78" (* "*") (identifier "local_78")) (; ";")) (declaration "double local_74;" (primitive_type "double") (identifier "local_74") (; ";")) (declaration "uint *local_6c;" (type_identifier "uint") (pointer_declarator "*local_6c" (* "*") (identifier "local_6c")) (; ";")) (declaration "char *local_68;" (primitive_type "char") (pointer_declarator "*local_68" (* "*") (identifier "local_68")) (; ";")) (declaration "double local_64;" (primitive_type "double") (identifier "local_64") (; ";")) (declaration "uint *local_5c;" (type_identifier "uint") (pointer_declarator "*local_5c" (* "*") (identifier "local_5c")) (; ";")) (declaration "char *local_4c;" (primitive_type "char") (pointer_declarator "*local_4c" (* "*") (identifier "local_4c")) (; ";")) (declaration "uint local_48;" (type_identifier "uint") (identifier "local_48") (; ";")) (declaration "uint local_34;" (type_identifier "uint") (identifier "local_34") (; ";")) (if_statement "if (param_1 == (uint *)0x0) {\n    FUN_0009227b();\n    param_2[3] = 0;\n    FUN_00092d5e();\n    return param_2;\n  }" (if "if") (parenthesized_expression "(param_1 == (uint *)0x0)" (( "(") (binary_expression "param_1 == (uint *)0x0" (identifier "param_1") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    FUN_0009227b();\n    param_2[3] = 0;\n    FUN_00092d5e();\n    return param_2;\n  }" ({ "{") (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" (identifier "FUN_0009227b") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "param_2[3] = 0;" (assignment_expression "param_2[3] = 0" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_00092d5e();" (call_expression "FUN_00092d5e()" (identifier "FUN_00092d5e") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return param_2;" (return "return") (identifier "param_2") (; ";")) (} "}"))) (expression_statement "FUN_00092151();" (call_expression "FUN_00092151()" (identifier "FUN_00092151") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar6 = DAT_000d1700;" (assignment_expression "iVar6 = DAT_000d1700" (identifier "iVar6") (= "=") (identifier "DAT_000d1700")) (; ";")) (expression_statement "piVar5 = DAT_000d16fc;" (assignment_expression "piVar5 = DAT_000d16fc" (identifier "piVar5") (= "=") (identifier "DAT_000d16fc")) (; ";")) (expression_statement "puVar4 = PTR_stdout_000d0fb4;" (assignment_expression "puVar4 = PTR_stdout_000d0fb4" (identifier "puVar4") (= "=") (identifier "PTR_stdout_000d0fb4")) (; ";")) (expression_statement "local_80 = param_1;" (assignment_expression "local_80 = param_1" (identifier "local_80") (= "=") (identifier "param_1")) (; ";")) (expression_statement "local_78 = param_2;" (assignment_expression "local_78 = param_2" (identifier "local_78") (= "=") (identifier "param_2")) (; ";")) (labeled_statement "LAB_000949b7:\n  local_7c = *local_80;" (statement_identifier "LAB_000949b7") (: ":") (expression_statement "local_7c = *local_80;" (assignment_expression "local_7c = *local_80" (identifier "local_7c") (= "=") (pointer_expression "*local_80" (* "*") (identifier "local_80"))) (; ";"))) (expression_statement "uVar8 = local_80[1];" (assignment_expression "uVar8 = local_80[1]" (identifier "uVar8") (= "=") (subscript_expression "local_80[1]" (identifier "local_80") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*(uint *)(iVar6 + -0x24) = uVar8;" (assignment_expression "*(uint *)(iVar6 + -0x24) = uVar8" (pointer_expression "*(uint *)(iVar6 + -0x24)" (* "*") (cast_expression "(uint *)(iVar6 + -0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + -0x24)" (( "(") (binary_expression "iVar6 + -0x24" (identifier "iVar6") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "puVar18 = (uint *)local_80[2];" (assignment_expression "puVar18 = (uint *)local_80[2]" (identifier "puVar18") (= "=") (cast_expression "(uint *)local_80[2]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_80[2]" (identifier "local_80") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "uVar21 = local_7c >> 8 & 0xff;" (assignment_expression "uVar21 = local_7c >> 8 & 0xff" (identifier "uVar21") (= "=") (binary_expression "local_7c >> 8 & 0xff" (binary_expression "local_7c >> 8" (identifier "local_7c") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) (; ";")) (if_statement "if (uVar21 == 1) {\n    if (((*puVar18 & 0xff00) != 0x2700) && ((*puVar18 & 0xff00) != 0x1800)) {\n                    \n      FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),uVar8,"Not an array");\n    }\n    if (puVar18[3] == 0) {\n      FUN_0009211c();\n      FUN_0009234a();\n    }\n    else {\n      FUN_00094969();\n      FUN_0009295c();\n      FUN_0009211c();\n      FUN_0009269c();\n    }\n    goto LAB_00094ab0;\n  }" (if "if") (parenthesized_expression "(uVar21 == 1)" (( "(") (binary_expression "uVar21 == 1" (identifier "uVar21") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n    if (((*puVar18 & 0xff00) != 0x2700) && ((*puVar18 & 0xff00) != 0x1800)) {\n                    \n      FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),uVar8,"Not an array");\n    }\n    if (puVar18[3] == 0) {\n      FUN_0009211c();\n      FUN_0009234a();\n    }\n    else {\n      FUN_00094969();\n      FUN_0009295c();\n      FUN_0009211c();\n      FUN_0009269c();\n    }\n    goto LAB_00094ab0;\n  }" ({ "{") (if_statement "if (((*puVar18 & 0xff00) != 0x2700) && ((*puVar18 & 0xff00) != 0x1800)) {\n                    \n      FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),uVar8,"Not an array");\n    }" (if "if") (parenthesized_expression "(((*puVar18 & 0xff00) != 0x2700) && ((*puVar18 & 0xff00) != 0x1800))" (( "(") (binary_expression "((*puVar18 & 0xff00) != 0x2700) && ((*puVar18 & 0xff00) != 0x1800)" (parenthesized_expression "((*puVar18 & 0xff00) != 0x2700)" (( "(") (binary_expression "(*puVar18 & 0xff00) != 0x2700" (parenthesized_expression "(*puVar18 & 0xff00)" (( "(") (binary_expression "*puVar18 & 0xff00" (pointer_expression "*puVar18" (* "*") (identifier "puVar18")) (& "&") (number_literal "0xff00")) () ")")) (!= "!=") (number_literal "0x2700")) () ")")) (&& "&&") (parenthesized_expression "((*puVar18 & 0xff00) != 0x1800)" (( "(") (binary_expression "(*puVar18 & 0xff00) != 0x1800" (parenthesized_expression "(*puVar18 & 0xff00)" (( "(") (binary_expression "*puVar18 & 0xff00" (pointer_expression "*puVar18" (* "*") (identifier "puVar18")) (& "&") (number_literal "0xff00")) () ")")) (!= "!=") (number_literal "0x1800")) () ")"))) () ")")) (compound_statement "{\n                    \n      FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),uVar8,"Not an array");\n    }" ({ "{") (expression_statement "FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),uVar8,"Not an array");" (call_expression "FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),uVar8,"Not an array")" (identifier "FUN_000191a6") (argument_list "("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),uVar8,"Not an array")" (( "(") (string_literal ""%s:%i: %s"" (" """) (string_content "%s:%i: %s") (" """)) (, ",") (pointer_expression "*(undefined4 *)(iVar6 + -0x28)" (* "*") (cast_expression "(undefined4 *)(iVar6 + -0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + -0x28)" (( "(") (binary_expression "iVar6 + -0x28" (identifier "iVar6") (+ "+") (number_literal "-0x28")) () ")")))) (, ",") (identifier "uVar8") (, ",") (string_literal ""Not an array"" (" """) (string_content "Not an array") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (puVar18[3] == 0) {\n      FUN_0009211c();\n      FUN_0009234a();\n    }\n    else {\n      FUN_00094969();\n      FUN_0009295c();\n      FUN_0009211c();\n      FUN_0009269c();\n    }" (if "if") (parenthesized_expression "(puVar18[3] == 0)" (( "(") (binary_expression "puVar18[3] == 0" (subscript_expression "puVar18[3]" (identifier "puVar18") ([ "[") (number_literal "3") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_0009211c();\n      FUN_0009234a();\n    }" ({ "{") (expression_statement "FUN_0009211c();" (call_expression "FUN_0009211c()" (identifier "FUN_0009211c") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0009234a();" (call_expression "FUN_0009234a()" (identifier "FUN_0009234a") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n      FUN_00094969();\n      FUN_0009295c();\n      FUN_0009211c();\n      FUN_0009269c();\n    }" (else "else") (compound_statement "{\n      FUN_00094969();\n      FUN_0009295c();\n      FUN_0009211c();\n      FUN_0009269c();\n    }" ({ "{") (expression_statement "FUN_00094969();" (call_expression "FUN_00094969()" (identifier "FUN_00094969") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0009295c();" (call_expression "FUN_0009295c()" (identifier "FUN_0009295c") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0009211c();" (call_expression "FUN_0009211c()" (identifier "FUN_0009211c") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0009269c();" (call_expression "FUN_0009269c()" (identifier "FUN_0009269c") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (goto_statement "goto LAB_00094ab0;" (goto "goto") (statement_identifier "LAB_00094ab0") (; ";")) (} "}"))) (if_statement "if ((local_7c & 0x10000) != 0) {\n    local_6c = (uint *)FUN_00094969();\n  }" (if "if") (parenthesized_expression "((local_7c & 0x10000) != 0)" (( "(") (binary_expression "(local_7c & 0x10000) != 0" (parenthesized_expression "(local_7c & 0x10000)" (( "(") (binary_expression "local_7c & 0x10000" (identifier "local_7c") (& "&") (number_literal "0x10000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    local_6c = (uint *)FUN_00094969();\n  }" ({ "{") (expression_statement "local_6c = (uint *)FUN_00094969();" (assignment_expression "local_6c = (uint *)FUN_00094969()" (identifier "local_6c") (= "=") (cast_expression "(uint *)FUN_00094969()" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00094969()" (identifier "FUN_00094969") (argument_list "()" (( "(") () ")"))))) (; ";")) (} "}"))) (if_statement "if ((local_7c & 0x20000) != 0) {\n    local_5c = (uint *)FUN_00094969();\n  }" (if "if") (parenthesized_expression "((local_7c & 0x20000) != 0)" (( "(") (binary_expression "(local_7c & 0x20000) != 0" (parenthesized_expression "(local_7c & 0x20000)" (( "(") (binary_expression "local_7c & 0x20000" (identifier "local_7c") (& "&") (number_literal "0x20000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    local_5c = (uint *)FUN_00094969();\n  }" ({ "{") (expression_statement "local_5c = (uint *)FUN_00094969();" (assignment_expression "local_5c = (uint *)FUN_00094969()" (identifier "local_5c") (= "=") (cast_expression "(uint *)FUN_00094969()" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00094969()" (identifier "FUN_00094969") (argument_list "()" (( "(") () ")"))))) (; ";")) (} "}"))) (if_statement "if ((local_7c & 0x40000) != 0) {\n    local_68 = (char *)FUN_0009295c();\n  }" (if "if") (parenthesized_expression "((local_7c & 0x40000) != 0)" (( "(") (binary_expression "(local_7c & 0x40000) != 0" (parenthesized_expression "(local_7c & 0x40000)" (( "(") (binary_expression "local_7c & 0x40000" (identifier "local_7c") (& "&") (number_literal "0x40000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    local_68 = (char *)FUN_0009295c();\n  }" ({ "{") (expression_statement "local_68 = (char *)FUN_0009295c();" (assignment_expression "local_68 = (char *)FUN_0009295c()" (identifier "local_68") (= "=") (cast_expression "(char *)FUN_0009295c()" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0009295c()" (identifier "FUN_0009295c") (argument_list "()" (( "(") () ")"))))) (; ";")) (} "}"))) (if_statement "if ((local_7c & 0x80000) != 0) {\n    local_4c = (char *)FUN_0009295c();\n  }" (if "if") (parenthesized_expression "((local_7c & 0x80000) != 0)" (( "(") (binary_expression "(local_7c & 0x80000) != 0" (parenthesized_expression "(local_7c & 0x80000)" (( "(") (binary_expression "local_7c & 0x80000" (identifier "local_7c") (& "&") (number_literal "0x80000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    local_4c = (char *)FUN_0009295c();\n  }" ({ "{") (expression_statement "local_4c = (char *)FUN_0009295c();" (assignment_expression "local_4c = (char *)FUN_0009295c()" (identifier "local_4c") (= "=") (cast_expression "(char *)FUN_0009295c()" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0009295c()" (identifier "FUN_0009295c") (argument_list "()" (( "(") () ")"))))) (; ";")) (} "}"))) (if_statement "if ((local_7c & 0x100000) != 0) {\n    lVar23 = (longdouble)FUN_000925a2();\n    local_74 = (double)lVar23;\n  }" (if "if") (parenthesized_expression "((local_7c & 0x100000) != 0)" (( "(") (binary_expression "(local_7c & 0x100000) != 0" (parenthesized_expression "(local_7c & 0x100000)" (( "(") (binary_expression "local_7c & 0x100000" (identifier "local_7c") (& "&") (number_literal "0x100000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    lVar23 = (longdouble)FUN_000925a2();\n    local_74 = (double)lVar23;\n  }" ({ "{") (expression_statement "lVar23 = (longdouble)FUN_000925a2();" (assignment_expression "lVar23 = (longdouble)FUN_000925a2()" (identifier "lVar23") (= "=") (cast_expression "(longdouble)FUN_000925a2()" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (call_expression "FUN_000925a2()" (identifier "FUN_000925a2") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "local_74 = (double)lVar23;" (assignment_expression "local_74 = (double)lVar23" (identifier "local_74") (= "=") (cast_expression "(double)lVar23" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "lVar23"))) (; ";")) (} "}"))) (expression_statement "uVar8 = local_7c & 0x7f;" (assignment_expression "uVar8 = local_7c & 0x7f" (identifier "uVar8") (= "=") (binary_expression "local_7c & 0x7f" (identifier "local_7c") (& "&") (number_literal "0x7f"))) (; ";")) (switch_statement "switch(uVar21) {\n  default:\n    goto switchD_00094a90_caseD_0;\n  case 2:\n    break;\n  case 3:\n    *(uint *)(iVar6 + -0x28) = local_80[2];\n    break;\n  case 4:\n  case 5:\n    if (local_80[3] == 0) {\n      pFVar10 = *(FILE **)PTR_stdout_000d0fb4;\n    }\n    else {\n      piVar9 = (int *)FUN_00093a51();\n      pFVar10 = (FILE *)*piVar9;\n      if (pFVar10 == (FILE *)0x0) {\n        if (uVar8 == 0x7c) {\n          pFVar10 = popen(local_4c,"w");\n          *piVar9 = (int)pFVar10;\n          if (pFVar10 == (FILE *)0x0) {\n                    \n            FUN_00018e79("popen");\n          }\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_00019c3e();\n          *piVar9 = (int)pFVar10;\n        }\n      }\n    }\n    if ((local_7c & 0xff00) == 0x400) {\n      if (puVar18 == (uint *)0x0) {\n        pcVar15 = (char *)FUN_0009295c();\n        fputs_unlocked(pcVar15,pFVar10);\n      }\n      else {\n        while( true ) {\n          puVar22 = (uint *)0x0;\n          if ((*puVar18 & 0xff00) == 0x1300) {\n            puVar22 = (uint *)puVar18[3];\n          }\n          puVar18 = puVar22;\n          pbVar19 = (byte *)FUN_00094969();\n          if ((*pbVar19 & 1) == 0) {\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }\n          else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }\n          if (puVar18 == (uint *)0x0) break;\n          pcVar15 = (char *)FUN_0009295c();\n          fputs_unlocked(pcVar15,pFVar10);\n        }\n      }\n      pcVar15 = (char *)FUN_0009295c();\n      fputs_unlocked(pcVar15,pFVar10);\n      fflush(pFVar10);\n    }\n    else {\n      pcVar15 = (char *)FUN_00095fab();\n      fputs_unlocked(pcVar15,pFVar10);\n      free(pcVar15);\n      fflush(pFVar10);\n    }\n    break;\n  case 6:\n    iVar7 = FUN_0009211c();\n    if ((*local_6c & 0x800) == 0) {\n      *local_6c = *local_6c | 0x800;\n      uVar8 = 0;\n    }\n    else {\n      uVar8 = local_6c[4];\n    }\n    piVar9 = (int *)FUN_00019b89();\n    local_6c[4] = (uint)piVar9;\n    *piVar9 = (int)(piVar9 + 3);\n    piVar9[1] = (int)(piVar9 + 3);\n    piVar9[2] = uVar8;\n    if (*(int *)(iVar7 + 4) != 0) {\n      uVar8 = 0;\n      do {\n        iVar20 = *(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4);\n        if (iVar20 != 0) {\n          pcVar15 = (char *)*piVar9;\n          do {\n            strcpy(pcVar15,(char *)(iVar20 + 0x1c));\n            pcVar16 = (char *)*piVar9;\n            do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');\n            iVar20 = *(int *)(iVar20 + 0x18);\n          } while (iVar20 != 0);\n        }\n        uVar8 = uVar8 + 1;\n      } while (uVar8 < *(uint *)(iVar7 + 4));\n    }\n    break;\n  case 7:\n    goto switchD_00094a90_caseD_7;\n  case 10:\n    FUN_00095b2f();\n    goto switchD_00094a90_caseD_7;\n  case 0xb:\n    goto switchD_00094a90_caseD_b;\n  case 0xc:\n    *(undefined1 *)(iVar6 + -5) = 1;\n    goto switchD_00094a90_caseD_b;\n  case 0xd:\n    if ((*puVar18 & 0xff00) != 0x1300) {\n      iVar7 = FUN_00096324();\n      if (iVar7 != 0) goto LAB_000956d3;\n      local_80 = (uint *)local_80[3];\n      break;\n    }\n    if (((local_7c & 0x200000) == 0) && (iVar7 = FUN_00096324(), iVar7 == 0)) {\n      local_80 = (uint *)local_80[3];\n      break;\n    }\n    *local_80 = *local_80 | 0x200000;\n    iVar7 = FUN_00096324();\n    if (iVar7 != 0) {\n      *local_80 = *local_80 & 0xffdfffff;\n    }\n    goto LAB_000956d3;\n  case 0xe:\n    puVar18 = (uint *)local_6c[4];\n    pcVar15 = (char *)puVar18[1];\n    if (pcVar15 < (char *)*puVar18) {\n      do {\n        puVar18[1] = (uint)(pcVar15 + 1);\n        cVar1 = *pcVar15;\n        pcVar15 = pcVar15 + 1;\n      } while (cVar1 != '\0');\n      FUN_00093016();\n      goto LAB_000956d3;\n    }\n    uVar8 = puVar18[2];\n    free(puVar18);\n    local_6c[4] = uVar8;\n    local_80 = (uint *)local_80[3];\n    break;\n  case 0x10:\n  case 0x22:\n    lVar23 = (longdouble)FUN_000925a2();\n    switch(uVar8) {\n    case 0x25:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40) {\nLAB_00095638:\n        pcVar15 = "Division by zero";\n        goto LAB_00094f35;\n      }\n      local_74 = (double)((longdouble)local_74 -\n                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23);\n      break;\n    case 0x26:\nswitchD_000950ee_caseD_2:\n      pcVar15 = "Math support is not compiled in";\n      goto LAB_00094f35;\n    case 0x27:\n    case 0x28:\n    case 0x29:\n    case 0x2c:\n    case 0x2e:\n      break;\n    case 0x2a:\n      local_74 = (double)(lVar23 * (longdouble)local_74);\n      break;\n    case 0x2b:\n      local_74 = (double)(lVar23 + (longdouble)local_74);\n      break;\n    case 0x2d:\n      local_74 = (double)((longdouble)local_74 - lVar23);\n      break;\n    case 0x2f:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)\n      goto LAB_00095638;\n      local_74 = (double)((longdouble)local_74 / lVar23);\n    }\n    if ((local_7c & 0xff00) != 0x1000) {\n      local_78 = local_6c;\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = local_74;\n    FUN_00092d5e();\n    break;\n  case 0x11:\n    local_78 = (uint *)FUN_00093dbd();\n    break;\n  case 0x13:\n  case 0x15:\n    puVar17 = &DAT_000cd91f;\n    if ((local_7c & 0xff00) == 0x1300) {\n      puVar17 = (undefined1 *)FUN_0009295c();\n    }\n    uVar8 = FUN_00019fd7("%s%s%s",local_68,puVar17,local_4c);\n    FUN_0009227b();\n    local_78[3] = uVar8;\n    FUN_00092d5e();\n    break;\n  case 0x14:\n    FUN_000925a2();\n    if (((((ushort)*local_6c ^ 0x4000) & 0x4201) == 0) ||\n       (FUN_000925a2(), (((ushort)*local_5c ^ 0x4000) & 0x4201) == 0)) {\n      pcVar15 = (char *)FUN_0009295c();\n      pcVar16 = (char *)FUN_0009295c();\n      if (*(char *)(iVar6 + -8) == '\0') {\n        iVar7 = strcmp(pcVar15,pcVar16);\n        lVar23 = (longdouble)iVar7;\n        goto joined_r0x0009536c;\n      }\n      iVar7 = strcasecmp(pcVar15,pcVar16);\n      lVar23 = (longdouble)iVar7;\n      if ((local_7c & 0x7e) != 2) goto LAB_00095372;\nLAB_000952b4:\n      local_48 = (uint)((longdouble)0 <= lVar23);\n    }\n    else {\n      lVar24 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)(double)lVar24 - lVar23;\njoined_r0x0009536c:\n      if ((local_7c & 0x7e) == 2) goto LAB_000952b4;\nLAB_00095372:\n      if ((local_7c & 0x7e) == 4) {\n        lVar24 = (longdouble)0;\n        local_48 = (uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40);\n      }\n      else if ((local_7c & 0x7e) == 0) {\n        local_48 = (uint)((longdouble)0 < lVar23);\n      }\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)(int)(local_7c & 1 ^ local_48 ^ 1);\n    FUN_00092d5e();\n    break;\n  case 0x16:\n    switch(uVar8) {\n    case 0:\n      local_64 = (double)(longlong)ROUND(local_74);\n      break;\n    case 1:\n      iVar7 = rand();\n      local_64 = (double)iVar7 / DAT_000b65c0;\n      break;\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n      goto switchD_000950ee_caseD_2;\n    case 7:\n      uVar8 = *(uint *)(iVar6 + 0x8c);\n      if (puVar18 == (uint *)0x0) {\n        local_34 = time((time_t *)0x0);\n      }\n      else {\n        local_34 = (uint)(longlong)ROUND(local_74);\n      }\n      local_64 = (double)(ulonglong)uVar8;\n      local_64 = (double)(longlong)local_64;\n      *(uint *)(iVar6 + 0x8c) = local_34;\n      srand(local_34);\n      break;\n    case 8:\n      tVar14 = time((time_t *)0x0);\n      local_64 = (double)tVar14;\n      break;\n    case 9:\n      if (puVar18 == (uint *)0x0) {\n        local_68 = (char *)FUN_0009295c();\n      }\n      else if ((*local_6c & 2) != 0) {\n        local_64 = (double)(ulonglong)*(uint *)local_6c[4];\n        local_64 = (double)(longlong)local_64;\n        break;\n      }\n      sVar13 = strlen(local_68);\n      local_64 = (double)(ulonglong)sVar13;\n      local_64 = (double)(longlong)local_64;\n      break;\n    case 10:\n      FUN_00019f78();\n      if (local_68 == (char *)0x0) {\n        local_64 = 0.0;\n      }\n      else if (*local_68 == '\0') {\n        local_64 = 0.0;\n      }\n      else {\n        iVar7 = system(local_68);\n        local_64 = (double)(iVar7 >> 8);\n      }\n      break;\n    case 0xb:\n      if (puVar18 == (uint *)0x0) {\n        fflush(*(FILE **)puVar4);\n      }\n      else if ((local_68 == (char *)0x0) || (*local_68 == '\0')) {\n        FUN_00019f78();\n      }\n      else {\n        puVar11 = (undefined4 *)FUN_00093a51();\n        fflush((FILE *)*puVar11);\n      }\n      break;\n    case 0xc:\n      puVar11 = (undefined4 *)FUN_000939df();\n      if (puVar11 == (undefined4 *)0x0) {\n        local_64 = 0.0;\n      }\n      else {\n        pFVar10 = (FILE *)*puVar11;\n        if (pFVar10 == (FILE *)0x0) {\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          local_64 = 0.0;\n        }\n        else {\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }\n      }\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = local_64;\n    FUN_00092d5e();\n    break;\n  case 0x17:\n    lVar23 = (longdouble)FUN_000925a2();\n    iVar7 = (int)ROUND(lVar23);\n    if (iVar7 < 0) {\n      pcVar15 = "Access to negative field";\n      goto LAB_00094f35;\n    }\n    if (iVar7 == 0) {\n      local_78 = *(uint **)(iVar6 + 0x34);\n    }\n    else {\n      FUN_00092cc4();\n      if (*(int *)(iVar6 + -0x20) < iVar7) {\n        FUN_000922c0();\n      }\n      local_78 = (uint *)(*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14);\n    }\n    break;\n  case 0x18:\n    local_78 = (uint *)(*(int *)(iVar6 + 0x88) + local_80[2] * 0x14);\n    goto LAB_00094b15;\n  case 0x19:\n    if ((*(int *)local_80[3] == 0) && (((int *)local_80[3])[1] == 0)) {\n      pcVar15 = "Call to undefined function";\n      goto LAB_00094f35;\n    }\n    puVar12 = (uint *)FUN_00092151();\n    puVar22 = puVar12;\n    if (puVar18 != (uint *)0x0) {\n      while ((*puVar18 & 0xff00) == 0x1300) {\n        puVar18 = (uint *)puVar18[3];\n        uVar8 = FUN_00094969();\n        FUN_00093453();\n        *puVar22 = *puVar22 | 0x2000;\n        puVar22[4] = uVar8;\n        if ((*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))\n           || (puVar22 = puVar22 + 5, puVar18 == (uint *)0x0)) goto LAB_00094fd5;\n      }\n      uVar8 = FUN_00094969();\n      FUN_00093453();\n      *puVar22 = *puVar22 | 0x2000;\n      puVar22[4] = uVar8;\n    }\nLAB_00094fd5:\n    uVar2 = *(undefined4 *)(iVar6 + 0x88);\n    *(uint **)(iVar6 + 0x88) = puVar12;\n    uVar3 = *(undefined4 *)(iVar6 + -0x28);\n    local_78 = (uint *)FUN_00094969();\n    *(undefined4 *)(iVar6 + -0x28) = uVar3;\n    FUN_000938f0();\n    *(undefined4 *)(iVar6 + 0x88) = uVar2;\n    break;\n  case 0x1a:\n  case 0x20:\n    if (puVar18 == (uint *)0x0) {\n      puVar11 = *(undefined4 **)(iVar6 + -0x3c);\n      if (puVar11 != (undefined4 *)0x0) {\nLAB_00094e49:\n        pFVar10 = (FILE *)*puVar11;\n        goto LAB_00094e4b;\n      }\n      puVar11 = (undefined4 *)FUN_00093cca();\n      *(undefined4 **)(iVar6 + -0x3c) = puVar11;\n      if (puVar11 != (undefined4 *)0x0) goto LAB_00094e49;\nLAB_00094e4f:\n      iVar7 = *DAT_000d16fc;\n      puVar18 = *(uint **)(iVar6 + 0x44);\n      FUN_0009227b();\n      *puVar18 = *puVar18 | 1;\n      *(double *)(puVar18 + 1) = (double)iVar7;\n      FUN_00092d5e();\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      local_78[1] = 0;\n      local_78[2] = 0xbff00000;\n      FUN_00092d5e();\n    }\n    else {\n      piVar9 = (int *)FUN_00093a51();\n      if (*piVar9 == 0) {\n        if ((local_7c & 0xff00) == 0x2000) {\n          pFVar10 = popen(local_68,"r");\n          *piVar9 = (int)pFVar10;\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_0001923e();\n          *piVar9 = (int)pFVar10;\n        }\nLAB_00094e4b:\n        if (pFVar10 == (FILE *)0x0) goto LAB_00094e4f;\n      }\n      if (local_80[3] == 0) {\n        local_5c = *(uint **)(iVar6 + 0x34);\n      }\n      iVar7 = FUN_0009307e();\n      if ((0 < iVar7) && (puVar18 == (uint *)0x0)) {\n        FUN_0009304a();\n        FUN_0009304a();\n      }\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      *(double *)(local_78 + 1) = (double)iVar7;\n      FUN_00092d5e();\n    }\n    break;\n  case 0x1b:\n    FUN_0009211c();\n    iVar7 = FUN_000939df();\n    if (iVar7 == 0) {\nLAB_00094c2d:\n      lVar23 = (longdouble)0;\n    }\n    else {\n      lVar23 = (longdouble)1;\n    }\n    goto LAB_00094b8a;\n  case 0x1c:\n    iVar7 = FUN_00092658();\n    if (iVar7 == 0) goto LAB_00094c2d;\nLAB_00094da9:\n    iVar7 = FUN_00096324();\n    lVar23 = (longdouble)iVar7;\n    goto LAB_00094b8a;\n  case 0x1d:\n    iVar7 = FUN_00092658();\n    if (iVar7 == 0) goto LAB_00094da9;\nLAB_00094c15:\n    lVar23 = (longdouble)1;\n    goto LAB_00094b8a;\n  case 0x1e:\n    goto LAB_00094ce7;\n  case 0x1f:\n    local_78 = (uint *)FUN_00093453();\n    break;\n  case 0x21:\n    local_68 = (char *)FUN_0009295c();\nLAB_00094ce7:\n    __preg = (regex_t *)FUN_00095bc7();\n    iVar7 = regexec(__preg,local_68,0,(regmatch_t *)0x0,0);\n    if ((regex_t *)(iVar6 + 0x90) == __preg) {\n      regfree((regex_t *)(iVar6 + 0x90));\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)((iVar7 == 0) != (uVar8 == 0x21));\n    FUN_00092d5e();\n    break;\n  case 0x23:\n    FUN_00093453();\n    break;\n  case 0x24:\n    uVar8 = FUN_00095fab();\n    FUN_0009227b();\n    local_78[3] = uVar8;\n    FUN_00092d5e();\n    break;\n  case 0x25:\n    if ((*(uint *)local_80[3] & 0xff00) == 0x1200) {\n      FUN_00092658();\n      local_78 = (uint *)FUN_00094969();\n      break;\n    }\n    goto switchD_00094a90_caseD_0;\n  case 0x26:\n    lVar23 = (longdouble)FUN_000925a2();\n    if (uVar8 == 0x4d) {\n      lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      lVar23 = lVar24;\n    }\n    else {\n      if (uVar8 < 0x4e) {\n        if (uVar8 == 0x21) {\n          iVar7 = FUN_00092658();\n          if (iVar7 == 0) goto LAB_00094c15;\n          goto LAB_00094c2d;\n        }\n        if (uVar8 == 0x2d) {\n          lVar23 = -lVar23;\n        }\n        goto LAB_00094b8a;\n      }\n      if (uVar8 == 0x6d) {\n        lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      }\n      else if (uVar8 == 0x70) {\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n      }\n      else {\n        if (uVar8 != 0x50) goto LAB_00094b8a;\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n        lVar23 = lVar24;\n      }\n    }\n    FUN_0009227b();\n    *local_5c = *local_5c | 1;\n    *(double *)(local_5c + 1) = (double)lVar24;\n    FUN_00092d5e();\n    lVar23 = (longdouble)(double)lVar23;\nLAB_00094b8a:\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)lVar23;\n    FUN_00092d5e();\n    break;\n  case 0x27:\n    local_78 = (uint *)local_80[2];\n    if (local_78 == *(uint **)(iVar6 + 0x50)) {\n      FUN_00092cc4();\n    }\nLAB_00094b15:\n    if (local_80[3] != 0) {\n      FUN_0009211c();\n      local_78 = (uint *)FUN_00093a51();\n    }\n    break;\n  case 0x28:\n    goto switchD_00094a90_caseD_28;\n  }" (switch "switch") (parenthesized_expression "(uVar21)" (( "(") (identifier "uVar21") () ")")) (compound_statement "{\n  default:\n    goto switchD_00094a90_caseD_0;\n  case 2:\n    break;\n  case 3:\n    *(uint *)(iVar6 + -0x28) = local_80[2];\n    break;\n  case 4:\n  case 5:\n    if (local_80[3] == 0) {\n      pFVar10 = *(FILE **)PTR_stdout_000d0fb4;\n    }\n    else {\n      piVar9 = (int *)FUN_00093a51();\n      pFVar10 = (FILE *)*piVar9;\n      if (pFVar10 == (FILE *)0x0) {\n        if (uVar8 == 0x7c) {\n          pFVar10 = popen(local_4c,"w");\n          *piVar9 = (int)pFVar10;\n          if (pFVar10 == (FILE *)0x0) {\n                    \n            FUN_00018e79("popen");\n          }\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_00019c3e();\n          *piVar9 = (int)pFVar10;\n        }\n      }\n    }\n    if ((local_7c & 0xff00) == 0x400) {\n      if (puVar18 == (uint *)0x0) {\n        pcVar15 = (char *)FUN_0009295c();\n        fputs_unlocked(pcVar15,pFVar10);\n      }\n      else {\n        while( true ) {\n          puVar22 = (uint *)0x0;\n          if ((*puVar18 & 0xff00) == 0x1300) {\n            puVar22 = (uint *)puVar18[3];\n          }\n          puVar18 = puVar22;\n          pbVar19 = (byte *)FUN_00094969();\n          if ((*pbVar19 & 1) == 0) {\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }\n          else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }\n          if (puVar18 == (uint *)0x0) break;\n          pcVar15 = (char *)FUN_0009295c();\n          fputs_unlocked(pcVar15,pFVar10);\n        }\n      }\n      pcVar15 = (char *)FUN_0009295c();\n      fputs_unlocked(pcVar15,pFVar10);\n      fflush(pFVar10);\n    }\n    else {\n      pcVar15 = (char *)FUN_00095fab();\n      fputs_unlocked(pcVar15,pFVar10);\n      free(pcVar15);\n      fflush(pFVar10);\n    }\n    break;\n  case 6:\n    iVar7 = FUN_0009211c();\n    if ((*local_6c & 0x800) == 0) {\n      *local_6c = *local_6c | 0x800;\n      uVar8 = 0;\n    }\n    else {\n      uVar8 = local_6c[4];\n    }\n    piVar9 = (int *)FUN_00019b89();\n    local_6c[4] = (uint)piVar9;\n    *piVar9 = (int)(piVar9 + 3);\n    piVar9[1] = (int)(piVar9 + 3);\n    piVar9[2] = uVar8;\n    if (*(int *)(iVar7 + 4) != 0) {\n      uVar8 = 0;\n      do {\n        iVar20 = *(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4);\n        if (iVar20 != 0) {\n          pcVar15 = (char *)*piVar9;\n          do {\n            strcpy(pcVar15,(char *)(iVar20 + 0x1c));\n            pcVar16 = (char *)*piVar9;\n            do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');\n            iVar20 = *(int *)(iVar20 + 0x18);\n          } while (iVar20 != 0);\n        }\n        uVar8 = uVar8 + 1;\n      } while (uVar8 < *(uint *)(iVar7 + 4));\n    }\n    break;\n  case 7:\n    goto switchD_00094a90_caseD_7;\n  case 10:\n    FUN_00095b2f();\n    goto switchD_00094a90_caseD_7;\n  case 0xb:\n    goto switchD_00094a90_caseD_b;\n  case 0xc:\n    *(undefined1 *)(iVar6 + -5) = 1;\n    goto switchD_00094a90_caseD_b;\n  case 0xd:\n    if ((*puVar18 & 0xff00) != 0x1300) {\n      iVar7 = FUN_00096324();\n      if (iVar7 != 0) goto LAB_000956d3;\n      local_80 = (uint *)local_80[3];\n      break;\n    }\n    if (((local_7c & 0x200000) == 0) && (iVar7 = FUN_00096324(), iVar7 == 0)) {\n      local_80 = (uint *)local_80[3];\n      break;\n    }\n    *local_80 = *local_80 | 0x200000;\n    iVar7 = FUN_00096324();\n    if (iVar7 != 0) {\n      *local_80 = *local_80 & 0xffdfffff;\n    }\n    goto LAB_000956d3;\n  case 0xe:\n    puVar18 = (uint *)local_6c[4];\n    pcVar15 = (char *)puVar18[1];\n    if (pcVar15 < (char *)*puVar18) {\n      do {\n        puVar18[1] = (uint)(pcVar15 + 1);\n        cVar1 = *pcVar15;\n        pcVar15 = pcVar15 + 1;\n      } while (cVar1 != '\0');\n      FUN_00093016();\n      goto LAB_000956d3;\n    }\n    uVar8 = puVar18[2];\n    free(puVar18);\n    local_6c[4] = uVar8;\n    local_80 = (uint *)local_80[3];\n    break;\n  case 0x10:\n  case 0x22:\n    lVar23 = (longdouble)FUN_000925a2();\n    switch(uVar8) {\n    case 0x25:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40) {\nLAB_00095638:\n        pcVar15 = "Division by zero";\n        goto LAB_00094f35;\n      }\n      local_74 = (double)((longdouble)local_74 -\n                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23);\n      break;\n    case 0x26:\nswitchD_000950ee_caseD_2:\n      pcVar15 = "Math support is not compiled in";\n      goto LAB_00094f35;\n    case 0x27:\n    case 0x28:\n    case 0x29:\n    case 0x2c:\n    case 0x2e:\n      break;\n    case 0x2a:\n      local_74 = (double)(lVar23 * (longdouble)local_74);\n      break;\n    case 0x2b:\n      local_74 = (double)(lVar23 + (longdouble)local_74);\n      break;\n    case 0x2d:\n      local_74 = (double)((longdouble)local_74 - lVar23);\n      break;\n    case 0x2f:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)\n      goto LAB_00095638;\n      local_74 = (double)((longdouble)local_74 / lVar23);\n    }\n    if ((local_7c & 0xff00) != 0x1000) {\n      local_78 = local_6c;\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = local_74;\n    FUN_00092d5e();\n    break;\n  case 0x11:\n    local_78 = (uint *)FUN_00093dbd();\n    break;\n  case 0x13:\n  case 0x15:\n    puVar17 = &DAT_000cd91f;\n    if ((local_7c & 0xff00) == 0x1300) {\n      puVar17 = (undefined1 *)FUN_0009295c();\n    }\n    uVar8 = FUN_00019fd7("%s%s%s",local_68,puVar17,local_4c);\n    FUN_0009227b();\n    local_78[3] = uVar8;\n    FUN_00092d5e();\n    break;\n  case 0x14:\n    FUN_000925a2();\n    if (((((ushort)*local_6c ^ 0x4000) & 0x4201) == 0) ||\n       (FUN_000925a2(), (((ushort)*local_5c ^ 0x4000) & 0x4201) == 0)) {\n      pcVar15 = (char *)FUN_0009295c();\n      pcVar16 = (char *)FUN_0009295c();\n      if (*(char *)(iVar6 + -8) == '\0') {\n        iVar7 = strcmp(pcVar15,pcVar16);\n        lVar23 = (longdouble)iVar7;\n        goto joined_r0x0009536c;\n      }\n      iVar7 = strcasecmp(pcVar15,pcVar16);\n      lVar23 = (longdouble)iVar7;\n      if ((local_7c & 0x7e) != 2) goto LAB_00095372;\nLAB_000952b4:\n      local_48 = (uint)((longdouble)0 <= lVar23);\n    }\n    else {\n      lVar24 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)(double)lVar24 - lVar23;\njoined_r0x0009536c:\n      if ((local_7c & 0x7e) == 2) goto LAB_000952b4;\nLAB_00095372:\n      if ((local_7c & 0x7e) == 4) {\n        lVar24 = (longdouble)0;\n        local_48 = (uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40);\n      }\n      else if ((local_7c & 0x7e) == 0) {\n        local_48 = (uint)((longdouble)0 < lVar23);\n      }\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)(int)(local_7c & 1 ^ local_48 ^ 1);\n    FUN_00092d5e();\n    break;\n  case 0x16:\n    switch(uVar8) {\n    case 0:\n      local_64 = (double)(longlong)ROUND(local_74);\n      break;\n    case 1:\n      iVar7 = rand();\n      local_64 = (double)iVar7 / DAT_000b65c0;\n      break;\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n      goto switchD_000950ee_caseD_2;\n    case 7:\n      uVar8 = *(uint *)(iVar6 + 0x8c);\n      if (puVar18 == (uint *)0x0) {\n        local_34 = time((time_t *)0x0);\n      }\n      else {\n        local_34 = (uint)(longlong)ROUND(local_74);\n      }\n      local_64 = (double)(ulonglong)uVar8;\n      local_64 = (double)(longlong)local_64;\n      *(uint *)(iVar6 + 0x8c) = local_34;\n      srand(local_34);\n      break;\n    case 8:\n      tVar14 = time((time_t *)0x0);\n      local_64 = (double)tVar14;\n      break;\n    case 9:\n      if (puVar18 == (uint *)0x0) {\n        local_68 = (char *)FUN_0009295c();\n      }\n      else if ((*local_6c & 2) != 0) {\n        local_64 = (double)(ulonglong)*(uint *)local_6c[4];\n        local_64 = (double)(longlong)local_64;\n        break;\n      }\n      sVar13 = strlen(local_68);\n      local_64 = (double)(ulonglong)sVar13;\n      local_64 = (double)(longlong)local_64;\n      break;\n    case 10:\n      FUN_00019f78();\n      if (local_68 == (char *)0x0) {\n        local_64 = 0.0;\n      }\n      else if (*local_68 == '\0') {\n        local_64 = 0.0;\n      }\n      else {\n        iVar7 = system(local_68);\n        local_64 = (double)(iVar7 >> 8);\n      }\n      break;\n    case 0xb:\n      if (puVar18 == (uint *)0x0) {\n        fflush(*(FILE **)puVar4);\n      }\n      else if ((local_68 == (char *)0x0) || (*local_68 == '\0')) {\n        FUN_00019f78();\n      }\n      else {\n        puVar11 = (undefined4 *)FUN_00093a51();\n        fflush((FILE *)*puVar11);\n      }\n      break;\n    case 0xc:\n      puVar11 = (undefined4 *)FUN_000939df();\n      if (puVar11 == (undefined4 *)0x0) {\n        local_64 = 0.0;\n      }\n      else {\n        pFVar10 = (FILE *)*puVar11;\n        if (pFVar10 == (FILE *)0x0) {\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          local_64 = 0.0;\n        }\n        else {\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }\n      }\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = local_64;\n    FUN_00092d5e();\n    break;\n  case 0x17:\n    lVar23 = (longdouble)FUN_000925a2();\n    iVar7 = (int)ROUND(lVar23);\n    if (iVar7 < 0) {\n      pcVar15 = "Access to negative field";\n      goto LAB_00094f35;\n    }\n    if (iVar7 == 0) {\n      local_78 = *(uint **)(iVar6 + 0x34);\n    }\n    else {\n      FUN_00092cc4();\n      if (*(int *)(iVar6 + -0x20) < iVar7) {\n        FUN_000922c0();\n      }\n      local_78 = (uint *)(*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14);\n    }\n    break;\n  case 0x18:\n    local_78 = (uint *)(*(int *)(iVar6 + 0x88) + local_80[2] * 0x14);\n    goto LAB_00094b15;\n  case 0x19:\n    if ((*(int *)local_80[3] == 0) && (((int *)local_80[3])[1] == 0)) {\n      pcVar15 = "Call to undefined function";\n      goto LAB_00094f35;\n    }\n    puVar12 = (uint *)FUN_00092151();\n    puVar22 = puVar12;\n    if (puVar18 != (uint *)0x0) {\n      while ((*puVar18 & 0xff00) == 0x1300) {\n        puVar18 = (uint *)puVar18[3];\n        uVar8 = FUN_00094969();\n        FUN_00093453();\n        *puVar22 = *puVar22 | 0x2000;\n        puVar22[4] = uVar8;\n        if ((*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))\n           || (puVar22 = puVar22 + 5, puVar18 == (uint *)0x0)) goto LAB_00094fd5;\n      }\n      uVar8 = FUN_00094969();\n      FUN_00093453();\n      *puVar22 = *puVar22 | 0x2000;\n      puVar22[4] = uVar8;\n    }\nLAB_00094fd5:\n    uVar2 = *(undefined4 *)(iVar6 + 0x88);\n    *(uint **)(iVar6 + 0x88) = puVar12;\n    uVar3 = *(undefined4 *)(iVar6 + -0x28);\n    local_78 = (uint *)FUN_00094969();\n    *(undefined4 *)(iVar6 + -0x28) = uVar3;\n    FUN_000938f0();\n    *(undefined4 *)(iVar6 + 0x88) = uVar2;\n    break;\n  case 0x1a:\n  case 0x20:\n    if (puVar18 == (uint *)0x0) {\n      puVar11 = *(undefined4 **)(iVar6 + -0x3c);\n      if (puVar11 != (undefined4 *)0x0) {\nLAB_00094e49:\n        pFVar10 = (FILE *)*puVar11;\n        goto LAB_00094e4b;\n      }\n      puVar11 = (undefined4 *)FUN_00093cca();\n      *(undefined4 **)(iVar6 + -0x3c) = puVar11;\n      if (puVar11 != (undefined4 *)0x0) goto LAB_00094e49;\nLAB_00094e4f:\n      iVar7 = *DAT_000d16fc;\n      puVar18 = *(uint **)(iVar6 + 0x44);\n      FUN_0009227b();\n      *puVar18 = *puVar18 | 1;\n      *(double *)(puVar18 + 1) = (double)iVar7;\n      FUN_00092d5e();\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      local_78[1] = 0;\n      local_78[2] = 0xbff00000;\n      FUN_00092d5e();\n    }\n    else {\n      piVar9 = (int *)FUN_00093a51();\n      if (*piVar9 == 0) {\n        if ((local_7c & 0xff00) == 0x2000) {\n          pFVar10 = popen(local_68,"r");\n          *piVar9 = (int)pFVar10;\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_0001923e();\n          *piVar9 = (int)pFVar10;\n        }\nLAB_00094e4b:\n        if (pFVar10 == (FILE *)0x0) goto LAB_00094e4f;\n      }\n      if (local_80[3] == 0) {\n        local_5c = *(uint **)(iVar6 + 0x34);\n      }\n      iVar7 = FUN_0009307e();\n      if ((0 < iVar7) && (puVar18 == (uint *)0x0)) {\n        FUN_0009304a();\n        FUN_0009304a();\n      }\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      *(double *)(local_78 + 1) = (double)iVar7;\n      FUN_00092d5e();\n    }\n    break;\n  case 0x1b:\n    FUN_0009211c();\n    iVar7 = FUN_000939df();\n    if (iVar7 == 0) {\nLAB_00094c2d:\n      lVar23 = (longdouble)0;\n    }\n    else {\n      lVar23 = (longdouble)1;\n    }\n    goto LAB_00094b8a;\n  case 0x1c:\n    iVar7 = FUN_00092658();\n    if (iVar7 == 0) goto LAB_00094c2d;\nLAB_00094da9:\n    iVar7 = FUN_00096324();\n    lVar23 = (longdouble)iVar7;\n    goto LAB_00094b8a;\n  case 0x1d:\n    iVar7 = FUN_00092658();\n    if (iVar7 == 0) goto LAB_00094da9;\nLAB_00094c15:\n    lVar23 = (longdouble)1;\n    goto LAB_00094b8a;\n  case 0x1e:\n    goto LAB_00094ce7;\n  case 0x1f:\n    local_78 = (uint *)FUN_00093453();\n    break;\n  case 0x21:\n    local_68 = (char *)FUN_0009295c();\nLAB_00094ce7:\n    __preg = (regex_t *)FUN_00095bc7();\n    iVar7 = regexec(__preg,local_68,0,(regmatch_t *)0x0,0);\n    if ((regex_t *)(iVar6 + 0x90) == __preg) {\n      regfree((regex_t *)(iVar6 + 0x90));\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)((iVar7 == 0) != (uVar8 == 0x21));\n    FUN_00092d5e();\n    break;\n  case 0x23:\n    FUN_00093453();\n    break;\n  case 0x24:\n    uVar8 = FUN_00095fab();\n    FUN_0009227b();\n    local_78[3] = uVar8;\n    FUN_00092d5e();\n    break;\n  case 0x25:\n    if ((*(uint *)local_80[3] & 0xff00) == 0x1200) {\n      FUN_00092658();\n      local_78 = (uint *)FUN_00094969();\n      break;\n    }\n    goto switchD_00094a90_caseD_0;\n  case 0x26:\n    lVar23 = (longdouble)FUN_000925a2();\n    if (uVar8 == 0x4d) {\n      lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      lVar23 = lVar24;\n    }\n    else {\n      if (uVar8 < 0x4e) {\n        if (uVar8 == 0x21) {\n          iVar7 = FUN_00092658();\n          if (iVar7 == 0) goto LAB_00094c15;\n          goto LAB_00094c2d;\n        }\n        if (uVar8 == 0x2d) {\n          lVar23 = -lVar23;\n        }\n        goto LAB_00094b8a;\n      }\n      if (uVar8 == 0x6d) {\n        lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      }\n      else if (uVar8 == 0x70) {\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n      }\n      else {\n        if (uVar8 != 0x50) goto LAB_00094b8a;\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n        lVar23 = lVar24;\n      }\n    }\n    FUN_0009227b();\n    *local_5c = *local_5c | 1;\n    *(double *)(local_5c + 1) = (double)lVar24;\n    FUN_00092d5e();\n    lVar23 = (longdouble)(double)lVar23;\nLAB_00094b8a:\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)lVar23;\n    FUN_00092d5e();\n    break;\n  case 0x27:\n    local_78 = (uint *)local_80[2];\n    if (local_78 == *(uint **)(iVar6 + 0x50)) {\n      FUN_00092cc4();\n    }\nLAB_00094b15:\n    if (local_80[3] != 0) {\n      FUN_0009211c();\n      local_78 = (uint *)FUN_00093a51();\n    }\n    break;\n  case 0x28:\n    goto switchD_00094a90_caseD_28;\n  }" ({ "{") (case_statement "default:\n    goto switchD_00094a90_caseD_0;" (default "default") (: ":") (goto_statement "goto switchD_00094a90_caseD_0;" (goto "goto") (statement_identifier "switchD_00094a90_caseD_0") (; ";"))) (case_statement "case 2:\n    break;" (case "case") (number_literal "2") (: ":") (break_statement "break;" (break "break") (; ";"))) (case_statement "case 3:\n    *(uint *)(iVar6 + -0x28) = local_80[2];\n    break;" (case "case") (number_literal "3") (: ":") (expression_statement "*(uint *)(iVar6 + -0x28) = local_80[2];" (assignment_expression "*(uint *)(iVar6 + -0x28) = local_80[2]" (pointer_expression "*(uint *)(iVar6 + -0x28)" (* "*") (cast_expression "(uint *)(iVar6 + -0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + -0x28)" (( "(") (binary_expression "iVar6 + -0x28" (identifier "iVar6") (+ "+") (number_literal "-0x28")) () ")")))) (= "=") (subscript_expression "local_80[2]" (identifier "local_80") ([ "[") (number_literal "2") (] "]"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 4:" (case "case") (number_literal "4") (: ":")) (case_statement "case 5:\n    if (local_80[3] == 0) {\n      pFVar10 = *(FILE **)PTR_stdout_000d0fb4;\n    }\n    else {\n      piVar9 = (int *)FUN_00093a51();\n      pFVar10 = (FILE *)*piVar9;\n      if (pFVar10 == (FILE *)0x0) {\n        if (uVar8 == 0x7c) {\n          pFVar10 = popen(local_4c,"w");\n          *piVar9 = (int)pFVar10;\n          if (pFVar10 == (FILE *)0x0) {\n                    \n            FUN_00018e79("popen");\n          }\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_00019c3e();\n          *piVar9 = (int)pFVar10;\n        }\n      }\n    }\n    if ((local_7c & 0xff00) == 0x400) {\n      if (puVar18 == (uint *)0x0) {\n        pcVar15 = (char *)FUN_0009295c();\n        fputs_unlocked(pcVar15,pFVar10);\n      }\n      else {\n        while( true ) {\n          puVar22 = (uint *)0x0;\n          if ((*puVar18 & 0xff00) == 0x1300) {\n            puVar22 = (uint *)puVar18[3];\n          }\n          puVar18 = puVar22;\n          pbVar19 = (byte *)FUN_00094969();\n          if ((*pbVar19 & 1) == 0) {\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }\n          else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }\n          if (puVar18 == (uint *)0x0) break;\n          pcVar15 = (char *)FUN_0009295c();\n          fputs_unlocked(pcVar15,pFVar10);\n        }\n      }\n      pcVar15 = (char *)FUN_0009295c();\n      fputs_unlocked(pcVar15,pFVar10);\n      fflush(pFVar10);\n    }\n    else {\n      pcVar15 = (char *)FUN_00095fab();\n      fputs_unlocked(pcVar15,pFVar10);\n      free(pcVar15);\n      fflush(pFVar10);\n    }\n    break;" (case "case") (number_literal "5") (: ":") (if_statement "if (local_80[3] == 0) {\n      pFVar10 = *(FILE **)PTR_stdout_000d0fb4;\n    }\n    else {\n      piVar9 = (int *)FUN_00093a51();\n      pFVar10 = (FILE *)*piVar9;\n      if (pFVar10 == (FILE *)0x0) {\n        if (uVar8 == 0x7c) {\n          pFVar10 = popen(local_4c,"w");\n          *piVar9 = (int)pFVar10;\n          if (pFVar10 == (FILE *)0x0) {\n                    \n            FUN_00018e79("popen");\n          }\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_00019c3e();\n          *piVar9 = (int)pFVar10;\n        }\n      }\n    }" (if "if") (parenthesized_expression "(local_80[3] == 0)" (( "(") (binary_expression "local_80[3] == 0" (subscript_expression "local_80[3]" (identifier "local_80") ([ "[") (number_literal "3") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      pFVar10 = *(FILE **)PTR_stdout_000d0fb4;\n    }" ({ "{") (expression_statement "pFVar10 = *(FILE **)PTR_stdout_000d0fb4;" (assignment_expression "pFVar10 = *(FILE **)PTR_stdout_000d0fb4" (identifier "pFVar10") (= "=") (pointer_expression "*(FILE **)PTR_stdout_000d0fb4" (* "*") (cast_expression "(FILE **)PTR_stdout_000d0fb4" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_stdout_000d0fb4")))) (; ";")) (} "}")) (else_clause "else {\n      piVar9 = (int *)FUN_00093a51();\n      pFVar10 = (FILE *)*piVar9;\n      if (pFVar10 == (FILE *)0x0) {\n        if (uVar8 == 0x7c) {\n          pFVar10 = popen(local_4c,"w");\n          *piVar9 = (int)pFVar10;\n          if (pFVar10 == (FILE *)0x0) {\n                    \n            FUN_00018e79("popen");\n          }\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_00019c3e();\n          *piVar9 = (int)pFVar10;\n        }\n      }\n    }" (else "else") (compound_statement "{\n      piVar9 = (int *)FUN_00093a51();\n      pFVar10 = (FILE *)*piVar9;\n      if (pFVar10 == (FILE *)0x0) {\n        if (uVar8 == 0x7c) {\n          pFVar10 = popen(local_4c,"w");\n          *piVar9 = (int)pFVar10;\n          if (pFVar10 == (FILE *)0x0) {\n                    \n            FUN_00018e79("popen");\n          }\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_00019c3e();\n          *piVar9 = (int)pFVar10;\n        }\n      }\n    }" ({ "{") (expression_statement "piVar9 = (int *)FUN_00093a51();" (assignment_expression "piVar9 = (int *)FUN_00093a51()" (identifier "piVar9") (= "=") (cast_expression "(int *)FUN_00093a51()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00093a51()" (identifier "FUN_00093a51") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "pFVar10 = (FILE *)*piVar9;" (assignment_expression "pFVar10 = (FILE *)*piVar9" (identifier "pFVar10") (= "=") (cast_expression "(FILE *)*piVar9" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar9" (* "*") (identifier "piVar9")))) (; ";")) (if_statement "if (pFVar10 == (FILE *)0x0) {\n        if (uVar8 == 0x7c) {\n          pFVar10 = popen(local_4c,"w");\n          *piVar9 = (int)pFVar10;\n          if (pFVar10 == (FILE *)0x0) {\n                    \n            FUN_00018e79("popen");\n          }\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_00019c3e();\n          *piVar9 = (int)pFVar10;\n        }\n      }" (if "if") (parenthesized_expression "(pFVar10 == (FILE *)0x0)" (( "(") (binary_expression "pFVar10 == (FILE *)0x0" (identifier "pFVar10") (== "==") (cast_expression "(FILE *)0x0" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        if (uVar8 == 0x7c) {\n          pFVar10 = popen(local_4c,"w");\n          *piVar9 = (int)pFVar10;\n          if (pFVar10 == (FILE *)0x0) {\n                    \n            FUN_00018e79("popen");\n          }\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_00019c3e();\n          *piVar9 = (int)pFVar10;\n        }\n      }" ({ "{") (if_statement "if (uVar8 == 0x7c) {\n          pFVar10 = popen(local_4c,"w");\n          *piVar9 = (int)pFVar10;\n          if (pFVar10 == (FILE *)0x0) {\n                    \n            FUN_00018e79("popen");\n          }\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_00019c3e();\n          *piVar9 = (int)pFVar10;\n        }" (if "if") (parenthesized_expression "(uVar8 == 0x7c)" (( "(") (binary_expression "uVar8 == 0x7c" (identifier "uVar8") (== "==") (number_literal "0x7c")) () ")")) (compound_statement "{\n          pFVar10 = popen(local_4c,"w");\n          *piVar9 = (int)pFVar10;\n          if (pFVar10 == (FILE *)0x0) {\n                    \n            FUN_00018e79("popen");\n          }\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }" ({ "{") (expression_statement "pFVar10 = popen(local_4c,"w");" (assignment_expression "pFVar10 = popen(local_4c,"w")" (identifier "pFVar10") (= "=") (call_expression "popen(local_4c,"w")" (identifier "popen") (argument_list "(local_4c,"w")" (( "(") (identifier "local_4c") (, ",") (string_literal ""w"" (" """) (string_content "w") (" """)) () ")")))) (; ";")) (expression_statement "*piVar9 = (int)pFVar10;" (assignment_expression "*piVar9 = (int)pFVar10" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (= "=") (cast_expression "(int)pFVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pFVar10"))) (; ";")) (if_statement "if (pFVar10 == (FILE *)0x0) {\n                    \n            FUN_00018e79("popen");\n          }" (if "if") (parenthesized_expression "(pFVar10 == (FILE *)0x0)" (( "(") (binary_expression "pFVar10 == (FILE *)0x0" (identifier "pFVar10") (== "==") (cast_expression "(FILE *)0x0" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n            FUN_00018e79("popen");\n          }" ({ "{") (expression_statement "FUN_00018e79("popen");" (call_expression "FUN_00018e79("popen")" (identifier "FUN_00018e79") (argument_list "("popen")" (( "(") (string_literal ""popen"" (" """) (string_content "popen") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined1 *)(piVar9 + 5) = 1;" (assignment_expression "*(undefined1 *)(piVar9 + 5) = 1" (pointer_expression "*(undefined1 *)(piVar9 + 5)" (* "*") (cast_expression "(undefined1 *)(piVar9 + 5)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar9 + 5)" (( "(") (binary_expression "piVar9 + 5" (identifier "piVar9") (+ "+") (number_literal "5")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n          pFVar10 = (FILE *)FUN_00019c3e();\n          *piVar9 = (int)pFVar10;\n        }" (else "else") (compound_statement "{\n          pFVar10 = (FILE *)FUN_00019c3e();\n          *piVar9 = (int)pFVar10;\n        }" ({ "{") (expression_statement "pFVar10 = (FILE *)FUN_00019c3e();" (assignment_expression "pFVar10 = (FILE *)FUN_00019c3e()" (identifier "pFVar10") (= "=") (cast_expression "(FILE *)FUN_00019c3e()" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00019c3e()" (identifier "FUN_00019c3e") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "*piVar9 = (int)pFVar10;" (assignment_expression "*piVar9 = (int)pFVar10" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (= "=") (cast_expression "(int)pFVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pFVar10"))) (; ";")) (} "}")))) (} "}"))) (} "}")))) (if_statement "if ((local_7c & 0xff00) == 0x400) {\n      if (puVar18 == (uint *)0x0) {\n        pcVar15 = (char *)FUN_0009295c();\n        fputs_unlocked(pcVar15,pFVar10);\n      }\n      else {\n        while( true ) {\n          puVar22 = (uint *)0x0;\n          if ((*puVar18 & 0xff00) == 0x1300) {\n            puVar22 = (uint *)puVar18[3];\n          }\n          puVar18 = puVar22;\n          pbVar19 = (byte *)FUN_00094969();\n          if ((*pbVar19 & 1) == 0) {\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }\n          else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }\n          if (puVar18 == (uint *)0x0) break;\n          pcVar15 = (char *)FUN_0009295c();\n          fputs_unlocked(pcVar15,pFVar10);\n        }\n      }\n      pcVar15 = (char *)FUN_0009295c();\n      fputs_unlocked(pcVar15,pFVar10);\n      fflush(pFVar10);\n    }\n    else {\n      pcVar15 = (char *)FUN_00095fab();\n      fputs_unlocked(pcVar15,pFVar10);\n      free(pcVar15);\n      fflush(pFVar10);\n    }" (if "if") (parenthesized_expression "((local_7c & 0xff00) == 0x400)" (( "(") (binary_expression "(local_7c & 0xff00) == 0x400" (parenthesized_expression "(local_7c & 0xff00)" (( "(") (binary_expression "local_7c & 0xff00" (identifier "local_7c") (& "&") (number_literal "0xff00")) () ")")) (== "==") (number_literal "0x400")) () ")")) (compound_statement "{\n      if (puVar18 == (uint *)0x0) {\n        pcVar15 = (char *)FUN_0009295c();\n        fputs_unlocked(pcVar15,pFVar10);\n      }\n      else {\n        while( true ) {\n          puVar22 = (uint *)0x0;\n          if ((*puVar18 & 0xff00) == 0x1300) {\n            puVar22 = (uint *)puVar18[3];\n          }\n          puVar18 = puVar22;\n          pbVar19 = (byte *)FUN_00094969();\n          if ((*pbVar19 & 1) == 0) {\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }\n          else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }\n          if (puVar18 == (uint *)0x0) break;\n          pcVar15 = (char *)FUN_0009295c();\n          fputs_unlocked(pcVar15,pFVar10);\n        }\n      }\n      pcVar15 = (char *)FUN_0009295c();\n      fputs_unlocked(pcVar15,pFVar10);\n      fflush(pFVar10);\n    }" ({ "{") (if_statement "if (puVar18 == (uint *)0x0) {\n        pcVar15 = (char *)FUN_0009295c();\n        fputs_unlocked(pcVar15,pFVar10);\n      }\n      else {\n        while( true ) {\n          puVar22 = (uint *)0x0;\n          if ((*puVar18 & 0xff00) == 0x1300) {\n            puVar22 = (uint *)puVar18[3];\n          }\n          puVar18 = puVar22;\n          pbVar19 = (byte *)FUN_00094969();\n          if ((*pbVar19 & 1) == 0) {\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }\n          else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }\n          if (puVar18 == (uint *)0x0) break;\n          pcVar15 = (char *)FUN_0009295c();\n          fputs_unlocked(pcVar15,pFVar10);\n        }\n      }" (if "if") (parenthesized_expression "(puVar18 == (uint *)0x0)" (( "(") (binary_expression "puVar18 == (uint *)0x0" (identifier "puVar18") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        pcVar15 = (char *)FUN_0009295c();\n        fputs_unlocked(pcVar15,pFVar10);\n      }" ({ "{") (expression_statement "pcVar15 = (char *)FUN_0009295c();" (assignment_expression "pcVar15 = (char *)FUN_0009295c()" (identifier "pcVar15") (= "=") (cast_expression "(char *)FUN_0009295c()" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0009295c()" (identifier "FUN_0009295c") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "fputs_unlocked(pcVar15,pFVar10);" (call_expression "fputs_unlocked(pcVar15,pFVar10)" (identifier "fputs_unlocked") (argument_list "(pcVar15,pFVar10)" (( "(") (identifier "pcVar15") (, ",") (identifier "pFVar10") () ")"))) (; ";")) (} "}")) (else_clause "else {\n        while( true ) {\n          puVar22 = (uint *)0x0;\n          if ((*puVar18 & 0xff00) == 0x1300) {\n            puVar22 = (uint *)puVar18[3];\n          }\n          puVar18 = puVar22;\n          pbVar19 = (byte *)FUN_00094969();\n          if ((*pbVar19 & 1) == 0) {\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }\n          else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }\n          if (puVar18 == (uint *)0x0) break;\n          pcVar15 = (char *)FUN_0009295c();\n          fputs_unlocked(pcVar15,pFVar10);\n        }\n      }" (else "else") (compound_statement "{\n        while( true ) {\n          puVar22 = (uint *)0x0;\n          if ((*puVar18 & 0xff00) == 0x1300) {\n            puVar22 = (uint *)puVar18[3];\n          }\n          puVar18 = puVar22;\n          pbVar19 = (byte *)FUN_00094969();\n          if ((*pbVar19 & 1) == 0) {\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }\n          else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }\n          if (puVar18 == (uint *)0x0) break;\n          pcVar15 = (char *)FUN_0009295c();\n          fputs_unlocked(pcVar15,pFVar10);\n        }\n      }" ({ "{") (while_statement "while( true ) {\n          puVar22 = (uint *)0x0;\n          if ((*puVar18 & 0xff00) == 0x1300) {\n            puVar22 = (uint *)puVar18[3];\n          }\n          puVar18 = puVar22;\n          pbVar19 = (byte *)FUN_00094969();\n          if ((*pbVar19 & 1) == 0) {\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }\n          else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }\n          if (puVar18 == (uint *)0x0) break;\n          pcVar15 = (char *)FUN_0009295c();\n          fputs_unlocked(pcVar15,pFVar10);\n        }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n          puVar22 = (uint *)0x0;\n          if ((*puVar18 & 0xff00) == 0x1300) {\n            puVar22 = (uint *)puVar18[3];\n          }\n          puVar18 = puVar22;\n          pbVar19 = (byte *)FUN_00094969();\n          if ((*pbVar19 & 1) == 0) {\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }\n          else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }\n          if (puVar18 == (uint *)0x0) break;\n          pcVar15 = (char *)FUN_0009295c();\n          fputs_unlocked(pcVar15,pFVar10);\n        }" ({ "{") (expression_statement "puVar22 = (uint *)0x0;" (assignment_expression "puVar22 = (uint *)0x0" (identifier "puVar22") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if ((*puVar18 & 0xff00) == 0x1300) {\n            puVar22 = (uint *)puVar18[3];\n          }" (if "if") (parenthesized_expression "((*puVar18 & 0xff00) == 0x1300)" (( "(") (binary_expression "(*puVar18 & 0xff00) == 0x1300" (parenthesized_expression "(*puVar18 & 0xff00)" (( "(") (binary_expression "*puVar18 & 0xff00" (pointer_expression "*puVar18" (* "*") (identifier "puVar18")) (& "&") (number_literal "0xff00")) () ")")) (== "==") (number_literal "0x1300")) () ")")) (compound_statement "{\n            puVar22 = (uint *)puVar18[3];\n          }" ({ "{") (expression_statement "puVar22 = (uint *)puVar18[3];" (assignment_expression "puVar22 = (uint *)puVar18[3]" (identifier "puVar22") (= "=") (cast_expression "(uint *)puVar18[3]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar18[3]" (identifier "puVar18") ([ "[") (number_literal "3") (] "]")))) (; ";")) (} "}"))) (expression_statement "puVar18 = puVar22;" (assignment_expression "puVar18 = puVar22" (identifier "puVar18") (= "=") (identifier "puVar22")) (; ";")) (expression_statement "pbVar19 = (byte *)FUN_00094969();" (assignment_expression "pbVar19 = (byte *)FUN_00094969()" (identifier "pbVar19") (= "=") (cast_expression "(byte *)FUN_00094969()" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00094969()" (identifier "FUN_00094969") (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if ((*pbVar19 & 1) == 0) {\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }\n          else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }" (if "if") (parenthesized_expression "((*pbVar19 & 1) == 0)" (( "(") (binary_expression "(*pbVar19 & 1) == 0" (parenthesized_expression "(*pbVar19 & 1)" (( "(") (binary_expression "*pbVar19 & 1" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            pcVar15 = (char *)FUN_0009295c();\n            fputs_unlocked(pcVar15,pFVar10);\n          }" ({ "{") (expression_statement "pcVar15 = (char *)FUN_0009295c();" (assignment_expression "pcVar15 = (char *)FUN_0009295c()" (identifier "pcVar15") (= "=") (cast_expression "(char *)FUN_0009295c()" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0009295c()" (identifier "FUN_0009295c") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "fputs_unlocked(pcVar15,pFVar10);" (call_expression "fputs_unlocked(pcVar15,pFVar10)" (identifier "fputs_unlocked") (argument_list "(pcVar15,pFVar10)" (( "(") (identifier "pcVar15") (, ",") (identifier "pFVar10") () ")"))) (; ";")) (} "}")) (else_clause "else {\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }" (else "else") (compound_statement "{\n            lVar23 = (longdouble)FUN_000925a2();\n            FUN_0009295c();\n            FUN_00092815((double)lVar23,1,extraout_EDX);\n            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);\n          }" ({ "{") (expression_statement "lVar23 = (longdouble)FUN_000925a2();" (assignment_expression "lVar23 = (longdouble)FUN_000925a2()" (identifier "lVar23") (= "=") (cast_expression "(longdouble)FUN_000925a2()" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (call_expression "FUN_000925a2()" (identifier "FUN_000925a2") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "FUN_0009295c();" (call_expression "FUN_0009295c()" (identifier "FUN_0009295c") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_00092815((double)lVar23,1,extraout_EDX);" (call_expression "FUN_00092815((double)lVar23,1,extraout_EDX)" (identifier "FUN_00092815") (argument_list "((double)lVar23,1,extraout_EDX)" (( "(") (cast_expression "(double)lVar23" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "lVar23")) (, ",") (number_literal "1") (, ",") (identifier "extraout_EDX") () ")"))) (; ";")) (expression_statement "fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);" (call_expression "fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10)" (identifier "fputs_unlocked") (argument_list "(*(char **)(iVar6 + -0xc),pFVar10)" (( "(") (pointer_expression "*(char **)(iVar6 + -0xc)" (* "*") (cast_expression "(char **)(iVar6 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + -0xc)" (( "(") (binary_expression "iVar6 + -0xc" (identifier "iVar6") (+ "+") (number_literal "-0xc")) () ")")))) (, ",") (identifier "pFVar10") () ")"))) (; ";")) (} "}")))) (if_statement "if (puVar18 == (uint *)0x0) break;" (if "if") (parenthesized_expression "(puVar18 == (uint *)0x0)" (( "(") (binary_expression "puVar18 == (uint *)0x0" (identifier "puVar18") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pcVar15 = (char *)FUN_0009295c();" (assignment_expression "pcVar15 = (char *)FUN_0009295c()" (identifier "pcVar15") (= "=") (cast_expression "(char *)FUN_0009295c()" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0009295c()" (identifier "FUN_0009295c") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "fputs_unlocked(pcVar15,pFVar10);" (call_expression "fputs_unlocked(pcVar15,pFVar10)" (identifier "fputs_unlocked") (argument_list "(pcVar15,pFVar10)" (( "(") (identifier "pcVar15") (, ",") (identifier "pFVar10") () ")"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "pcVar15 = (char *)FUN_0009295c();" (assignment_expression "pcVar15 = (char *)FUN_0009295c()" (identifier "pcVar15") (= "=") (cast_expression "(char *)FUN_0009295c()" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0009295c()" (identifier "FUN_0009295c") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "fputs_unlocked(pcVar15,pFVar10);" (call_expression "fputs_unlocked(pcVar15,pFVar10)" (identifier "fputs_unlocked") (argument_list "(pcVar15,pFVar10)" (( "(") (identifier "pcVar15") (, ",") (identifier "pFVar10") () ")"))) (; ";")) (expression_statement "fflush(pFVar10);" (call_expression "fflush(pFVar10)" (identifier "fflush") (argument_list "(pFVar10)" (( "(") (identifier "pFVar10") () ")"))) (; ";")) (} "}")) (else_clause "else {\n      pcVar15 = (char *)FUN_00095fab();\n      fputs_unlocked(pcVar15,pFVar10);\n      free(pcVar15);\n      fflush(pFVar10);\n    }" (else "else") (compound_statement "{\n      pcVar15 = (char *)FUN_00095fab();\n      fputs_unlocked(pcVar15,pFVar10);\n      free(pcVar15);\n      fflush(pFVar10);\n    }" ({ "{") (expression_statement "pcVar15 = (char *)FUN_00095fab();" (assignment_expression "pcVar15 = (char *)FUN_00095fab()" (identifier "pcVar15") (= "=") (cast_expression "(char *)FUN_00095fab()" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00095fab()" (identifier "FUN_00095fab") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "fputs_unlocked(pcVar15,pFVar10);" (call_expression "fputs_unlocked(pcVar15,pFVar10)" (identifier "fputs_unlocked") (argument_list "(pcVar15,pFVar10)" (( "(") (identifier "pcVar15") (, ",") (identifier "pFVar10") () ")"))) (; ";")) (expression_statement "free(pcVar15);" (call_expression "free(pcVar15)" (identifier "free") (argument_list "(pcVar15)" (( "(") (identifier "pcVar15") () ")"))) (; ";")) (expression_statement "fflush(pFVar10);" (call_expression "fflush(pFVar10)" (identifier "fflush") (argument_list "(pFVar10)" (( "(") (identifier "pFVar10") () ")"))) (; ";")) (} "}")))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 6:\n    iVar7 = FUN_0009211c();\n    if ((*local_6c & 0x800) == 0) {\n      *local_6c = *local_6c | 0x800;\n      uVar8 = 0;\n    }\n    else {\n      uVar8 = local_6c[4];\n    }\n    piVar9 = (int *)FUN_00019b89();\n    local_6c[4] = (uint)piVar9;\n    *piVar9 = (int)(piVar9 + 3);\n    piVar9[1] = (int)(piVar9 + 3);\n    piVar9[2] = uVar8;\n    if (*(int *)(iVar7 + 4) != 0) {\n      uVar8 = 0;\n      do {\n        iVar20 = *(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4);\n        if (iVar20 != 0) {\n          pcVar15 = (char *)*piVar9;\n          do {\n            strcpy(pcVar15,(char *)(iVar20 + 0x1c));\n            pcVar16 = (char *)*piVar9;\n            do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');\n            iVar20 = *(int *)(iVar20 + 0x18);\n          } while (iVar20 != 0);\n        }\n        uVar8 = uVar8 + 1;\n      } while (uVar8 < *(uint *)(iVar7 + 4));\n    }\n    break;" (case "case") (number_literal "6") (: ":") (expression_statement "iVar7 = FUN_0009211c();" (assignment_expression "iVar7 = FUN_0009211c()" (identifier "iVar7") (= "=") (call_expression "FUN_0009211c()" (identifier "FUN_0009211c") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((*local_6c & 0x800) == 0) {\n      *local_6c = *local_6c | 0x800;\n      uVar8 = 0;\n    }\n    else {\n      uVar8 = local_6c[4];\n    }" (if "if") (parenthesized_expression "((*local_6c & 0x800) == 0)" (( "(") (binary_expression "(*local_6c & 0x800) == 0" (parenthesized_expression "(*local_6c & 0x800)" (( "(") (binary_expression "*local_6c & 0x800" (pointer_expression "*local_6c" (* "*") (identifier "local_6c")) (& "&") (number_literal "0x800")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      *local_6c = *local_6c | 0x800;\n      uVar8 = 0;\n    }" ({ "{") (expression_statement "*local_6c = *local_6c | 0x800;" (assignment_expression "*local_6c = *local_6c | 0x800" (pointer_expression "*local_6c" (* "*") (identifier "local_6c")) (= "=") (binary_expression "*local_6c | 0x800" (pointer_expression "*local_6c" (* "*") (identifier "local_6c")) (| "|") (number_literal "0x800"))) (; ";")) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      uVar8 = local_6c[4];\n    }" (else "else") (compound_statement "{\n      uVar8 = local_6c[4];\n    }" ({ "{") (expression_statement "uVar8 = local_6c[4];" (assignment_expression "uVar8 = local_6c[4]" (identifier "uVar8") (= "=") (subscript_expression "local_6c[4]" (identifier "local_6c") ([ "[") (number_literal "4") (] "]"))) (; ";")) (} "}")))) (expression_statement "piVar9 = (int *)FUN_00019b89();" (assignment_expression "piVar9 = (int *)FUN_00019b89()" (identifier "piVar9") (= "=") (cast_expression "(int *)FUN_00019b89()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00019b89()" (identifier "FUN_00019b89") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "local_6c[4] = (uint)piVar9;" (assignment_expression "local_6c[4] = (uint)piVar9" (subscript_expression "local_6c[4]" (identifier "local_6c") ([ "[") (number_literal "4") (] "]")) (= "=") (cast_expression "(uint)piVar9" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "piVar9"))) (; ";")) (expression_statement "*piVar9 = (int)(piVar9 + 3);" (assignment_expression "*piVar9 = (int)(piVar9 + 3)" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (= "=") (cast_expression "(int)(piVar9 + 3)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(piVar9 + 3)" (( "(") (binary_expression "piVar9 + 3" (identifier "piVar9") (+ "+") (number_literal "3")) () ")")))) (; ";")) (expression_statement "piVar9[1] = (int)(piVar9 + 3);" (assignment_expression "piVar9[1] = (int)(piVar9 + 3)" (subscript_expression "piVar9[1]" (identifier "piVar9") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(int)(piVar9 + 3)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(piVar9 + 3)" (( "(") (binary_expression "piVar9 + 3" (identifier "piVar9") (+ "+") (number_literal "3")) () ")")))) (; ";")) (expression_statement "piVar9[2] = uVar8;" (assignment_expression "piVar9[2] = uVar8" (subscript_expression "piVar9[2]" (identifier "piVar9") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar8")) (; ";")) (if_statement "if (*(int *)(iVar7 + 4) != 0) {\n      uVar8 = 0;\n      do {\n        iVar20 = *(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4);\n        if (iVar20 != 0) {\n          pcVar15 = (char *)*piVar9;\n          do {\n            strcpy(pcVar15,(char *)(iVar20 + 0x1c));\n            pcVar16 = (char *)*piVar9;\n            do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');\n            iVar20 = *(int *)(iVar20 + 0x18);\n          } while (iVar20 != 0);\n        }\n        uVar8 = uVar8 + 1;\n      } while (uVar8 < *(uint *)(iVar7 + 4));\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar7 + 4) != 0)" (( "(") (binary_expression "*(int *)(iVar7 + 4) != 0" (pointer_expression "*(int *)(iVar7 + 4)" (* "*") (cast_expression "(int *)(iVar7 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 4)" (( "(") (binary_expression "iVar7 + 4" (identifier "iVar7") (+ "+") (number_literal "4")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      uVar8 = 0;\n      do {\n        iVar20 = *(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4);\n        if (iVar20 != 0) {\n          pcVar15 = (char *)*piVar9;\n          do {\n            strcpy(pcVar15,(char *)(iVar20 + 0x1c));\n            pcVar16 = (char *)*piVar9;\n            do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');\n            iVar20 = *(int *)(iVar20 + 0x18);\n          } while (iVar20 != 0);\n        }\n        uVar8 = uVar8 + 1;\n      } while (uVar8 < *(uint *)(iVar7 + 4));\n    }" ({ "{") (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        iVar20 = *(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4);\n        if (iVar20 != 0) {\n          pcVar15 = (char *)*piVar9;\n          do {\n            strcpy(pcVar15,(char *)(iVar20 + 0x1c));\n            pcVar16 = (char *)*piVar9;\n            do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');\n            iVar20 = *(int *)(iVar20 + 0x18);\n          } while (iVar20 != 0);\n        }\n        uVar8 = uVar8 + 1;\n      } while (uVar8 < *(uint *)(iVar7 + 4));" (do "do") (compound_statement "{\n        iVar20 = *(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4);\n        if (iVar20 != 0) {\n          pcVar15 = (char *)*piVar9;\n          do {\n            strcpy(pcVar15,(char *)(iVar20 + 0x1c));\n            pcVar16 = (char *)*piVar9;\n            do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');\n            iVar20 = *(int *)(iVar20 + 0x18);\n          } while (iVar20 != 0);\n        }\n        uVar8 = uVar8 + 1;\n      }" ({ "{") (expression_statement "iVar20 = *(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4);" (assignment_expression "iVar20 = *(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4)" (identifier "iVar20") (= "=") (pointer_expression "*(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4)" (* "*") (cast_expression "(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar7 + 0x10) + uVar8 * 4)" (( "(") (binary_expression "*(int *)(iVar7 + 0x10) + uVar8 * 4" (pointer_expression "*(int *)(iVar7 + 0x10)" (* "*") (cast_expression "(int *)(iVar7 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x10)" (( "(") (binary_expression "iVar7 + 0x10" (identifier "iVar7") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (binary_expression "uVar8 * 4" (identifier "uVar8") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (iVar20 != 0) {\n          pcVar15 = (char *)*piVar9;\n          do {\n            strcpy(pcVar15,(char *)(iVar20 + 0x1c));\n            pcVar16 = (char *)*piVar9;\n            do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');\n            iVar20 = *(int *)(iVar20 + 0x18);\n          } while (iVar20 != 0);\n        }" (if "if") (parenthesized_expression "(iVar20 != 0)" (( "(") (binary_expression "iVar20 != 0" (identifier "iVar20") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          pcVar15 = (char *)*piVar9;\n          do {\n            strcpy(pcVar15,(char *)(iVar20 + 0x1c));\n            pcVar16 = (char *)*piVar9;\n            do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');\n            iVar20 = *(int *)(iVar20 + 0x18);\n          } while (iVar20 != 0);\n        }" ({ "{") (expression_statement "pcVar15 = (char *)*piVar9;" (assignment_expression "pcVar15 = (char *)*piVar9" (identifier "pcVar15") (= "=") (cast_expression "(char *)*piVar9" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar9" (* "*") (identifier "piVar9")))) (; ";")) (do_statement "do {\n            strcpy(pcVar15,(char *)(iVar20 + 0x1c));\n            pcVar16 = (char *)*piVar9;\n            do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');\n            iVar20 = *(int *)(iVar20 + 0x18);\n          } while (iVar20 != 0);" (do "do") (compound_statement "{\n            strcpy(pcVar15,(char *)(iVar20 + 0x1c));\n            pcVar16 = (char *)*piVar9;\n            do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');\n            iVar20 = *(int *)(iVar20 + 0x18);\n          }" ({ "{") (expression_statement "strcpy(pcVar15,(char *)(iVar20 + 0x1c));" (call_expression "strcpy(pcVar15,(char *)(iVar20 + 0x1c))" (identifier "strcpy") (argument_list "(pcVar15,(char *)(iVar20 + 0x1c))" (( "(") (identifier "pcVar15") (, ",") (cast_expression "(char *)(iVar20 + 0x1c)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x1c)" (( "(") (binary_expression "iVar20 + 0x1c" (identifier "iVar20") (+ "+") (number_literal "0x1c")) () ")"))) () ")"))) (; ";")) (expression_statement "pcVar16 = (char *)*piVar9;" (assignment_expression "pcVar16 = (char *)*piVar9" (identifier "pcVar16") (= "=") (cast_expression "(char *)*piVar9" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar9" (* "*") (identifier "piVar9")))) (; ";")) (do_statement "do {\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            } while (cVar1 != '\0');" (do "do") (compound_statement "{\n              pcVar15 = pcVar16 + 1;\n              *piVar9 = (int)pcVar15;\n              cVar1 = *pcVar16;\n              pcVar16 = pcVar15;\n            }" ({ "{") (expression_statement "pcVar15 = pcVar16 + 1;" (assignment_expression "pcVar15 = pcVar16 + 1" (identifier "pcVar15") (= "=") (binary_expression "pcVar16 + 1" (identifier "pcVar16") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*piVar9 = (int)pcVar15;" (assignment_expression "*piVar9 = (int)pcVar15" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (= "=") (cast_expression "(int)pcVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar15"))) (; ";")) (expression_statement "cVar1 = *pcVar16;" (assignment_expression "cVar1 = *pcVar16" (identifier "cVar1") (= "=") (pointer_expression "*pcVar16" (* "*") (identifier "pcVar16"))) (; ";")) (expression_statement "pcVar16 = pcVar15;" (assignment_expression "pcVar16 = pcVar15" (identifier "pcVar16") (= "=") (identifier "pcVar15")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(cVar1 != '\0')" (( "(") (binary_expression "cVar1 != '\0'" (identifier "cVar1") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (; ";")) (expression_statement "iVar20 = *(int *)(iVar20 + 0x18);" (assignment_expression "iVar20 = *(int *)(iVar20 + 0x18)" (identifier "iVar20") (= "=") (pointer_expression "*(int *)(iVar20 + 0x18)" (* "*") (cast_expression "(int *)(iVar20 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x18)" (( "(") (binary_expression "iVar20 + 0x18" (identifier "iVar20") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar20 != 0)" (( "(") (binary_expression "iVar20 != 0" (identifier "iVar20") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}"))) (expression_statement "uVar8 = uVar8 + 1;" (assignment_expression "uVar8 = uVar8 + 1" (identifier "uVar8") (= "=") (binary_expression "uVar8 + 1" (identifier "uVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar8 < *(uint *)(iVar7 + 4))" (( "(") (binary_expression "uVar8 < *(uint *)(iVar7 + 4)" (identifier "uVar8") (< "<") (pointer_expression "*(uint *)(iVar7 + 4)" (* "*") (cast_expression "(uint *)(iVar7 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 4)" (( "(") (binary_expression "iVar7 + 4" (identifier "iVar7") (+ "+") (number_literal "4")) () ")"))))) () ")")) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 7:\n    goto switchD_00094a90_caseD_7;" (case "case") (number_literal "7") (: ":") (goto_statement "goto switchD_00094a90_caseD_7;" (goto "goto") (statement_identifier "switchD_00094a90_caseD_7") (; ";"))) (case_statement "case 10:\n    FUN_00095b2f();\n    goto switchD_00094a90_caseD_7;" (case "case") (number_literal "10") (: ":") (expression_statement "FUN_00095b2f();" (call_expression "FUN_00095b2f()" (identifier "FUN_00095b2f") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto switchD_00094a90_caseD_7;" (goto "goto") (statement_identifier "switchD_00094a90_caseD_7") (; ";"))) (case_statement "case 0xb:\n    goto switchD_00094a90_caseD_b;" (case "case") (number_literal "0xb") (: ":") (goto_statement "goto switchD_00094a90_caseD_b;" (goto "goto") (statement_identifier "switchD_00094a90_caseD_b") (; ";"))) (case_statement "case 0xc:\n    *(undefined1 *)(iVar6 + -5) = 1;\n    goto switchD_00094a90_caseD_b;" (case "case") (number_literal "0xc") (: ":") (expression_statement "*(undefined1 *)(iVar6 + -5) = 1;" (assignment_expression "*(undefined1 *)(iVar6 + -5) = 1" (pointer_expression "*(undefined1 *)(iVar6 + -5)" (* "*") (cast_expression "(undefined1 *)(iVar6 + -5)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + -5)" (( "(") (binary_expression "iVar6 + -5" (identifier "iVar6") (+ "+") (number_literal "-5")) () ")")))) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto switchD_00094a90_caseD_b;" (goto "goto") (statement_identifier "switchD_00094a90_caseD_b") (; ";"))) (case_statement "case 0xd:\n    if ((*puVar18 & 0xff00) != 0x1300) {\n      iVar7 = FUN_00096324();\n      if (iVar7 != 0) goto LAB_000956d3;\n      local_80 = (uint *)local_80[3];\n      break;\n    }\n    if (((local_7c & 0x200000) == 0) && (iVar7 = FUN_00096324(), iVar7 == 0)) {\n      local_80 = (uint *)local_80[3];\n      break;\n    }\n    *local_80 = *local_80 | 0x200000;\n    iVar7 = FUN_00096324();\n    if (iVar7 != 0) {\n      *local_80 = *local_80 & 0xffdfffff;\n    }\n    goto LAB_000956d3;" (case "case") (number_literal "0xd") (: ":") (if_statement "if ((*puVar18 & 0xff00) != 0x1300) {\n      iVar7 = FUN_00096324();\n      if (iVar7 != 0) goto LAB_000956d3;\n      local_80 = (uint *)local_80[3];\n      break;\n    }" (if "if") (parenthesized_expression "((*puVar18 & 0xff00) != 0x1300)" (( "(") (binary_expression "(*puVar18 & 0xff00) != 0x1300" (parenthesized_expression "(*puVar18 & 0xff00)" (( "(") (binary_expression "*puVar18 & 0xff00" (pointer_expression "*puVar18" (* "*") (identifier "puVar18")) (& "&") (number_literal "0xff00")) () ")")) (!= "!=") (number_literal "0x1300")) () ")")) (compound_statement "{\n      iVar7 = FUN_00096324();\n      if (iVar7 != 0) goto LAB_000956d3;\n      local_80 = (uint *)local_80[3];\n      break;\n    }" ({ "{") (expression_statement "iVar7 = FUN_00096324();" (assignment_expression "iVar7 = FUN_00096324()" (identifier "iVar7") (= "=") (call_expression "FUN_00096324()" (identifier "FUN_00096324") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar7 != 0) goto LAB_000956d3;" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000956d3;" (goto "goto") (statement_identifier "LAB_000956d3") (; ";"))) (expression_statement "local_80 = (uint *)local_80[3];" (assignment_expression "local_80 = (uint *)local_80[3]" (identifier "local_80") (= "=") (cast_expression "(uint *)local_80[3]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_80[3]" (identifier "local_80") ([ "[") (number_literal "3") (] "]")))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (if_statement "if (((local_7c & 0x200000) == 0) && (iVar7 = FUN_00096324(), iVar7 == 0)) {\n      local_80 = (uint *)local_80[3];\n      break;\n    }" (if "if") (parenthesized_expression "(((local_7c & 0x200000) == 0) && (iVar7 = FUN_00096324(), iVar7 == 0))" (( "(") (binary_expression "((local_7c & 0x200000) == 0) && (iVar7 = FUN_00096324(), iVar7 == 0)" (parenthesized_expression "((local_7c & 0x200000) == 0)" (( "(") (binary_expression "(local_7c & 0x200000) == 0" (parenthesized_expression "(local_7c & 0x200000)" (( "(") (binary_expression "local_7c & 0x200000" (identifier "local_7c") (& "&") (number_literal "0x200000")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar7 = FUN_00096324(), iVar7 == 0)" (( "(") (comma_expression "iVar7 = FUN_00096324(), iVar7 == 0" (assignment_expression "iVar7 = FUN_00096324()" (identifier "iVar7") (= "=") (call_expression "FUN_00096324()" (identifier "FUN_00096324") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n      local_80 = (uint *)local_80[3];\n      break;\n    }" ({ "{") (expression_statement "local_80 = (uint *)local_80[3];" (assignment_expression "local_80 = (uint *)local_80[3]" (identifier "local_80") (= "=") (cast_expression "(uint *)local_80[3]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_80[3]" (identifier "local_80") ([ "[") (number_literal "3") (] "]")))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "*local_80 = *local_80 | 0x200000;" (assignment_expression "*local_80 = *local_80 | 0x200000" (pointer_expression "*local_80" (* "*") (identifier "local_80")) (= "=") (binary_expression "*local_80 | 0x200000" (pointer_expression "*local_80" (* "*") (identifier "local_80")) (| "|") (number_literal "0x200000"))) (; ";")) (expression_statement "iVar7 = FUN_00096324();" (assignment_expression "iVar7 = FUN_00096324()" (identifier "iVar7") (= "=") (call_expression "FUN_00096324()" (identifier "FUN_00096324") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar7 != 0) {\n      *local_80 = *local_80 & 0xffdfffff;\n    }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      *local_80 = *local_80 & 0xffdfffff;\n    }" ({ "{") (expression_statement "*local_80 = *local_80 & 0xffdfffff;" (assignment_expression "*local_80 = *local_80 & 0xffdfffff" (pointer_expression "*local_80" (* "*") (identifier "local_80")) (= "=") (binary_expression "*local_80 & 0xffdfffff" (pointer_expression "*local_80" (* "*") (identifier "local_80")) (& "&") (number_literal "0xffdfffff"))) (; ";")) (} "}"))) (goto_statement "goto LAB_000956d3;" (goto "goto") (statement_identifier "LAB_000956d3") (; ";"))) (case_statement "case 0xe:\n    puVar18 = (uint *)local_6c[4];\n    pcVar15 = (char *)puVar18[1];\n    if (pcVar15 < (char *)*puVar18) {\n      do {\n        puVar18[1] = (uint)(pcVar15 + 1);\n        cVar1 = *pcVar15;\n        pcVar15 = pcVar15 + 1;\n      } while (cVar1 != '\0');\n      FUN_00093016();\n      goto LAB_000956d3;\n    }\n    uVar8 = puVar18[2];\n    free(puVar18);\n    local_6c[4] = uVar8;\n    local_80 = (uint *)local_80[3];\n    break;" (case "case") (number_literal "0xe") (: ":") (expression_statement "puVar18 = (uint *)local_6c[4];" (assignment_expression "puVar18 = (uint *)local_6c[4]" (identifier "puVar18") (= "=") (cast_expression "(uint *)local_6c[4]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_6c[4]" (identifier "local_6c") ([ "[") (number_literal "4") (] "]")))) (; ";")) (expression_statement "pcVar15 = (char *)puVar18[1];" (assignment_expression "pcVar15 = (char *)puVar18[1]" (identifier "pcVar15") (= "=") (cast_expression "(char *)puVar18[1]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar18[1]" (identifier "puVar18") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if (pcVar15 < (char *)*puVar18) {\n      do {\n        puVar18[1] = (uint)(pcVar15 + 1);\n        cVar1 = *pcVar15;\n        pcVar15 = pcVar15 + 1;\n      } while (cVar1 != '\0');\n      FUN_00093016();\n      goto LAB_000956d3;\n    }" (if "if") (parenthesized_expression "(pcVar15 < (char *)*puVar18)" (( "(") (binary_expression "pcVar15 < (char *)*puVar18" (identifier "pcVar15") (< "<") (cast_expression "(char *)*puVar18" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar18" (* "*") (identifier "puVar18")))) () ")")) (compound_statement "{\n      do {\n        puVar18[1] = (uint)(pcVar15 + 1);\n        cVar1 = *pcVar15;\n        pcVar15 = pcVar15 + 1;\n      } while (cVar1 != '\0');\n      FUN_00093016();\n      goto LAB_000956d3;\n    }" ({ "{") (do_statement "do {\n        puVar18[1] = (uint)(pcVar15 + 1);\n        cVar1 = *pcVar15;\n        pcVar15 = pcVar15 + 1;\n      } while (cVar1 != '\0');" (do "do") (compound_statement "{\n        puVar18[1] = (uint)(pcVar15 + 1);\n        cVar1 = *pcVar15;\n        pcVar15 = pcVar15 + 1;\n      }" ({ "{") (expression_statement "puVar18[1] = (uint)(pcVar15 + 1);" (assignment_expression "puVar18[1] = (uint)(pcVar15 + 1)" (subscript_expression "puVar18[1]" (identifier "puVar18") ([ "[") (number_literal "1") (] "]")) (= "=") (call_expression "(uint)(pcVar15 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pcVar15 + 1)" (( "(") (binary_expression "pcVar15 + 1" (identifier "pcVar15") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "cVar1 = *pcVar15;" (assignment_expression "cVar1 = *pcVar15" (identifier "cVar1") (= "=") (pointer_expression "*pcVar15" (* "*") (identifier "pcVar15"))) (; ";")) (expression_statement "pcVar15 = pcVar15 + 1;" (assignment_expression "pcVar15 = pcVar15 + 1" (identifier "pcVar15") (= "=") (binary_expression "pcVar15 + 1" (identifier "pcVar15") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(cVar1 != '\0')" (( "(") (binary_expression "cVar1 != '\0'" (identifier "cVar1") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (; ";")) (expression_statement "FUN_00093016();" (call_expression "FUN_00093016()" (identifier "FUN_00093016") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_000956d3;" (goto "goto") (statement_identifier "LAB_000956d3") (; ";")) (} "}"))) (expression_statement "uVar8 = puVar18[2];" (assignment_expression "uVar8 = puVar18[2]" (identifier "uVar8") (= "=") (subscript_expression "puVar18[2]" (identifier "puVar18") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "free(puVar18);" (call_expression "free(puVar18)" (identifier "free") (argument_list "(puVar18)" (( "(") (identifier "puVar18") () ")"))) (; ";")) (expression_statement "local_6c[4] = uVar8;" (assignment_expression "local_6c[4] = uVar8" (subscript_expression "local_6c[4]" (identifier "local_6c") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "local_80 = (uint *)local_80[3];" (assignment_expression "local_80 = (uint *)local_80[3]" (identifier "local_80") (= "=") (cast_expression "(uint *)local_80[3]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_80[3]" (identifier "local_80") ([ "[") (number_literal "3") (] "]")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x10:" (case "case") (number_literal "0x10") (: ":")) (case_statement "case 0x22:\n    lVar23 = (longdouble)FUN_000925a2();\n    switch(uVar8) {\n    case 0x25:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40) {\nLAB_00095638:\n        pcVar15 = "Division by zero";\n        goto LAB_00094f35;\n      }\n      local_74 = (double)((longdouble)local_74 -\n                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23);\n      break;\n    case 0x26:\nswitchD_000950ee_caseD_2:\n      pcVar15 = "Math support is not compiled in";\n      goto LAB_00094f35;\n    case 0x27:\n    case 0x28:\n    case 0x29:\n    case 0x2c:\n    case 0x2e:\n      break;\n    case 0x2a:\n      local_74 = (double)(lVar23 * (longdouble)local_74);\n      break;\n    case 0x2b:\n      local_74 = (double)(lVar23 + (longdouble)local_74);\n      break;\n    case 0x2d:\n      local_74 = (double)((longdouble)local_74 - lVar23);\n      break;\n    case 0x2f:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)\n      goto LAB_00095638;\n      local_74 = (double)((longdouble)local_74 / lVar23);\n    }\n    if ((local_7c & 0xff00) != 0x1000) {\n      local_78 = local_6c;\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = local_74;\n    FUN_00092d5e();\n    break;" (case "case") (number_literal "0x22") (: ":") (expression_statement "lVar23 = (longdouble)FUN_000925a2();" (assignment_expression "lVar23 = (longdouble)FUN_000925a2()" (identifier "lVar23") (= "=") (cast_expression "(longdouble)FUN_000925a2()" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (call_expression "FUN_000925a2()" (identifier "FUN_000925a2") (argument_list "()" (( "(") () ")"))))) (; ";")) (switch_statement "switch(uVar8) {\n    case 0x25:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40) {\nLAB_00095638:\n        pcVar15 = "Division by zero";\n        goto LAB_00094f35;\n      }\n      local_74 = (double)((longdouble)local_74 -\n                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23);\n      break;\n    case 0x26:\nswitchD_000950ee_caseD_2:\n      pcVar15 = "Math support is not compiled in";\n      goto LAB_00094f35;\n    case 0x27:\n    case 0x28:\n    case 0x29:\n    case 0x2c:\n    case 0x2e:\n      break;\n    case 0x2a:\n      local_74 = (double)(lVar23 * (longdouble)local_74);\n      break;\n    case 0x2b:\n      local_74 = (double)(lVar23 + (longdouble)local_74);\n      break;\n    case 0x2d:\n      local_74 = (double)((longdouble)local_74 - lVar23);\n      break;\n    case 0x2f:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)\n      goto LAB_00095638;\n      local_74 = (double)((longdouble)local_74 / lVar23);\n    }" (switch "switch") (parenthesized_expression "(uVar8)" (( "(") (identifier "uVar8") () ")")) (compound_statement "{\n    case 0x25:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40) {\nLAB_00095638:\n        pcVar15 = "Division by zero";\n        goto LAB_00094f35;\n      }\n      local_74 = (double)((longdouble)local_74 -\n                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23);\n      break;\n    case 0x26:\nswitchD_000950ee_caseD_2:\n      pcVar15 = "Math support is not compiled in";\n      goto LAB_00094f35;\n    case 0x27:\n    case 0x28:\n    case 0x29:\n    case 0x2c:\n    case 0x2e:\n      break;\n    case 0x2a:\n      local_74 = (double)(lVar23 * (longdouble)local_74);\n      break;\n    case 0x2b:\n      local_74 = (double)(lVar23 + (longdouble)local_74);\n      break;\n    case 0x2d:\n      local_74 = (double)((longdouble)local_74 - lVar23);\n      break;\n    case 0x2f:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)\n      goto LAB_00095638;\n      local_74 = (double)((longdouble)local_74 / lVar23);\n    }" ({ "{") (case_statement "case 0x25:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40) {\nLAB_00095638:\n        pcVar15 = "Division by zero";\n        goto LAB_00094f35;\n      }\n      local_74 = (double)((longdouble)local_74 -\n                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23);\n      break;" (case "case") (number_literal "0x25") (: ":") (expression_statement "lVar24 = (longdouble)0;" (assignment_expression "lVar24 = (longdouble)0" (identifier "lVar24") (= "=") (cast_expression "(longdouble)0" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (number_literal "0"))) (; ";")) (if_statement "if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40) {\nLAB_00095638:\n        pcVar15 = "Division by zero";\n        goto LAB_00094f35;\n      }" (if "if") (parenthesized_expression "((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)" (( "(") (binary_expression "(byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40" (call_expression "(byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8))" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8))" (( "(") (binary_expression "lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)" (binary_expression "lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)" (binary_expression "lVar23 < lVar24" (identifier "lVar23") (< "<") (identifier "lVar24")) (| "|") (call_expression "(byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)" (( "(") (binary_expression "(ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8" (call_expression "(ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "((ushort)(NAN(lVar23) || NAN(lVar24)) << 10)" (( "(") (binary_expression "(ushort)(NAN(lVar23) || NAN(lVar24)) << 10" (call_expression "(ushort)(NAN(lVar23) || NAN(lVar24))" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "(NAN(lVar23) || NAN(lVar24))" (( "(") (binary_expression "NAN(lVar23) || NAN(lVar24)" (call_expression "NAN(lVar23)" (identifier "NAN") (argument_list "(lVar23)" (( "(") (identifier "lVar23") () ")"))) (|| "||") (call_expression "NAN(lVar24)" (identifier "NAN") (argument_list "(lVar24)" (( "(") (identifier "lVar24") () ")")))) () ")"))) (<< "<<") (number_literal "10")) () ")"))) (>> ">>") (number_literal "8")) () ")")))) (| "|") (call_expression "(byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)" (( "(") (binary_expression "(ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8" (call_expression "(ushort)((ushort)(lVar23 == lVar24) << 0xe)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "((ushort)(lVar23 == lVar24) << 0xe)" (( "(") (binary_expression "(ushort)(lVar23 == lVar24) << 0xe" (call_expression "(ushort)(lVar23 == lVar24)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "(lVar23 == lVar24)" (( "(") (binary_expression "lVar23 == lVar24" (identifier "lVar23") (== "==") (identifier "lVar24")) () ")"))) (<< "<<") (number_literal "0xe")) () ")"))) (>> ">>") (number_literal "8")) () ")")))) () ")"))) (== "==") (number_literal "0x40")) () ")")) (compound_statement "{\nLAB_00095638:\n        pcVar15 = "Division by zero";\n        goto LAB_00094f35;\n      }" ({ "{") (labeled_statement "LAB_00095638:\n        pcVar15 = "Division by zero";" (statement_identifier "LAB_00095638") (: ":") (expression_statement "pcVar15 = "Division by zero";" (assignment_expression "pcVar15 = "Division by zero"" (identifier "pcVar15") (= "=") (string_literal ""Division by zero"" (" """) (string_content "Division by zero") (" """))) (; ";"))) (goto_statement "goto LAB_00094f35;" (goto "goto") (statement_identifier "LAB_00094f35") (; ";")) (} "}"))) (expression_statement "local_74 = (double)((longdouble)local_74 -\n                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23);" (assignment_expression "local_74 = (double)((longdouble)local_74 -\n                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23)" (identifier "local_74") (= "=") (cast_expression "(double)((longdouble)local_74 -\n                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((longdouble)local_74 -\n                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23)" (( "(") (binary_expression "(longdouble)local_74 -\n                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23" (cast_expression "(longdouble)local_74" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (identifier "local_74")) (- "-") (binary_expression "(longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23" (cast_expression "(longdouble)(longlong)ROUND((longdouble)local_74 / lVar23)" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (cast_expression "(longlong)ROUND((longdouble)local_74 / lVar23)" (( "(") (type_descriptor "longlong" (type_identifier "longlong")) () ")") (call_expression "ROUND((longdouble)local_74 / lVar23)" (identifier "ROUND") (argument_list "((longdouble)local_74 / lVar23)" (( "(") (binary_expression "(longdouble)local_74 / lVar23" (cast_expression "(longdouble)local_74" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (identifier "local_74")) (/ "/") (identifier "lVar23")) () ")"))))) (* "*") (identifier "lVar23"))) () ")")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x26:\nswitchD_000950ee_caseD_2:\n      pcVar15 = "Math support is not compiled in";\n      goto LAB_00094f35;" (case "case") (number_literal "0x26") (: ":") (labeled_statement "switchD_000950ee_caseD_2:\n      pcVar15 = "Math support is not compiled in";" (statement_identifier "switchD_000950ee_caseD_2") (: ":") (expression_statement "pcVar15 = "Math support is not compiled in";" (assignment_expression "pcVar15 = "Math support is not compiled in"" (identifier "pcVar15") (= "=") (string_literal ""Math support is not compiled in"" (" """) (string_content "Math support is not compiled in") (" """))) (; ";"))) (goto_statement "goto LAB_00094f35;" (goto "goto") (statement_identifier "LAB_00094f35") (; ";"))) (case_statement "case 0x27:" (case "case") (number_literal "0x27") (: ":")) (case_statement "case 0x28:" (case "case") (number_literal "0x28") (: ":")) (case_statement "case 0x29:" (case "case") (number_literal "0x29") (: ":")) (case_statement "case 0x2c:" (case "case") (number_literal "0x2c") (: ":")) (case_statement "case 0x2e:\n      break;" (case "case") (number_literal "0x2e") (: ":") (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x2a:\n      local_74 = (double)(lVar23 * (longdouble)local_74);\n      break;" (case "case") (number_literal "0x2a") (: ":") (expression_statement "local_74 = (double)(lVar23 * (longdouble)local_74);" (assignment_expression "local_74 = (double)(lVar23 * (longdouble)local_74)" (identifier "local_74") (= "=") (cast_expression "(double)(lVar23 * (longdouble)local_74)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "(lVar23 * (longdouble)local_74)" (( "(") (binary_expression "lVar23 * (longdouble)local_74" (identifier "lVar23") (* "*") (cast_expression "(longdouble)local_74" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (identifier "local_74"))) () ")")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x2b:\n      local_74 = (double)(lVar23 + (longdouble)local_74);\n      break;" (case "case") (number_literal "0x2b") (: ":") (expression_statement "local_74 = (double)(lVar23 + (longdouble)local_74);" (assignment_expression "local_74 = (double)(lVar23 + (longdouble)local_74)" (identifier "local_74") (= "=") (cast_expression "(double)(lVar23 + (longdouble)local_74)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "(lVar23 + (longdouble)local_74)" (( "(") (binary_expression "lVar23 + (longdouble)local_74" (identifier "lVar23") (+ "+") (cast_expression "(longdouble)local_74" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (identifier "local_74"))) () ")")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x2d:\n      local_74 = (double)((longdouble)local_74 - lVar23);\n      break;" (case "case") (number_literal "0x2d") (: ":") (expression_statement "local_74 = (double)((longdouble)local_74 - lVar23);" (assignment_expression "local_74 = (double)((longdouble)local_74 - lVar23)" (identifier "local_74") (= "=") (cast_expression "(double)((longdouble)local_74 - lVar23)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((longdouble)local_74 - lVar23)" (( "(") (binary_expression "(longdouble)local_74 - lVar23" (cast_expression "(longdouble)local_74" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (identifier "local_74")) (- "-") (identifier "lVar23")) () ")")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x2f:\n      lVar24 = (longdouble)0;\n      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)\n      goto LAB_00095638;\n      local_74 = (double)((longdouble)local_74 / lVar23);" (case "case") (number_literal "0x2f") (: ":") (expression_statement "lVar24 = (longdouble)0;" (assignment_expression "lVar24 = (longdouble)0" (identifier "lVar24") (= "=") (cast_expression "(longdouble)0" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (number_literal "0"))) (; ";")) (if_statement "if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)\n      goto LAB_00095638;" (if "if") (parenthesized_expression "((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)" (( "(") (binary_expression "(byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40" (call_expression "(byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8))" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8))" (( "(") (binary_expression "lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)\n                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)" (binary_expression "lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)" (binary_expression "lVar23 < lVar24" (identifier "lVar23") (< "<") (identifier "lVar24")) (| "|") (call_expression "(byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)" (( "(") (binary_expression "(ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8" (call_expression "(ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "((ushort)(NAN(lVar23) || NAN(lVar24)) << 10)" (( "(") (binary_expression "(ushort)(NAN(lVar23) || NAN(lVar24)) << 10" (call_expression "(ushort)(NAN(lVar23) || NAN(lVar24))" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "(NAN(lVar23) || NAN(lVar24))" (( "(") (binary_expression "NAN(lVar23) || NAN(lVar24)" (call_expression "NAN(lVar23)" (identifier "NAN") (argument_list "(lVar23)" (( "(") (identifier "lVar23") () ")"))) (|| "||") (call_expression "NAN(lVar24)" (identifier "NAN") (argument_list "(lVar24)" (( "(") (identifier "lVar24") () ")")))) () ")"))) (<< "<<") (number_literal "10")) () ")"))) (>> ">>") (number_literal "8")) () ")")))) (| "|") (call_expression "(byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)" (( "(") (binary_expression "(ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8" (call_expression "(ushort)((ushort)(lVar23 == lVar24) << 0xe)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "((ushort)(lVar23 == lVar24) << 0xe)" (( "(") (binary_expression "(ushort)(lVar23 == lVar24) << 0xe" (call_expression "(ushort)(lVar23 == lVar24)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "(lVar23 == lVar24)" (( "(") (binary_expression "lVar23 == lVar24" (identifier "lVar23") (== "==") (identifier "lVar24")) () ")"))) (<< "<<") (number_literal "0xe")) () ")"))) (>> ">>") (number_literal "8")) () ")")))) () ")"))) (== "==") (number_literal "0x40")) () ")")) (goto_statement "goto LAB_00095638;" (goto "goto") (statement_identifier "LAB_00095638") (; ";"))) (expression_statement "local_74 = (double)((longdouble)local_74 / lVar23);" (assignment_expression "local_74 = (double)((longdouble)local_74 / lVar23)" (identifier "local_74") (= "=") (cast_expression "(double)((longdouble)local_74 / lVar23)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((longdouble)local_74 / lVar23)" (( "(") (binary_expression "(longdouble)local_74 / lVar23" (cast_expression "(longdouble)local_74" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (identifier "local_74")) (/ "/") (identifier "lVar23")) () ")")))) (; ";"))) (} "}"))) (if_statement "if ((local_7c & 0xff00) != 0x1000) {\n      local_78 = local_6c;\n    }" (if "if") (parenthesized_expression "((local_7c & 0xff00) != 0x1000)" (( "(") (binary_expression "(local_7c & 0xff00) != 0x1000" (parenthesized_expression "(local_7c & 0xff00)" (( "(") (binary_expression "local_7c & 0xff00" (identifier "local_7c") (& "&") (number_literal "0xff00")) () ")")) (!= "!=") (number_literal "0x1000")) () ")")) (compound_statement "{\n      local_78 = local_6c;\n    }" ({ "{") (expression_statement "local_78 = local_6c;" (assignment_expression "local_78 = local_6c" (identifier "local_78") (= "=") (identifier "local_6c")) (; ";")) (} "}"))) (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" (identifier "FUN_0009227b") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*local_78 = *local_78 | 1;" (assignment_expression "*local_78 = *local_78 | 1" (pointer_expression "*local_78" (* "*") (identifier "local_78")) (= "=") (binary_expression "*local_78 | 1" (pointer_expression "*local_78" (* "*") (identifier "local_78")) (| "|") (number_literal "1"))) (; ";")) (expression_statement "*(double *)(local_78 + 1) = local_74;" (assignment_expression "*(double *)(local_78 + 1) = local_74" (pointer_expression "*(double *)(local_78 + 1)" (* "*") (cast_expression "(double *)(local_78 + 1)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_78 + 1)" (( "(") (binary_expression "local_78 + 1" (identifier "local_78") (+ "+") (number_literal "1")) () ")")))) (= "=") (identifier "local_74")) (; ";")) (expression_statement "FUN_00092d5e();" (call_expression "FUN_00092d5e()" (identifier "FUN_00092d5e") (argument_list "()" (( "(") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x11:\n    local_78 = (uint *)FUN_00093dbd();\n    break;" (case "case") (number_literal "0x11") (: ":") (expression_statement "local_78 = (uint *)FUN_00093dbd();" (assignment_expression "local_78 = (uint *)FUN_00093dbd()" (identifier "local_78") (= "=") (cast_expression "(uint *)FUN_00093dbd()" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00093dbd()" (identifier "FUN_00093dbd") (argument_list "()" (( "(") () ")"))))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x13:" (case "case") (number_literal "0x13") (: ":")) (case_statement "case 0x15:\n    puVar17 = &DAT_000cd91f;\n    if ((local_7c & 0xff00) == 0x1300) {\n      puVar17 = (undefined1 *)FUN_0009295c();\n    }\n    uVar8 = FUN_00019fd7("%s%s%s",local_68,puVar17,local_4c);\n    FUN_0009227b();\n    local_78[3] = uVar8;\n    FUN_00092d5e();\n    break;" (case "case") (number_literal "0x15") (: ":") (expression_statement "puVar17 = &DAT_000cd91f;" (assignment_expression "puVar17 = &DAT_000cd91f" (identifier "puVar17") (= "=") (pointer_expression "&DAT_000cd91f" (& "&") (identifier "DAT_000cd91f"))) (; ";")) (if_statement "if ((local_7c & 0xff00) == 0x1300) {\n      puVar17 = (undefined1 *)FUN_0009295c();\n    }" (if "if") (parenthesized_expression "((local_7c & 0xff00) == 0x1300)" (( "(") (binary_expression "(local_7c & 0xff00) == 0x1300" (parenthesized_expression "(local_7c & 0xff00)" (( "(") (binary_expression "local_7c & 0xff00" (identifier "local_7c") (& "&") (number_literal "0xff00")) () ")")) (== "==") (number_literal "0x1300")) () ")")) (compound_statement "{\n      puVar17 = (undefined1 *)FUN_0009295c();\n    }" ({ "{") (expression_statement "puVar17 = (undefined1 *)FUN_0009295c();" (assignment_expression "puVar17 = (undefined1 *)FUN_0009295c()" (identifier "puVar17") (= "=") (cast_expression "(undefined1 *)FUN_0009295c()" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0009295c()" (identifier "FUN_0009295c") (argument_list "()" (( "(") () ")"))))) (; ";")) (} "}"))) (expression_statement "uVar8 = FUN_00019fd7("%s%s%s",local_68,puVar17,local_4c);" (assignment_expression "uVar8 = FUN_00019fd7("%s%s%s",local_68,puVar17,local_4c)" (identifier "uVar8") (= "=") (call_expression "FUN_00019fd7("%s%s%s",local_68,puVar17,local_4c)" (identifier "FUN_00019fd7") (argument_list "("%s%s%s",local_68,puVar17,local_4c)" (( "(") (string_literal ""%s%s%s"" (" """) (string_content "%s%s%s") (" """)) (, ",") (identifier "local_68") (, ",") (identifier "puVar17") (, ",") (identifier "local_4c") () ")")))) (; ";")) (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" (identifier "FUN_0009227b") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_78[3] = uVar8;" (assignment_expression "local_78[3] = uVar8" (subscript_expression "local_78[3]" (identifier "local_78") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "FUN_00092d5e();" (call_expression "FUN_00092d5e()" (identifier "FUN_00092d5e") (argument_list "()" (( "(") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x14:\n    FUN_000925a2();\n    if (((((ushort)*local_6c ^ 0x4000) & 0x4201) == 0) ||\n       (FUN_000925a2(), (((ushort)*local_5c ^ 0x4000) & 0x4201) == 0)) {\n      pcVar15 = (char *)FUN_0009295c();\n      pcVar16 = (char *)FUN_0009295c();\n      if (*(char *)(iVar6 + -8) == '\0') {\n        iVar7 = strcmp(pcVar15,pcVar16);\n        lVar23 = (longdouble)iVar7;\n        goto joined_r0x0009536c;\n      }\n      iVar7 = strcasecmp(pcVar15,pcVar16);\n      lVar23 = (longdouble)iVar7;\n      if ((local_7c & 0x7e) != 2) goto LAB_00095372;\nLAB_000952b4:\n      local_48 = (uint)((longdouble)0 <= lVar23);\n    }\n    else {\n      lVar24 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)(double)lVar24 - lVar23;\njoined_r0x0009536c:\n      if ((local_7c & 0x7e) == 2) goto LAB_000952b4;\nLAB_00095372:\n      if ((local_7c & 0x7e) == 4) {\n        lVar24 = (longdouble)0;\n        local_48 = (uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40);\n      }\n      else if ((local_7c & 0x7e) == 0) {\n        local_48 = (uint)((longdouble)0 < lVar23);\n      }\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)(int)(local_7c & 1 ^ local_48 ^ 1);\n    FUN_00092d5e();\n    break;" (case "case") (number_literal "0x14") (: ":") (expression_statement "FUN_000925a2();" (call_expression "FUN_000925a2()" (identifier "FUN_000925a2") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (((((ushort)*local_6c ^ 0x4000) & 0x4201) == 0) ||\n       (FUN_000925a2(), (((ushort)*local_5c ^ 0x4000) & 0x4201) == 0)) {\n      pcVar15 = (char *)FUN_0009295c();\n      pcVar16 = (char *)FUN_0009295c();\n      if (*(char *)(iVar6 + -8) == '\0') {\n        iVar7 = strcmp(pcVar15,pcVar16);\n        lVar23 = (longdouble)iVar7;\n        goto joined_r0x0009536c;\n      }\n      iVar7 = strcasecmp(pcVar15,pcVar16);\n      lVar23 = (longdouble)iVar7;\n      if ((local_7c & 0x7e) != 2) goto LAB_00095372;\nLAB_000952b4:\n      local_48 = (uint)((longdouble)0 <= lVar23);\n    }\n    else {\n      lVar24 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)(double)lVar24 - lVar23;\njoined_r0x0009536c:\n      if ((local_7c & 0x7e) == 2) goto LAB_000952b4;\nLAB_00095372:\n      if ((local_7c & 0x7e) == 4) {\n        lVar24 = (longdouble)0;\n        local_48 = (uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40);\n      }\n      else if ((local_7c & 0x7e) == 0) {\n        local_48 = (uint)((longdouble)0 < lVar23);\n      }\n    }" (if "if") (parenthesized_expression "(((((ushort)*local_6c ^ 0x4000) & 0x4201) == 0) ||\n       (FUN_000925a2(), (((ushort)*local_5c ^ 0x4000) & 0x4201) == 0))" (( "(") (binary_expression "((((ushort)*local_6c ^ 0x4000) & 0x4201) == 0) ||\n       (FUN_000925a2(), (((ushort)*local_5c ^ 0x4000) & 0x4201) == 0)" (parenthesized_expression "((((ushort)*local_6c ^ 0x4000) & 0x4201) == 0)" (( "(") (binary_expression "(((ushort)*local_6c ^ 0x4000) & 0x4201) == 0" (parenthesized_expression "(((ushort)*local_6c ^ 0x4000) & 0x4201)" (( "(") (binary_expression "((ushort)*local_6c ^ 0x4000) & 0x4201" (parenthesized_expression "((ushort)*local_6c ^ 0x4000)" (( "(") (binary_expression "(ushort)*local_6c ^ 0x4000" (binary_expression "(ushort)*local_6c" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (* "*") (identifier "local_6c")) (^ "^") (number_literal "0x4000")) () ")")) (& "&") (number_literal "0x4201")) () ")")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(FUN_000925a2(), (((ushort)*local_5c ^ 0x4000) & 0x4201) == 0)" (( "(") (comma_expression "FUN_000925a2(), (((ushort)*local_5c ^ 0x4000) & 0x4201) == 0" (call_expression "FUN_000925a2()" (identifier "FUN_000925a2") (argument_list "()" (( "(") () ")"))) (, ",") (binary_expression "(((ushort)*local_5c ^ 0x4000) & 0x4201) == 0" (parenthesized_expression "(((ushort)*local_5c ^ 0x4000) & 0x4201)" (( "(") (binary_expression "((ushort)*local_5c ^ 0x4000) & 0x4201" (parenthesized_expression "((ushort)*local_5c ^ 0x4000)" (( "(") (binary_expression "(ushort)*local_5c ^ 0x4000" (binary_expression "(ushort)*local_5c" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (* "*") (identifier "local_5c")) (^ "^") (number_literal "0x4000")) () ")")) (& "&") (number_literal "0x4201")) () ")")) (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n      pcVar15 = (char *)FUN_0009295c();\n      pcVar16 = (char *)FUN_0009295c();\n      if (*(char *)(iVar6 + -8) == '\0') {\n        iVar7 = strcmp(pcVar15,pcVar16);\n        lVar23 = (longdouble)iVar7;\n        goto joined_r0x0009536c;\n      }\n      iVar7 = strcasecmp(pcVar15,pcVar16);\n      lVar23 = (longdouble)iVar7;\n      if ((local_7c & 0x7e) != 2) goto LAB_00095372;\nLAB_000952b4:\n      local_48 = (uint)((longdouble)0 <= lVar23);\n    }" ({ "{") (expression_statement "pcVar15 = (char *)FUN_0009295c();" (assignment_expression "pcVar15 = (char *)FUN_0009295c()" (identifier "pcVar15") (= "=") (cast_expression "(char *)FUN_0009295c()" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0009295c()" (identifier "FUN_0009295c") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "pcVar16 = (char *)FUN_0009295c();" (assignment_expression "pcVar16 = (char *)FUN_0009295c()" (identifier "pcVar16") (= "=") (cast_expression "(char *)FUN_0009295c()" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0009295c()" (identifier "FUN_0009295c") (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (*(char *)(iVar6 + -8) == '\0') {\n        iVar7 = strcmp(pcVar15,pcVar16);\n        lVar23 = (longdouble)iVar7;\n        goto joined_r0x0009536c;\n      }" (if "if") (parenthesized_expression "(*(char *)(iVar6 + -8) == '\0')" (( "(") (binary_expression "*(char *)(iVar6 + -8) == '\0'" (pointer_expression "*(char *)(iVar6 + -8)" (* "*") (cast_expression "(char *)(iVar6 + -8)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + -8)" (( "(") (binary_expression "iVar6 + -8" (identifier "iVar6") (+ "+") (number_literal "-8")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        iVar7 = strcmp(pcVar15,pcVar16);\n        lVar23 = (longdouble)iVar7;\n        goto joined_r0x0009536c;\n      }" ({ "{") (expression_statement "iVar7 = strcmp(pcVar15,pcVar16);" (assignment_expression "iVar7 = strcmp(pcVar15,pcVar16)" (identifier "iVar7") (= "=") (call_expression "strcmp(pcVar15,pcVar16)" (identifier "strcmp") (argument_list "(pcVar15,pcVar16)" (( "(") (identifier "pcVar15") (, ",") (identifier "pcVar16") () ")")))) (; ";")) (expression_statement "lVar23 = (longdouble)iVar7;" (assignment_expression "lVar23 = (longdouble)iVar7" (identifier "lVar23") (= "=") (cast_expression "(longdouble)iVar7" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (identifier "iVar7"))) (; ";")) (goto_statement "goto joined_r0x0009536c;" (goto "goto") (statement_identifier "joined_r0x0009536c") (; ";")) (} "}"))) (expression_statement "iVar7 = strcasecmp(pcVar15,pcVar16);" (assignment_expression "iVar7 = strcasecmp(pcVar15,pcVar16)" (identifier "iVar7") (= "=") (call_expression "strcasecmp(pcVar15,pcVar16)" (identifier "strcasecmp") (argument_list "(pcVar15,pcVar16)" (( "(") (identifier "pcVar15") (, ",") (identifier "pcVar16") () ")")))) (; ";")) (expression_statement "lVar23 = (longdouble)iVar7;" (assignment_expression "lVar23 = (longdouble)iVar7" (identifier "lVar23") (= "=") (cast_expression "(longdouble)iVar7" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (identifier "iVar7"))) (; ";")) (if_statement "if ((local_7c & 0x7e) != 2) goto LAB_00095372;" (if "if") (parenthesized_expression "((local_7c & 0x7e) != 2)" (( "(") (binary_expression "(local_7c & 0x7e) != 2" (parenthesized_expression "(local_7c & 0x7e)" (( "(") (binary_expression "local_7c & 0x7e" (identifier "local_7c") (& "&") (number_literal "0x7e")) () ")")) (!= "!=") (number_literal "2")) () ")")) (goto_statement "goto LAB_00095372;" (goto "goto") (statement_identifier "LAB_00095372") (; ";"))) (labeled_statement "LAB_000952b4:\n      local_48 = (uint)((longdouble)0 <= lVar23);" (statement_identifier "LAB_000952b4") (: ":") (expression_statement "local_48 = (uint)((longdouble)0 <= lVar23);" (assignment_expression "local_48 = (uint)((longdouble)0 <= lVar23)" (identifier "local_48") (= "=") (call_expression "(uint)((longdouble)0 <= lVar23)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((longdouble)0 <= lVar23)" (( "(") (binary_expression "(longdouble)0 <= lVar23" (cast_expression "(longdouble)0" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (number_literal "0")) (<= "<=") (identifier "lVar23")) () ")")))) (; ";"))) (} "}")) (else_clause "else {\n      lVar24 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)(double)lVar24 - lVar23;\njoined_r0x0009536c:\n      if ((local_7c & 0x7e) == 2) goto LAB_000952b4;\nLAB_00095372:\n      if ((local_7c & 0x7e) == 4) {\n        lVar24 = (longdouble)0;\n        local_48 = (uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40);\n      }\n      else if ((local_7c & 0x7e) == 0) {\n        local_48 = (uint)((longdouble)0 < lVar23);\n      }\n    }" (else "else") (compound_statement "{\n      lVar24 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)FUN_000925a2();\n      lVar23 = (longdouble)(double)lVar24 - lVar23;\njoined_r0x0009536c:\n      if ((local_7c & 0x7e) == 2) goto LAB_000952b4;\nLAB_00095372:\n      if ((local_7c & 0x7e) == 4) {\n        lVar24 = (longdouble)0;\n        local_48 = (uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40);\n      }\n      else if ((local_7c & 0x7e) == 0) {\n        local_48 = (uint)((longdouble)0 < lVar23);\n      }\n    }" ({ "{") (expression_statement "lVar24 = (longdouble)FUN_000925a2();" (assignment_expression "lVar24 = (longdouble)FUN_000925a2()" (identifier "lVar24") (= "=") (cast_expression "(longdouble)FUN_000925a2()" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (call_expression "FUN_000925a2()" (identifier "FUN_000925a2") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "lVar23 = (longdouble)FUN_000925a2();" (assignment_expression "lVar23 = (longdouble)FUN_000925a2()" (identifier "lVar23") (= "=") (cast_expression "(longdouble)FUN_000925a2()" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (call_expression "FUN_000925a2()" (identifier "FUN_000925a2") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "lVar23 = (longdouble)(double)lVar24 - lVar23;" (assignment_expression "lVar23 = (longdouble)(double)lVar24 - lVar23" (identifier "lVar23") (= "=") (binary_expression "(longdouble)(double)lVar24 - lVar23" (cast_expression "(longdouble)(double)lVar24" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (cast_expression "(double)lVar24" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "lVar24"))) (- "-") (identifier "lVar23"))) (; ";")) (labeled_statement "joined_r0x0009536c:\n      if ((local_7c & 0x7e) == 2) goto LAB_000952b4;" (statement_identifier "joined_r0x0009536c") (: ":") (if_statement "if ((local_7c & 0x7e) == 2) goto LAB_000952b4;" (if "if") (parenthesized_expression "((local_7c & 0x7e) == 2)" (( "(") (binary_expression "(local_7c & 0x7e) == 2" (parenthesized_expression "(local_7c & 0x7e)" (( "(") (binary_expression "local_7c & 0x7e" (identifier "local_7c") (& "&") (number_literal "0x7e")) () ")")) (== "==") (number_literal "2")) () ")")) (goto_statement "goto LAB_000952b4;" (goto "goto") (statement_identifier "LAB_000952b4") (; ";")))) (labeled_statement "LAB_00095372:\n      if ((local_7c & 0x7e) == 4) {\n        lVar24 = (longdouble)0;\n        local_48 = (uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40);\n      }\n      else if ((local_7c & 0x7e) == 0) {\n        local_48 = (uint)((longdouble)0 < lVar23);\n      }" (statement_identifier "LAB_00095372") (: ":") (if_statement "if ((local_7c & 0x7e) == 4) {\n        lVar24 = (longdouble)0;\n        local_48 = (uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40);\n      }\n      else if ((local_7c & 0x7e) == 0) {\n        local_48 = (uint)((longdouble)0 < lVar23);\n      }" (if "if") (parenthesized_expression "((local_7c & 0x7e) == 4)" (( "(") (binary_expression "(local_7c & 0x7e) == 4" (parenthesized_expression "(local_7c & 0x7e)" (( "(") (binary_expression "local_7c & 0x7e" (identifier "local_7c") (& "&") (number_literal "0x7e")) () ")")) (== "==") (number_literal "4")) () ")")) (compound_statement "{\n        lVar24 = (longdouble)0;\n        local_48 = (uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40);\n      }" ({ "{") (expression_statement "lVar24 = (longdouble)0;" (assignment_expression "lVar24 = (longdouble)0" (identifier "lVar24") (= "=") (cast_expression "(longdouble)0" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (number_literal "0"))) (; ";")) (expression_statement "local_48 = (uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40);" (assignment_expression "local_48 = (uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)" (identifier "local_48") (= "=") (call_expression "(uint)((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)" (( "(") (binary_expression "(byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40" (call_expression "(byte)(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8))" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8))" (( "(") (binary_expression "lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |\n                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)" (binary_expression "lVar23 < lVar24 |\n                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)" (binary_expression "lVar23 < lVar24" (identifier "lVar23") (< "<") (identifier "lVar24")) (| "|") (call_expression "(byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)" (( "(") (binary_expression "(ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8" (call_expression "(ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "((ushort)(NAN(lVar23) || NAN(lVar24)) << 10)" (( "(") (binary_expression "(ushort)(NAN(lVar23) || NAN(lVar24)) << 10" (call_expression "(ushort)(NAN(lVar23) || NAN(lVar24))" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "(NAN(lVar23) || NAN(lVar24))" (( "(") (binary_expression "NAN(lVar23) || NAN(lVar24)" (call_expression "NAN(lVar23)" (identifier "NAN") (argument_list "(lVar23)" (( "(") (identifier "lVar23") () ")"))) (|| "||") (call_expression "NAN(lVar24)" (identifier "NAN") (argument_list "(lVar24)" (( "(") (identifier "lVar24") () ")")))) () ")"))) (<< "<<") (number_literal "10")) () ")"))) (>> ">>") (number_literal "8")) () ")")))) (| "|") (call_expression "(byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)" (( "(") (binary_expression "(ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8" (call_expression "(ushort)((ushort)(lVar23 == lVar24) << 0xe)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "((ushort)(lVar23 == lVar24) << 0xe)" (( "(") (binary_expression "(ushort)(lVar23 == lVar24) << 0xe" (call_expression "(ushort)(lVar23 == lVar24)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "(lVar23 == lVar24)" (( "(") (binary_expression "lVar23 == lVar24" (identifier "lVar23") (== "==") (identifier "lVar24")) () ")"))) (<< "<<") (number_literal "0xe")) () ")"))) (>> ">>") (number_literal "8")) () ")")))) () ")"))) (== "==") (number_literal "0x40")) () ")")))) (; ";")) (} "}")) (else_clause "else if ((local_7c & 0x7e) == 0) {\n        local_48 = (uint)((longdouble)0 < lVar23);\n      }" (else "else") (if_statement "if ((local_7c & 0x7e) == 0) {\n        local_48 = (uint)((longdouble)0 < lVar23);\n      }" (if "if") (parenthesized_expression "((local_7c & 0x7e) == 0)" (( "(") (binary_expression "(local_7c & 0x7e) == 0" (parenthesized_expression "(local_7c & 0x7e)" (( "(") (binary_expression "local_7c & 0x7e" (identifier "local_7c") (& "&") (number_literal "0x7e")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        local_48 = (uint)((longdouble)0 < lVar23);\n      }" ({ "{") (expression_statement "local_48 = (uint)((longdouble)0 < lVar23);" (assignment_expression "local_48 = (uint)((longdouble)0 < lVar23)" (identifier "local_48") (= "=") (call_expression "(uint)((longdouble)0 < lVar23)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((longdouble)0 < lVar23)" (( "(") (binary_expression "(longdouble)0 < lVar23" (cast_expression "(longdouble)0" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (number_literal "0")) (< "<") (identifier "lVar23")) () ")")))) (; ";")) (} "}")))))) (} "}")))) (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" (identifier "FUN_0009227b") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*local_78 = *local_78 | 1;" (assignment_expression "*local_78 = *local_78 | 1" (pointer_expression "*local_78" (* "*") (identifier "local_78")) (= "=") (binary_expression "*local_78 | 1" (pointer_expression "*local_78" (* "*") (identifier "local_78")) (| "|") (number_literal "1"))) (; ";")) (expression_statement "*(double *)(local_78 + 1) = (double)(int)(local_7c & 1 ^ local_48 ^ 1);" (assignment_expression "*(double *)(local_78 + 1) = (double)(int)(local_7c & 1 ^ local_48 ^ 1)" (pointer_expression "*(double *)(local_78 + 1)" (* "*") (cast_expression "(double *)(local_78 + 1)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_78 + 1)" (( "(") (binary_expression "local_78 + 1" (identifier "local_78") (+ "+") (number_literal "1")) () ")")))) (= "=") (cast_expression "(double)(int)(local_7c & 1 ^ local_48 ^ 1)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(int)(local_7c & 1 ^ local_48 ^ 1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(local_7c & 1 ^ local_48 ^ 1)" (( "(") (binary_expression "local_7c & 1 ^ local_48 ^ 1" (binary_expression "local_7c & 1 ^ local_48" (binary_expression "local_7c & 1" (identifier "local_7c") (& "&") (number_literal "1")) (^ "^") (identifier "local_48")) (^ "^") (number_literal "1")) () ")"))))) (; ";")) (expression_statement "FUN_00092d5e();" (call_expression "FUN_00092d5e()" (identifier "FUN_00092d5e") (argument_list "()" (( "(") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x16:\n    switch(uVar8) {\n    case 0:\n      local_64 = (double)(longlong)ROUND(local_74);\n      break;\n    case 1:\n      iVar7 = rand();\n      local_64 = (double)iVar7 / DAT_000b65c0;\n      break;\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n      goto switchD_000950ee_caseD_2;\n    case 7:\n      uVar8 = *(uint *)(iVar6 + 0x8c);\n      if (puVar18 == (uint *)0x0) {\n        local_34 = time((time_t *)0x0);\n      }\n      else {\n        local_34 = (uint)(longlong)ROUND(local_74);\n      }\n      local_64 = (double)(ulonglong)uVar8;\n      local_64 = (double)(longlong)local_64;\n      *(uint *)(iVar6 + 0x8c) = local_34;\n      srand(local_34);\n      break;\n    case 8:\n      tVar14 = time((time_t *)0x0);\n      local_64 = (double)tVar14;\n      break;\n    case 9:\n      if (puVar18 == (uint *)0x0) {\n        local_68 = (char *)FUN_0009295c();\n      }\n      else if ((*local_6c & 2) != 0) {\n        local_64 = (double)(ulonglong)*(uint *)local_6c[4];\n        local_64 = (double)(longlong)local_64;\n        break;\n      }\n      sVar13 = strlen(local_68);\n      local_64 = (double)(ulonglong)sVar13;\n      local_64 = (double)(longlong)local_64;\n      break;\n    case 10:\n      FUN_00019f78();\n      if (local_68 == (char *)0x0) {\n        local_64 = 0.0;\n      }\n      else if (*local_68 == '\0') {\n        local_64 = 0.0;\n      }\n      else {\n        iVar7 = system(local_68);\n        local_64 = (double)(iVar7 >> 8);\n      }\n      break;\n    case 0xb:\n      if (puVar18 == (uint *)0x0) {\n        fflush(*(FILE **)puVar4);\n      }\n      else if ((local_68 == (char *)0x0) || (*local_68 == '\0')) {\n        FUN_00019f78();\n      }\n      else {\n        puVar11 = (undefined4 *)FUN_00093a51();\n        fflush((FILE *)*puVar11);\n      }\n      break;\n    case 0xc:\n      puVar11 = (undefined4 *)FUN_000939df();\n      if (puVar11 == (undefined4 *)0x0) {\n        local_64 = 0.0;\n      }\n      else {\n        pFVar10 = (FILE *)*puVar11;\n        if (pFVar10 == (FILE *)0x0) {\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          local_64 = 0.0;\n        }\n        else {\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }\n      }\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = local_64;\n    FUN_00092d5e();\n    break;" (case "case") (number_literal "0x16") (: ":") (switch_statement "switch(uVar8) {\n    case 0:\n      local_64 = (double)(longlong)ROUND(local_74);\n      break;\n    case 1:\n      iVar7 = rand();\n      local_64 = (double)iVar7 / DAT_000b65c0;\n      break;\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n      goto switchD_000950ee_caseD_2;\n    case 7:\n      uVar8 = *(uint *)(iVar6 + 0x8c);\n      if (puVar18 == (uint *)0x0) {\n        local_34 = time((time_t *)0x0);\n      }\n      else {\n        local_34 = (uint)(longlong)ROUND(local_74);\n      }\n      local_64 = (double)(ulonglong)uVar8;\n      local_64 = (double)(longlong)local_64;\n      *(uint *)(iVar6 + 0x8c) = local_34;\n      srand(local_34);\n      break;\n    case 8:\n      tVar14 = time((time_t *)0x0);\n      local_64 = (double)tVar14;\n      break;\n    case 9:\n      if (puVar18 == (uint *)0x0) {\n        local_68 = (char *)FUN_0009295c();\n      }\n      else if ((*local_6c & 2) != 0) {\n        local_64 = (double)(ulonglong)*(uint *)local_6c[4];\n        local_64 = (double)(longlong)local_64;\n        break;\n      }\n      sVar13 = strlen(local_68);\n      local_64 = (double)(ulonglong)sVar13;\n      local_64 = (double)(longlong)local_64;\n      break;\n    case 10:\n      FUN_00019f78();\n      if (local_68 == (char *)0x0) {\n        local_64 = 0.0;\n      }\n      else if (*local_68 == '\0') {\n        local_64 = 0.0;\n      }\n      else {\n        iVar7 = system(local_68);\n        local_64 = (double)(iVar7 >> 8);\n      }\n      break;\n    case 0xb:\n      if (puVar18 == (uint *)0x0) {\n        fflush(*(FILE **)puVar4);\n      }\n      else if ((local_68 == (char *)0x0) || (*local_68 == '\0')) {\n        FUN_00019f78();\n      }\n      else {\n        puVar11 = (undefined4 *)FUN_00093a51();\n        fflush((FILE *)*puVar11);\n      }\n      break;\n    case 0xc:\n      puVar11 = (undefined4 *)FUN_000939df();\n      if (puVar11 == (undefined4 *)0x0) {\n        local_64 = 0.0;\n      }\n      else {\n        pFVar10 = (FILE *)*puVar11;\n        if (pFVar10 == (FILE *)0x0) {\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          local_64 = 0.0;\n        }\n        else {\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }\n      }\n    }" (switch "switch") (parenthesized_expression "(uVar8)" (( "(") (identifier "uVar8") () ")")) (compound_statement "{\n    case 0:\n      local_64 = (double)(longlong)ROUND(local_74);\n      break;\n    case 1:\n      iVar7 = rand();\n      local_64 = (double)iVar7 / DAT_000b65c0;\n      break;\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n    case 6:\n      goto switchD_000950ee_caseD_2;\n    case 7:\n      uVar8 = *(uint *)(iVar6 + 0x8c);\n      if (puVar18 == (uint *)0x0) {\n        local_34 = time((time_t *)0x0);\n      }\n      else {\n        local_34 = (uint)(longlong)ROUND(local_74);\n      }\n      local_64 = (double)(ulonglong)uVar8;\n      local_64 = (double)(longlong)local_64;\n      *(uint *)(iVar6 + 0x8c) = local_34;\n      srand(local_34);\n      break;\n    case 8:\n      tVar14 = time((time_t *)0x0);\n      local_64 = (double)tVar14;\n      break;\n    case 9:\n      if (puVar18 == (uint *)0x0) {\n        local_68 = (char *)FUN_0009295c();\n      }\n      else if ((*local_6c & 2) != 0) {\n        local_64 = (double)(ulonglong)*(uint *)local_6c[4];\n        local_64 = (double)(longlong)local_64;\n        break;\n      }\n      sVar13 = strlen(local_68);\n      local_64 = (double)(ulonglong)sVar13;\n      local_64 = (double)(longlong)local_64;\n      break;\n    case 10:\n      FUN_00019f78();\n      if (local_68 == (char *)0x0) {\n        local_64 = 0.0;\n      }\n      else if (*local_68 == '\0') {\n        local_64 = 0.0;\n      }\n      else {\n        iVar7 = system(local_68);\n        local_64 = (double)(iVar7 >> 8);\n      }\n      break;\n    case 0xb:\n      if (puVar18 == (uint *)0x0) {\n        fflush(*(FILE **)puVar4);\n      }\n      else if ((local_68 == (char *)0x0) || (*local_68 == '\0')) {\n        FUN_00019f78();\n      }\n      else {\n        puVar11 = (undefined4 *)FUN_00093a51();\n        fflush((FILE *)*puVar11);\n      }\n      break;\n    case 0xc:\n      puVar11 = (undefined4 *)FUN_000939df();\n      if (puVar11 == (undefined4 *)0x0) {\n        local_64 = 0.0;\n      }\n      else {\n        pFVar10 = (FILE *)*puVar11;\n        if (pFVar10 == (FILE *)0x0) {\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          local_64 = 0.0;\n        }\n        else {\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }\n      }\n    }" ({ "{") (case_statement "case 0:\n      local_64 = (double)(longlong)ROUND(local_74);\n      break;" (case "case") (number_literal "0") (: ":") (expression_statement "local_64 = (double)(longlong)ROUND(local_74);" (assignment_expression "local_64 = (double)(longlong)ROUND(local_74)" (identifier "local_64") (= "=") (cast_expression "(double)(longlong)ROUND(local_74)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(longlong)ROUND(local_74)" (( "(") (type_descriptor "longlong" (type_identifier "longlong")) () ")") (call_expression "ROUND(local_74)" (identifier "ROUND") (argument_list "(local_74)" (( "(") (identifier "local_74") () ")")))))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 1:\n      iVar7 = rand();\n      local_64 = (double)iVar7 / DAT_000b65c0;\n      break;" (case "case") (number_literal "1") (: ":") (expression_statement "iVar7 = rand();" (assignment_expression "iVar7 = rand()" (identifier "iVar7") (= "=") (call_expression "rand()" (identifier "rand") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "local_64 = (double)iVar7 / DAT_000b65c0;" (assignment_expression "local_64 = (double)iVar7 / DAT_000b65c0" (identifier "local_64") (= "=") (binary_expression "(double)iVar7 / DAT_000b65c0" (cast_expression "(double)iVar7" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "iVar7")) (/ "/") (identifier "DAT_000b65c0"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 2:" (case "case") (number_literal "2") (: ":")) (case_statement "case 3:" (case "case") (number_literal "3") (: ":")) (case_statement "case 4:" (case "case") (number_literal "4") (: ":")) (case_statement "case 5:" (case "case") (number_literal "5") (: ":")) (case_statement "case 6:\n      goto switchD_000950ee_caseD_2;" (case "case") (number_literal "6") (: ":") (goto_statement "goto switchD_000950ee_caseD_2;" (goto "goto") (statement_identifier "switchD_000950ee_caseD_2") (; ";"))) (case_statement "case 7:\n      uVar8 = *(uint *)(iVar6 + 0x8c);\n      if (puVar18 == (uint *)0x0) {\n        local_34 = time((time_t *)0x0);\n      }\n      else {\n        local_34 = (uint)(longlong)ROUND(local_74);\n      }\n      local_64 = (double)(ulonglong)uVar8;\n      local_64 = (double)(longlong)local_64;\n      *(uint *)(iVar6 + 0x8c) = local_34;\n      srand(local_34);\n      break;" (case "case") (number_literal "7") (: ":") (expression_statement "uVar8 = *(uint *)(iVar6 + 0x8c);" (assignment_expression "uVar8 = *(uint *)(iVar6 + 0x8c)" (identifier "uVar8") (= "=") (pointer_expression "*(uint *)(iVar6 + 0x8c)" (* "*") (cast_expression "(uint *)(iVar6 + 0x8c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x8c)" (( "(") (binary_expression "iVar6 + 0x8c" (identifier "iVar6") (+ "+") (number_literal "0x8c")) () ")"))))) (; ";")) (if_statement "if (puVar18 == (uint *)0x0) {\n        local_34 = time((time_t *)0x0);\n      }\n      else {\n        local_34 = (uint)(longlong)ROUND(local_74);\n      }" (if "if") (parenthesized_expression "(puVar18 == (uint *)0x0)" (( "(") (binary_expression "puVar18 == (uint *)0x0" (identifier "puVar18") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        local_34 = time((time_t *)0x0);\n      }" ({ "{") (expression_statement "local_34 = time((time_t *)0x0);" (assignment_expression "local_34 = time((time_t *)0x0)" (identifier "local_34") (= "=") (call_expression "time((time_t *)0x0)" (identifier "time") (argument_list "((time_t *)0x0)" (( "(") (cast_expression "(time_t *)0x0" (( "(") (type_descriptor "time_t *" (type_identifier "time_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n        local_34 = (uint)(longlong)ROUND(local_74);\n      }" (else "else") (compound_statement "{\n        local_34 = (uint)(longlong)ROUND(local_74);\n      }" ({ "{") (expression_statement "local_34 = (uint)(longlong)ROUND(local_74);" (assignment_expression "local_34 = (uint)(longlong)ROUND(local_74)" (identifier "local_34") (= "=") (cast_expression "(uint)(longlong)ROUND(local_74)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(longlong)ROUND(local_74)" (( "(") (type_descriptor "longlong" (type_identifier "longlong")) () ")") (call_expression "ROUND(local_74)" (identifier "ROUND") (argument_list "(local_74)" (( "(") (identifier "local_74") () ")")))))) (; ";")) (} "}")))) (expression_statement "local_64 = (double)(ulonglong)uVar8;" (assignment_expression "local_64 = (double)(ulonglong)uVar8" (identifier "local_64") (= "=") (cast_expression "(double)(ulonglong)uVar8" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(ulonglong)uVar8" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar8")))) (; ";")) (expression_statement "local_64 = (double)(longlong)local_64;" (assignment_expression "local_64 = (double)(longlong)local_64" (identifier "local_64") (= "=") (cast_expression "(double)(longlong)local_64" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(longlong)local_64" (( "(") (type_descriptor "longlong" (type_identifier "longlong")) () ")") (identifier "local_64")))) (; ";")) (expression_statement "*(uint *)(iVar6 + 0x8c) = local_34;" (assignment_expression "*(uint *)(iVar6 + 0x8c) = local_34" (pointer_expression "*(uint *)(iVar6 + 0x8c)" (* "*") (cast_expression "(uint *)(iVar6 + 0x8c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x8c)" (( "(") (binary_expression "iVar6 + 0x8c" (identifier "iVar6") (+ "+") (number_literal "0x8c")) () ")")))) (= "=") (identifier "local_34")) (; ";")) (expression_statement "srand(local_34);" (call_expression "srand(local_34)" (identifier "srand") (argument_list "(local_34)" (( "(") (identifier "local_34") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 8:\n      tVar14 = time((time_t *)0x0);\n      local_64 = (double)tVar14;\n      break;" (case "case") (number_literal "8") (: ":") (expression_statement "tVar14 = time((time_t *)0x0);" (assignment_expression "tVar14 = time((time_t *)0x0)" (identifier "tVar14") (= "=") (call_expression "time((time_t *)0x0)" (identifier "time") (argument_list "((time_t *)0x0)" (( "(") (cast_expression "(time_t *)0x0" (( "(") (type_descriptor "time_t *" (type_identifier "time_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) () ")")))) (; ";")) (expression_statement "local_64 = (double)tVar14;" (assignment_expression "local_64 = (double)tVar14" (identifier "local_64") (= "=") (cast_expression "(double)tVar14" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "tVar14"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 9:\n      if (puVar18 == (uint *)0x0) {\n        local_68 = (char *)FUN_0009295c();\n      }\n      else if ((*local_6c & 2) != 0) {\n        local_64 = (double)(ulonglong)*(uint *)local_6c[4];\n        local_64 = (double)(longlong)local_64;\n        break;\n      }\n      sVar13 = strlen(local_68);\n      local_64 = (double)(ulonglong)sVar13;\n      local_64 = (double)(longlong)local_64;\n      break;" (case "case") (number_literal "9") (: ":") (if_statement "if (puVar18 == (uint *)0x0) {\n        local_68 = (char *)FUN_0009295c();\n      }\n      else if ((*local_6c & 2) != 0) {\n        local_64 = (double)(ulonglong)*(uint *)local_6c[4];\n        local_64 = (double)(longlong)local_64;\n        break;\n      }" (if "if") (parenthesized_expression "(puVar18 == (uint *)0x0)" (( "(") (binary_expression "puVar18 == (uint *)0x0" (identifier "puVar18") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        local_68 = (char *)FUN_0009295c();\n      }" ({ "{") (expression_statement "local_68 = (char *)FUN_0009295c();" (assignment_expression "local_68 = (char *)FUN_0009295c()" (identifier "local_68") (= "=") (cast_expression "(char *)FUN_0009295c()" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0009295c()" (identifier "FUN_0009295c") (argument_list "()" (( "(") () ")"))))) (; ";")) (} "}")) (else_clause "else if ((*local_6c & 2) != 0) {\n        local_64 = (double)(ulonglong)*(uint *)local_6c[4];\n        local_64 = (double)(longlong)local_64;\n        break;\n      }" (else "else") (if_statement "if ((*local_6c & 2) != 0) {\n        local_64 = (double)(ulonglong)*(uint *)local_6c[4];\n        local_64 = (double)(longlong)local_64;\n        break;\n      }" (if "if") (parenthesized_expression "((*local_6c & 2) != 0)" (( "(") (binary_expression "(*local_6c & 2) != 0" (parenthesized_expression "(*local_6c & 2)" (( "(") (binary_expression "*local_6c & 2" (pointer_expression "*local_6c" (* "*") (identifier "local_6c")) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        local_64 = (double)(ulonglong)*(uint *)local_6c[4];\n        local_64 = (double)(longlong)local_64;\n        break;\n      }" ({ "{") (expression_statement "local_64 = (double)(ulonglong)*(uint *)local_6c[4];" (assignment_expression "local_64 = (double)(ulonglong)*(uint *)local_6c[4]" (identifier "local_64") (= "=") (binary_expression "(double)(ulonglong)*(uint *)local_6c[4]" (cast_expression "(double)(ulonglong)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")"))) (* "*") (cast_expression "(uint *)local_6c[4]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_6c[4]" (identifier "local_6c") ([ "[") (number_literal "4") (] "]"))))) (; ";")) (expression_statement "local_64 = (double)(longlong)local_64;" (assignment_expression "local_64 = (double)(longlong)local_64" (identifier "local_64") (= "=") (cast_expression "(double)(longlong)local_64" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(longlong)local_64" (( "(") (type_descriptor "longlong" (type_identifier "longlong")) () ")") (identifier "local_64")))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))))) (expression_statement "sVar13 = strlen(local_68);" (assignment_expression "sVar13 = strlen(local_68)" (identifier "sVar13") (= "=") (call_expression "strlen(local_68)" (identifier "strlen") (argument_list "(local_68)" (( "(") (identifier "local_68") () ")")))) (; ";")) (expression_statement "local_64 = (double)(ulonglong)sVar13;" (assignment_expression "local_64 = (double)(ulonglong)sVar13" (identifier "local_64") (= "=") (cast_expression "(double)(ulonglong)sVar13" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(ulonglong)sVar13" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "sVar13")))) (; ";")) (expression_statement "local_64 = (double)(longlong)local_64;" (assignment_expression "local_64 = (double)(longlong)local_64" (identifier "local_64") (= "=") (cast_expression "(double)(longlong)local_64" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(longlong)local_64" (( "(") (type_descriptor "longlong" (type_identifier "longlong")) () ")") (identifier "local_64")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 10:\n      FUN_00019f78();\n      if (local_68 == (char *)0x0) {\n        local_64 = 0.0;\n      }\n      else if (*local_68 == '\0') {\n        local_64 = 0.0;\n      }\n      else {\n        iVar7 = system(local_68);\n        local_64 = (double)(iVar7 >> 8);\n      }\n      break;" (case "case") (number_literal "10") (: ":") (expression_statement "FUN_00019f78();" (call_expression "FUN_00019f78()" (identifier "FUN_00019f78") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (local_68 == (char *)0x0) {\n        local_64 = 0.0;\n      }\n      else if (*local_68 == '\0') {\n        local_64 = 0.0;\n      }\n      else {\n        iVar7 = system(local_68);\n        local_64 = (double)(iVar7 >> 8);\n      }" (if "if") (parenthesized_expression "(local_68 == (char *)0x0)" (( "(") (binary_expression "local_68 == (char *)0x0" (identifier "local_68") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        local_64 = 0.0;\n      }" ({ "{") (expression_statement "local_64 = 0.0;" (assignment_expression "local_64 = 0.0" (identifier "local_64") (= "=") (number_literal "0.0")) (; ";")) (} "}")) (else_clause "else if (*local_68 == '\0') {\n        local_64 = 0.0;\n      }\n      else {\n        iVar7 = system(local_68);\n        local_64 = (double)(iVar7 >> 8);\n      }" (else "else") (if_statement "if (*local_68 == '\0') {\n        local_64 = 0.0;\n      }\n      else {\n        iVar7 = system(local_68);\n        local_64 = (double)(iVar7 >> 8);\n      }" (if "if") (parenthesized_expression "(*local_68 == '\0')" (( "(") (binary_expression "*local_68 == '\0'" (pointer_expression "*local_68" (* "*") (identifier "local_68")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        local_64 = 0.0;\n      }" ({ "{") (expression_statement "local_64 = 0.0;" (assignment_expression "local_64 = 0.0" (identifier "local_64") (= "=") (number_literal "0.0")) (; ";")) (} "}")) (else_clause "else {\n        iVar7 = system(local_68);\n        local_64 = (double)(iVar7 >> 8);\n      }" (else "else") (compound_statement "{\n        iVar7 = system(local_68);\n        local_64 = (double)(iVar7 >> 8);\n      }" ({ "{") (expression_statement "iVar7 = system(local_68);" (assignment_expression "iVar7 = system(local_68)" (identifier "iVar7") (= "=") (call_expression "system(local_68)" (identifier "system") (argument_list "(local_68)" (( "(") (identifier "local_68") () ")")))) (; ";")) (expression_statement "local_64 = (double)(iVar7 >> 8);" (assignment_expression "local_64 = (double)(iVar7 >> 8)" (identifier "local_64") (= "=") (cast_expression "(double)(iVar7 >> 8)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "(iVar7 >> 8)" (( "(") (binary_expression "iVar7 >> 8" (identifier "iVar7") (>> ">>") (number_literal "8")) () ")")))) (; ";")) (} "}")))))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xb:\n      if (puVar18 == (uint *)0x0) {\n        fflush(*(FILE **)puVar4);\n      }\n      else if ((local_68 == (char *)0x0) || (*local_68 == '\0')) {\n        FUN_00019f78();\n      }\n      else {\n        puVar11 = (undefined4 *)FUN_00093a51();\n        fflush((FILE *)*puVar11);\n      }\n      break;" (case "case") (number_literal "0xb") (: ":") (if_statement "if (puVar18 == (uint *)0x0) {\n        fflush(*(FILE **)puVar4);\n      }\n      else if ((local_68 == (char *)0x0) || (*local_68 == '\0')) {\n        FUN_00019f78();\n      }\n      else {\n        puVar11 = (undefined4 *)FUN_00093a51();\n        fflush((FILE *)*puVar11);\n      }" (if "if") (parenthesized_expression "(puVar18 == (uint *)0x0)" (( "(") (binary_expression "puVar18 == (uint *)0x0" (identifier "puVar18") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        fflush(*(FILE **)puVar4);\n      }" ({ "{") (expression_statement "fflush(*(FILE **)puVar4);" (call_expression "fflush(*(FILE **)puVar4)" (identifier "fflush") (argument_list "(*(FILE **)puVar4)" (( "(") (pointer_expression "*(FILE **)puVar4" (* "*") (cast_expression "(FILE **)puVar4" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar4"))) () ")"))) (; ";")) (} "}")) (else_clause "else if ((local_68 == (char *)0x0) || (*local_68 == '\0')) {\n        FUN_00019f78();\n      }\n      else {\n        puVar11 = (undefined4 *)FUN_00093a51();\n        fflush((FILE *)*puVar11);\n      }" (else "else") (if_statement "if ((local_68 == (char *)0x0) || (*local_68 == '\0')) {\n        FUN_00019f78();\n      }\n      else {\n        puVar11 = (undefined4 *)FUN_00093a51();\n        fflush((FILE *)*puVar11);\n      }" (if "if") (parenthesized_expression "((local_68 == (char *)0x0) || (*local_68 == '\0'))" (( "(") (binary_expression "(local_68 == (char *)0x0) || (*local_68 == '\0')" (parenthesized_expression "(local_68 == (char *)0x0)" (( "(") (binary_expression "local_68 == (char *)0x0" (identifier "local_68") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(*local_68 == '\0')" (( "(") (binary_expression "*local_68 == '\0'" (pointer_expression "*local_68" (* "*") (identifier "local_68")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n        FUN_00019f78();\n      }" ({ "{") (expression_statement "FUN_00019f78();" (call_expression "FUN_00019f78()" (identifier "FUN_00019f78") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n        puVar11 = (undefined4 *)FUN_00093a51();\n        fflush((FILE *)*puVar11);\n      }" (else "else") (compound_statement "{\n        puVar11 = (undefined4 *)FUN_00093a51();\n        fflush((FILE *)*puVar11);\n      }" ({ "{") (expression_statement "puVar11 = (undefined4 *)FUN_00093a51();" (assignment_expression "puVar11 = (undefined4 *)FUN_00093a51()" (identifier "puVar11") (= "=") (cast_expression "(undefined4 *)FUN_00093a51()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00093a51()" (identifier "FUN_00093a51") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "fflush((FILE *)*puVar11);" (call_expression "fflush((FILE *)*puVar11)" (identifier "fflush") (argument_list "((FILE *)*puVar11)" (( "(") (cast_expression "(FILE *)*puVar11" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar11" (* "*") (identifier "puVar11"))) () ")"))) (; ";")) (} "}")))))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xc:\n      puVar11 = (undefined4 *)FUN_000939df();\n      if (puVar11 == (undefined4 *)0x0) {\n        local_64 = 0.0;\n      }\n      else {\n        pFVar10 = (FILE *)*puVar11;\n        if (pFVar10 == (FILE *)0x0) {\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          local_64 = 0.0;\n        }\n        else {\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }\n      }" (case "case") (number_literal "0xc") (: ":") (expression_statement "puVar11 = (undefined4 *)FUN_000939df();" (assignment_expression "puVar11 = (undefined4 *)FUN_000939df()" (identifier "puVar11") (= "=") (cast_expression "(undefined4 *)FUN_000939df()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_000939df()" (identifier "FUN_000939df") (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (puVar11 == (undefined4 *)0x0) {\n        local_64 = 0.0;\n      }\n      else {\n        pFVar10 = (FILE *)*puVar11;\n        if (pFVar10 == (FILE *)0x0) {\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          local_64 = 0.0;\n        }\n        else {\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(puVar11 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar11 == (undefined4 *)0x0" (identifier "puVar11") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        local_64 = 0.0;\n      }" ({ "{") (expression_statement "local_64 = 0.0;" (assignment_expression "local_64 = 0.0" (identifier "local_64") (= "=") (number_literal "0.0")) (; ";")) (} "}")) (else_clause "else {\n        pFVar10 = (FILE *)*puVar11;\n        if (pFVar10 == (FILE *)0x0) {\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          local_64 = 0.0;\n        }\n        else {\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }\n      }" (else "else") (compound_statement "{\n        pFVar10 = (FILE *)*puVar11;\n        if (pFVar10 == (FILE *)0x0) {\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          local_64 = 0.0;\n        }\n        else {\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }\n      }" ({ "{") (expression_statement "pFVar10 = (FILE *)*puVar11;" (assignment_expression "pFVar10 = (FILE *)*puVar11" (identifier "pFVar10") (= "=") (cast_expression "(FILE *)*puVar11" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar11" (* "*") (identifier "puVar11")))) (; ";")) (if_statement "if (pFVar10 == (FILE *)0x0) {\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          local_64 = 0.0;\n        }\n        else {\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }" (if "if") (parenthesized_expression "(pFVar10 == (FILE *)0x0)" (( "(") (binary_expression "pFVar10 == (FILE *)0x0" (identifier "pFVar10") (== "==") (cast_expression "(FILE *)0x0" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          local_64 = 0.0;\n        }" ({ "{") (expression_statement "free((void *)puVar11[1]);" (call_expression "free((void *)puVar11[1])" (identifier "free") (argument_list "((void *)puVar11[1])" (( "(") (cast_expression "(void *)puVar11[1]" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar11[1]" (identifier "puVar11") ([ "[") (number_literal "1") (] "]"))) () ")"))) (; ";")) (expression_statement "FUN_0009269c();" (call_expression "FUN_0009269c()" (identifier "FUN_0009269c") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_64 = 0.0;" (assignment_expression "local_64 = 0.0" (identifier "local_64") (= "=") (number_literal "0.0")) (; ";")) (} "}")) (else_clause "else {\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }" (else "else") (compound_statement "{\n          if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }\n          free((void *)puVar11[1]);\n          FUN_0009269c();\n          if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }\n        }" ({ "{") (if_statement "if (*(char *)(puVar11 + 5) == '\0') {\n            iVar7 = fclose(pFVar10);\n          }\n          else {\n            iVar7 = pclose(pFVar10);\n          }" (if "if") (parenthesized_expression "(*(char *)(puVar11 + 5) == '\0')" (( "(") (binary_expression "*(char *)(puVar11 + 5) == '\0'" (pointer_expression "*(char *)(puVar11 + 5)" (* "*") (cast_expression "(char *)(puVar11 + 5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 5)" (( "(") (binary_expression "puVar11 + 5" (identifier "puVar11") (+ "+") (number_literal "5")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            iVar7 = fclose(pFVar10);\n          }" ({ "{") (expression_statement "iVar7 = fclose(pFVar10);" (assignment_expression "iVar7 = fclose(pFVar10)" (identifier "iVar7") (= "=") (call_expression "fclose(pFVar10)" (identifier "fclose") (argument_list "(pFVar10)" (( "(") (identifier "pFVar10") () ")")))) (; ";")) (} "}")) (else_clause "else {\n            iVar7 = pclose(pFVar10);\n          }" (else "else") (compound_statement "{\n            iVar7 = pclose(pFVar10);\n          }" ({ "{") (expression_statement "iVar7 = pclose(pFVar10);" (assignment_expression "iVar7 = pclose(pFVar10)" (identifier "iVar7") (= "=") (call_expression "pclose(pFVar10)" (identifier "pclose") (argument_list "(pFVar10)" (( "(") (identifier "pFVar10") () ")")))) (; ";")) (} "}")))) (expression_statement "free((void *)puVar11[1]);" (call_expression "free((void *)puVar11[1])" (identifier "free") (argument_list "((void *)puVar11[1])" (( "(") (cast_expression "(void *)puVar11[1]" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar11[1]" (identifier "puVar11") ([ "[") (number_literal "1") (] "]"))) () ")"))) (; ";")) (expression_statement "FUN_0009269c();" (call_expression "FUN_0009269c()" (identifier "FUN_0009269c") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (iVar7 == 0) {\n            local_64 = 0.0;\n          }\n          else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            local_64 = 0.0;\n          }" ({ "{") (expression_statement "local_64 = 0.0;" (assignment_expression "local_64 = 0.0" (identifier "local_64") (= "=") (number_literal "0.0")) (; ";")) (} "}")) (else_clause "else {\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }" (else "else") (compound_statement "{\n            iVar20 = *piVar5;\n            puVar18 = *(uint **)(iVar6 + 0x44);\n            FUN_0009227b();\n            *puVar18 = *puVar18 | 1;\n            *(double *)(puVar18 + 1) = (double)iVar20;\n            FUN_00092d5e();\n            local_64 = (double)iVar7;\n          }" ({ "{") (expression_statement "iVar20 = *piVar5;" (assignment_expression "iVar20 = *piVar5" (identifier "iVar20") (= "=") (pointer_expression "*piVar5" (* "*") (identifier "piVar5"))) (; ";")) (expression_statement "puVar18 = *(uint **)(iVar6 + 0x44);" (assignment_expression "puVar18 = *(uint **)(iVar6 + 0x44)" (identifier "puVar18") (= "=") (pointer_expression "*(uint **)(iVar6 + 0x44)" (* "*") (cast_expression "(uint **)(iVar6 + 0x44)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x44)" (( "(") (binary_expression "iVar6 + 0x44" (identifier "iVar6") (+ "+") (number_literal "0x44")) () ")"))))) (; ";")) (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" (identifier "FUN_0009227b") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*puVar18 = *puVar18 | 1;" (assignment_expression "*puVar18 = *puVar18 | 1" (pointer_expression "*puVar18" (* "*") (identifier "puVar18")) (= "=") (binary_expression "*puVar18 | 1" (pointer_expression "*puVar18" (* "*") (identifier "puVar18")) (| "|") (number_literal "1"))) (; ";")) (expression_statement "*(double *)(puVar18 + 1) = (double)iVar20;" (assignment_expression "*(double *)(puVar18 + 1) = (double)iVar20" (pointer_expression "*(double *)(puVar18 + 1)" (* "*") (cast_expression "(double *)(puVar18 + 1)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 1)" (( "(") (binary_expression "puVar18 + 1" (identifier "puVar18") (+ "+") (number_literal "1")) () ")")))) (= "=") (cast_expression "(double)iVar20" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "iVar20"))) (; ";")) (expression_statement "FUN_00092d5e();" (call_expression "FUN_00092d5e()" (identifier "FUN_00092d5e") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_64 = (double)iVar7;" (assignment_expression "local_64 = (double)iVar7" (identifier "local_64") (= "=") (cast_expression "(double)iVar7" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "iVar7"))) (; ";")) (} "}")))) (} "}")))) (} "}"))))) (} "}"))) (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" (identifier "FUN_0009227b") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*local_78 = *local_78 | 1;" (assignment_expression "*local_78 = *local_78 | 1" (pointer_expression "*local_78" (* "*") (identifier "local_78")) (= "=") (binary_expression "*local_78 | 1" (pointer_expression "*local_78" (* "*") (identifier "local_78")) (| "|") (number_literal "1"))) (; ";")) (expression_statement "*(double *)(local_78 + 1) = local_64;" (assignment_expression "*(double *)(local_78 + 1) = local_64" (pointer_expression "*(double *)(local_78 + 1)" (* "*") (cast_expression "(double *)(local_78 + 1)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_78 + 1)" (( "(") (binary_expression "local_78 + 1" (identifier "local_78") (+ "+") (number_literal "1")) () ")")))) (= "=") (identifier "local_64")) (; ";")) (expression_statement "FUN_00092d5e();" (call_expression "FUN_00092d5e()" (identifier "FUN_00092d5e") (argument_list "()" (( "(") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x17:\n    lVar23 = (longdouble)FUN_000925a2();\n    iVar7 = (int)ROUND(lVar23);\n    if (iVar7 < 0) {\n      pcVar15 = "Access to negative field";\n      goto LAB_00094f35;\n    }\n    if (iVar7 == 0) {\n      local_78 = *(uint **)(iVar6 + 0x34);\n    }\n    else {\n      FUN_00092cc4();\n      if (*(int *)(iVar6 + -0x20) < iVar7) {\n        FUN_000922c0();\n      }\n      local_78 = (uint *)(*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14);\n    }\n    break;" (case "case") (number_literal "0x17") (: ":") (expression_statement "lVar23 = (longdouble)FUN_000925a2();" (assignment_expression "lVar23 = (longdouble)FUN_000925a2()" (identifier "lVar23") (= "=") (cast_expression "(longdouble)FUN_000925a2()" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (call_expression "FUN_000925a2()" (identifier "FUN_000925a2") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "iVar7 = (int)ROUND(lVar23);" (assignment_expression "iVar7 = (int)ROUND(lVar23)" (identifier "iVar7") (= "=") (cast_expression "(int)ROUND(lVar23)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "ROUND(lVar23)" (identifier "ROUND") (argument_list "(lVar23)" (( "(") (identifier "lVar23") () ")"))))) (; ";")) (if_statement "if (iVar7 < 0) {\n      pcVar15 = "Access to negative field";\n      goto LAB_00094f35;\n    }" (if "if") (parenthesized_expression "(iVar7 < 0)" (( "(") (binary_expression "iVar7 < 0" (identifier "iVar7") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      pcVar15 = "Access to negative field";\n      goto LAB_00094f35;\n    }" ({ "{") (expression_statement "pcVar15 = "Access to negative field";" (assignment_expression "pcVar15 = "Access to negative field"" (identifier "pcVar15") (= "=") (string_literal ""Access to negative field"" (" """) (string_content "Access to negative field") (" """))) (; ";")) (goto_statement "goto LAB_00094f35;" (goto "goto") (statement_identifier "LAB_00094f35") (; ";")) (} "}"))) (if_statement "if (iVar7 == 0) {\n      local_78 = *(uint **)(iVar6 + 0x34);\n    }\n    else {\n      FUN_00092cc4();\n      if (*(int *)(iVar6 + -0x20) < iVar7) {\n        FUN_000922c0();\n      }\n      local_78 = (uint *)(*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14);\n    }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      local_78 = *(uint **)(iVar6 + 0x34);\n    }" ({ "{") (expression_statement "local_78 = *(uint **)(iVar6 + 0x34);" (assignment_expression "local_78 = *(uint **)(iVar6 + 0x34)" (identifier "local_78") (= "=") (pointer_expression "*(uint **)(iVar6 + 0x34)" (* "*") (cast_expression "(uint **)(iVar6 + 0x34)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x34)" (( "(") (binary_expression "iVar6 + 0x34" (identifier "iVar6") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n      FUN_00092cc4();\n      if (*(int *)(iVar6 + -0x20) < iVar7) {\n        FUN_000922c0();\n      }\n      local_78 = (uint *)(*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14);\n    }" (else "else") (compound_statement "{\n      FUN_00092cc4();\n      if (*(int *)(iVar6 + -0x20) < iVar7) {\n        FUN_000922c0();\n      }\n      local_78 = (uint *)(*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14);\n    }" ({ "{") (expression_statement "FUN_00092cc4();" (call_expression "FUN_00092cc4()" (identifier "FUN_00092cc4") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (*(int *)(iVar6 + -0x20) < iVar7) {\n        FUN_000922c0();\n      }" (if "if") (parenthesized_expression "(*(int *)(iVar6 + -0x20) < iVar7)" (( "(") (binary_expression "*(int *)(iVar6 + -0x20) < iVar7" (pointer_expression "*(int *)(iVar6 + -0x20)" (* "*") (cast_expression "(int *)(iVar6 + -0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + -0x20)" (( "(") (binary_expression "iVar6 + -0x20" (identifier "iVar6") (+ "+") (number_literal "-0x20")) () ")")))) (< "<") (identifier "iVar7")) () ")")) (compound_statement "{\n        FUN_000922c0();\n      }" ({ "{") (expression_statement "FUN_000922c0();" (call_expression "FUN_000922c0()" (identifier "FUN_000922c0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_78 = (uint *)(*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14);" (assignment_expression "local_78 = (uint *)(*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14)" (identifier "local_78") (= "=") (cast_expression "(uint *)(*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14)" (( "(") (binary_expression "*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14" (binary_expression "*(int *)(iVar6 + -0x18) + -0x14" (pointer_expression "*(int *)(iVar6 + -0x18)" (* "*") (cast_expression "(int *)(iVar6 + -0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + -0x18)" (( "(") (binary_expression "iVar6 + -0x18" (identifier "iVar6") (+ "+") (number_literal "-0x18")) () ")")))) (+ "+") (number_literal "-0x14")) (+ "+") (binary_expression "iVar7 * 0x14" (identifier "iVar7") (* "*") (number_literal "0x14"))) () ")")))) (; ";")) (} "}")))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x18:\n    local_78 = (uint *)(*(int *)(iVar6 + 0x88) + local_80[2] * 0x14);\n    goto LAB_00094b15;" (case "case") (number_literal "0x18") (: ":") (expression_statement "local_78 = (uint *)(*(int *)(iVar6 + 0x88) + local_80[2] * 0x14);" (assignment_expression "local_78 = (uint *)(*(int *)(iVar6 + 0x88) + local_80[2] * 0x14)" (identifier "local_78") (= "=") (cast_expression "(uint *)(*(int *)(iVar6 + 0x88) + local_80[2] * 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar6 + 0x88) + local_80[2] * 0x14)" (( "(") (binary_expression "*(int *)(iVar6 + 0x88) + local_80[2] * 0x14" (pointer_expression "*(int *)(iVar6 + 0x88)" (* "*") (cast_expression "(int *)(iVar6 + 0x88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x88)" (( "(") (binary_expression "iVar6 + 0x88" (identifier "iVar6") (+ "+") (number_literal "0x88")) () ")")))) (+ "+") (binary_expression "local_80[2] * 0x14" (subscript_expression "local_80[2]" (identifier "local_80") ([ "[") (number_literal "2") (] "]")) (* "*") (number_literal "0x14"))) () ")")))) (; ";")) (goto_statement "goto LAB_00094b15;" (goto "goto") (statement_identifier "LAB_00094b15") (; ";"))) (case_statement "case 0x19:\n    if ((*(int *)local_80[3] == 0) && (((int *)local_80[3])[1] == 0)) {\n      pcVar15 = "Call to undefined function";\n      goto LAB_00094f35;\n    }\n    puVar12 = (uint *)FUN_00092151();\n    puVar22 = puVar12;\n    if (puVar18 != (uint *)0x0) {\n      while ((*puVar18 & 0xff00) == 0x1300) {\n        puVar18 = (uint *)puVar18[3];\n        uVar8 = FUN_00094969();\n        FUN_00093453();\n        *puVar22 = *puVar22 | 0x2000;\n        puVar22[4] = uVar8;\n        if ((*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))\n           || (puVar22 = puVar22 + 5, puVar18 == (uint *)0x0)) goto LAB_00094fd5;\n      }\n      uVar8 = FUN_00094969();\n      FUN_00093453();\n      *puVar22 = *puVar22 | 0x2000;\n      puVar22[4] = uVar8;\n    }\nLAB_00094fd5:\n    uVar2 = *(undefined4 *)(iVar6 + 0x88);\n    *(uint **)(iVar6 + 0x88) = puVar12;\n    uVar3 = *(undefined4 *)(iVar6 + -0x28);\n    local_78 = (uint *)FUN_00094969();\n    *(undefined4 *)(iVar6 + -0x28) = uVar3;\n    FUN_000938f0();\n    *(undefined4 *)(iVar6 + 0x88) = uVar2;\n    break;" (case "case") (number_literal "0x19") (: ":") (if_statement "if ((*(int *)local_80[3] == 0) && (((int *)local_80[3])[1] == 0)) {\n      pcVar15 = "Call to undefined function";\n      goto LAB_00094f35;\n    }" (if "if") (parenthesized_expression "((*(int *)local_80[3] == 0) && (((int *)local_80[3])[1] == 0))" (( "(") (binary_expression "(*(int *)local_80[3] == 0) && (((int *)local_80[3])[1] == 0)" (parenthesized_expression "(*(int *)local_80[3] == 0)" (( "(") (binary_expression "*(int *)local_80[3] == 0" (pointer_expression "*(int *)local_80[3]" (* "*") (cast_expression "(int *)local_80[3]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_80[3]" (identifier "local_80") ([ "[") (number_literal "3") (] "]")))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(((int *)local_80[3])[1] == 0)" (( "(") (binary_expression "((int *)local_80[3])[1] == 0" (subscript_expression "((int *)local_80[3])[1]" (parenthesized_expression "((int *)local_80[3])" (( "(") (cast_expression "(int *)local_80[3]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_80[3]" (identifier "local_80") ([ "[") (number_literal "3") (] "]"))) () ")")) ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      pcVar15 = "Call to undefined function";\n      goto LAB_00094f35;\n    }" ({ "{") (expression_statement "pcVar15 = "Call to undefined function";" (assignment_expression "pcVar15 = "Call to undefined function"" (identifier "pcVar15") (= "=") (string_literal ""Call to undefined function"" (" """) (string_content "Call to undefined function") (" """))) (; ";")) (goto_statement "goto LAB_00094f35;" (goto "goto") (statement_identifier "LAB_00094f35") (; ";")) (} "}"))) (expression_statement "puVar12 = (uint *)FUN_00092151();" (assignment_expression "puVar12 = (uint *)FUN_00092151()" (identifier "puVar12") (= "=") (cast_expression "(uint *)FUN_00092151()" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00092151()" (identifier "FUN_00092151") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "puVar22 = puVar12;" (assignment_expression "puVar22 = puVar12" (identifier "puVar22") (= "=") (identifier "puVar12")) (; ";")) (if_statement "if (puVar18 != (uint *)0x0) {\n      while ((*puVar18 & 0xff00) == 0x1300) {\n        puVar18 = (uint *)puVar18[3];\n        uVar8 = FUN_00094969();\n        FUN_00093453();\n        *puVar22 = *puVar22 | 0x2000;\n        puVar22[4] = uVar8;\n        if ((*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))\n           || (puVar22 = puVar22 + 5, puVar18 == (uint *)0x0)) goto LAB_00094fd5;\n      }\n      uVar8 = FUN_00094969();\n      FUN_00093453();\n      *puVar22 = *puVar22 | 0x2000;\n      puVar22[4] = uVar8;\n    }" (if "if") (parenthesized_expression "(puVar18 != (uint *)0x0)" (( "(") (binary_expression "puVar18 != (uint *)0x0" (identifier "puVar18") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      while ((*puVar18 & 0xff00) == 0x1300) {\n        puVar18 = (uint *)puVar18[3];\n        uVar8 = FUN_00094969();\n        FUN_00093453();\n        *puVar22 = *puVar22 | 0x2000;\n        puVar22[4] = uVar8;\n        if ((*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))\n           || (puVar22 = puVar22 + 5, puVar18 == (uint *)0x0)) goto LAB_00094fd5;\n      }\n      uVar8 = FUN_00094969();\n      FUN_00093453();\n      *puVar22 = *puVar22 | 0x2000;\n      puVar22[4] = uVar8;\n    }" ({ "{") (while_statement "while ((*puVar18 & 0xff00) == 0x1300) {\n        puVar18 = (uint *)puVar18[3];\n        uVar8 = FUN_00094969();\n        FUN_00093453();\n        *puVar22 = *puVar22 | 0x2000;\n        puVar22[4] = uVar8;\n        if ((*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))\n           || (puVar22 = puVar22 + 5, puVar18 == (uint *)0x0)) goto LAB_00094fd5;\n      }" (while "while") (parenthesized_expression "((*puVar18 & 0xff00) == 0x1300)" (( "(") (binary_expression "(*puVar18 & 0xff00) == 0x1300" (parenthesized_expression "(*puVar18 & 0xff00)" (( "(") (binary_expression "*puVar18 & 0xff00" (pointer_expression "*puVar18" (* "*") (identifier "puVar18")) (& "&") (number_literal "0xff00")) () ")")) (== "==") (number_literal "0x1300")) () ")")) (compound_statement "{\n        puVar18 = (uint *)puVar18[3];\n        uVar8 = FUN_00094969();\n        FUN_00093453();\n        *puVar22 = *puVar22 | 0x2000;\n        puVar22[4] = uVar8;\n        if ((*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))\n           || (puVar22 = puVar22 + 5, puVar18 == (uint *)0x0)) goto LAB_00094fd5;\n      }" ({ "{") (expression_statement "puVar18 = (uint *)puVar18[3];" (assignment_expression "puVar18 = (uint *)puVar18[3]" (identifier "puVar18") (= "=") (cast_expression "(uint *)puVar18[3]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar18[3]" (identifier "puVar18") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "uVar8 = FUN_00094969();" (assignment_expression "uVar8 = FUN_00094969()" (identifier "uVar8") (= "=") (call_expression "FUN_00094969()" (identifier "FUN_00094969") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "FUN_00093453();" (call_expression "FUN_00093453()" (identifier "FUN_00093453") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*puVar22 = *puVar22 | 0x2000;" (assignment_expression "*puVar22 = *puVar22 | 0x2000" (pointer_expression "*puVar22" (* "*") (identifier "puVar22")) (= "=") (binary_expression "*puVar22 | 0x2000" (pointer_expression "*puVar22" (* "*") (identifier "puVar22")) (| "|") (number_literal "0x2000"))) (; ";")) (expression_statement "puVar22[4] = uVar8;" (assignment_expression "puVar22[4] = uVar8" (subscript_expression "puVar22[4]" (identifier "puVar22") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "uVar8")) (; ";")) (if_statement "if ((*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))\n           || (puVar22 = puVar22 + 5, puVar18 == (uint *)0x0)) goto LAB_00094fd5;" (if "if") (parenthesized_expression "((*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))\n           || (puVar22 = puVar22 + 5, puVar18 == (uint *)0x0))" (( "(") (binary_expression "(*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))\n           || (puVar22 = puVar22 + 5, puVar18 == (uint *)0x0)" (parenthesized_expression "(*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))" (( "(") (binary_expression "*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333)" (pointer_expression "*(uint *)local_80[3]" (* "*") (cast_expression "(uint *)local_80[3]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_80[3]" (identifier "local_80") ([ "[") (number_literal "3") (] "]")))) (<= "<=") (call_expression "(uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333)" (( "(") (binary_expression "((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333" (parenthesized_expression "((int)(puVar22 + 5) - (int)puVar12 >> 2)" (( "(") (binary_expression "(int)(puVar22 + 5) - (int)puVar12 >> 2" (binary_expression "(int)(puVar22 + 5) - (int)puVar12" (cast_expression "(int)(puVar22 + 5)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(puVar22 + 5)" (( "(") (binary_expression "puVar22 + 5" (identifier "puVar22") (+ "+") (number_literal "5")) () ")"))) (- "-") (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12"))) (>> ">>") (number_literal "2")) () ")")) (* "*") (number_literal "-0x33333333")) () ")")))) () ")")) (|| "||") (parenthesized_expression "(puVar22 = puVar22 + 5, puVar18 == (uint *)0x0)" (( "(") (comma_expression "puVar22 = puVar22 + 5, puVar18 == (uint *)0x0" (assignment_expression "puVar22 = puVar22 + 5" (identifier "puVar22") (= "=") (binary_expression "puVar22 + 5" (identifier "puVar22") (+ "+") (number_literal "5"))) (, ",") (binary_expression "puVar18 == (uint *)0x0" (identifier "puVar18") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (goto_statement "goto LAB_00094fd5;" (goto "goto") (statement_identifier "LAB_00094fd5") (; ";"))) (} "}"))) (expression_statement "uVar8 = FUN_00094969();" (assignment_expression "uVar8 = FUN_00094969()" (identifier "uVar8") (= "=") (call_expression "FUN_00094969()" (identifier "FUN_00094969") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "FUN_00093453();" (call_expression "FUN_00093453()" (identifier "FUN_00093453") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*puVar22 = *puVar22 | 0x2000;" (assignment_expression "*puVar22 = *puVar22 | 0x2000" (pointer_expression "*puVar22" (* "*") (identifier "puVar22")) (= "=") (binary_expression "*puVar22 | 0x2000" (pointer_expression "*puVar22" (* "*") (identifier "puVar22")) (| "|") (number_literal "0x2000"))) (; ";")) (expression_statement "puVar22[4] = uVar8;" (assignment_expression "puVar22[4] = uVar8" (subscript_expression "puVar22[4]" (identifier "puVar22") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "uVar8")) (; ";")) (} "}"))) (labeled_statement "LAB_00094fd5:\n    uVar2 = *(undefined4 *)(iVar6 + 0x88);" (statement_identifier "LAB_00094fd5") (: ":") (expression_statement "uVar2 = *(undefined4 *)(iVar6 + 0x88);" (assignment_expression "uVar2 = *(undefined4 *)(iVar6 + 0x88)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(iVar6 + 0x88)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 0x88)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x88)" (( "(") (binary_expression "iVar6 + 0x88" (identifier "iVar6") (+ "+") (number_literal "0x88")) () ")"))))) (; ";"))) (expression_statement "*(uint **)(iVar6 + 0x88) = puVar12;" (assignment_expression "*(uint **)(iVar6 + 0x88) = puVar12" (pointer_expression "*(uint **)(iVar6 + 0x88)" (* "*") (cast_expression "(uint **)(iVar6 + 0x88)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x88)" (( "(") (binary_expression "iVar6 + 0x88" (identifier "iVar6") (+ "+") (number_literal "0x88")) () ")")))) (= "=") (identifier "puVar12")) (; ";")) (expression_statement "uVar3 = *(undefined4 *)(iVar6 + -0x28);" (assignment_expression "uVar3 = *(undefined4 *)(iVar6 + -0x28)" (identifier "uVar3") (= "=") (pointer_expression "*(undefined4 *)(iVar6 + -0x28)" (* "*") (cast_expression "(undefined4 *)(iVar6 + -0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + -0x28)" (( "(") (binary_expression "iVar6 + -0x28" (identifier "iVar6") (+ "+") (number_literal "-0x28")) () ")"))))) (; ";")) (expression_statement "local_78 = (uint *)FUN_00094969();" (assignment_expression "local_78 = (uint *)FUN_00094969()" (identifier "local_78") (= "=") (cast_expression "(uint *)FUN_00094969()" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00094969()" (identifier "FUN_00094969") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(iVar6 + -0x28) = uVar3;" (assignment_expression "*(undefined4 *)(iVar6 + -0x28) = uVar3" (pointer_expression "*(undefined4 *)(iVar6 + -0x28)" (* "*") (cast_expression "(undefined4 *)(iVar6 + -0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + -0x28)" (( "(") (binary_expression "iVar6 + -0x28" (identifier "iVar6") (+ "+") (number_literal "-0x28")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "FUN_000938f0();" (call_expression "FUN_000938f0()" (identifier "FUN_000938f0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(iVar6 + 0x88) = uVar2;" (assignment_expression "*(undefined4 *)(iVar6 + 0x88) = uVar2" (pointer_expression "*(undefined4 *)(iVar6 + 0x88)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 0x88)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x88)" (( "(") (binary_expression "iVar6 + 0x88" (identifier "iVar6") (+ "+") (number_literal "0x88")) () ")")))) (= "=") (identifier "uVar2")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x1a:" (case "case") (number_literal "0x1a") (: ":")) (case_statement "case 0x20:\n    if (puVar18 == (uint *)0x0) {\n      puVar11 = *(undefined4 **)(iVar6 + -0x3c);\n      if (puVar11 != (undefined4 *)0x0) {\nLAB_00094e49:\n        pFVar10 = (FILE *)*puVar11;\n        goto LAB_00094e4b;\n      }\n      puVar11 = (undefined4 *)FUN_00093cca();\n      *(undefined4 **)(iVar6 + -0x3c) = puVar11;\n      if (puVar11 != (undefined4 *)0x0) goto LAB_00094e49;\nLAB_00094e4f:\n      iVar7 = *DAT_000d16fc;\n      puVar18 = *(uint **)(iVar6 + 0x44);\n      FUN_0009227b();\n      *puVar18 = *puVar18 | 1;\n      *(double *)(puVar18 + 1) = (double)iVar7;\n      FUN_00092d5e();\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      local_78[1] = 0;\n      local_78[2] = 0xbff00000;\n      FUN_00092d5e();\n    }\n    else {\n      piVar9 = (int *)FUN_00093a51();\n      if (*piVar9 == 0) {\n        if ((local_7c & 0xff00) == 0x2000) {\n          pFVar10 = popen(local_68,"r");\n          *piVar9 = (int)pFVar10;\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_0001923e();\n          *piVar9 = (int)pFVar10;\n        }\nLAB_00094e4b:\n        if (pFVar10 == (FILE *)0x0) goto LAB_00094e4f;\n      }\n      if (local_80[3] == 0) {\n        local_5c = *(uint **)(iVar6 + 0x34);\n      }\n      iVar7 = FUN_0009307e();\n      if ((0 < iVar7) && (puVar18 == (uint *)0x0)) {\n        FUN_0009304a();\n        FUN_0009304a();\n      }\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      *(double *)(local_78 + 1) = (double)iVar7;\n      FUN_00092d5e();\n    }\n    break;" (case "case") (number_literal "0x20") (: ":") (if_statement "if (puVar18 == (uint *)0x0) {\n      puVar11 = *(undefined4 **)(iVar6 + -0x3c);\n      if (puVar11 != (undefined4 *)0x0) {\nLAB_00094e49:\n        pFVar10 = (FILE *)*puVar11;\n        goto LAB_00094e4b;\n      }\n      puVar11 = (undefined4 *)FUN_00093cca();\n      *(undefined4 **)(iVar6 + -0x3c) = puVar11;\n      if (puVar11 != (undefined4 *)0x0) goto LAB_00094e49;\nLAB_00094e4f:\n      iVar7 = *DAT_000d16fc;\n      puVar18 = *(uint **)(iVar6 + 0x44);\n      FUN_0009227b();\n      *puVar18 = *puVar18 | 1;\n      *(double *)(puVar18 + 1) = (double)iVar7;\n      FUN_00092d5e();\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      local_78[1] = 0;\n      local_78[2] = 0xbff00000;\n      FUN_00092d5e();\n    }\n    else {\n      piVar9 = (int *)FUN_00093a51();\n      if (*piVar9 == 0) {\n        if ((local_7c & 0xff00) == 0x2000) {\n          pFVar10 = popen(local_68,"r");\n          *piVar9 = (int)pFVar10;\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_0001923e();\n          *piVar9 = (int)pFVar10;\n        }\nLAB_00094e4b:\n        if (pFVar10 == (FILE *)0x0) goto LAB_00094e4f;\n      }\n      if (local_80[3] == 0) {\n        local_5c = *(uint **)(iVar6 + 0x34);\n      }\n      iVar7 = FUN_0009307e();\n      if ((0 < iVar7) && (puVar18 == (uint *)0x0)) {\n        FUN_0009304a();\n        FUN_0009304a();\n      }\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      *(double *)(local_78 + 1) = (double)iVar7;\n      FUN_00092d5e();\n    }" (if "if") (parenthesized_expression "(puVar18 == (uint *)0x0)" (( "(") (binary_expression "puVar18 == (uint *)0x0" (identifier "puVar18") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      puVar11 = *(undefined4 **)(iVar6 + -0x3c);\n      if (puVar11 != (undefined4 *)0x0) {\nLAB_00094e49:\n        pFVar10 = (FILE *)*puVar11;\n        goto LAB_00094e4b;\n      }\n      puVar11 = (undefined4 *)FUN_00093cca();\n      *(undefined4 **)(iVar6 + -0x3c) = puVar11;\n      if (puVar11 != (undefined4 *)0x0) goto LAB_00094e49;\nLAB_00094e4f:\n      iVar7 = *DAT_000d16fc;\n      puVar18 = *(uint **)(iVar6 + 0x44);\n      FUN_0009227b();\n      *puVar18 = *puVar18 | 1;\n      *(double *)(puVar18 + 1) = (double)iVar7;\n      FUN_00092d5e();\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      local_78[1] = 0;\n      local_78[2] = 0xbff00000;\n      FUN_00092d5e();\n    }" ({ "{") (expression_statement "puVar11 = *(undefined4 **)(iVar6 + -0x3c);" (assignment_expression "puVar11 = *(undefined4 **)(iVar6 + -0x3c)" (identifier "puVar11") (= "=") (pointer_expression "*(undefined4 **)(iVar6 + -0x3c)" (* "*") (cast_expression "(undefined4 **)(iVar6 + -0x3c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + -0x3c)" (( "(") (binary_expression "iVar6 + -0x3c" (identifier "iVar6") (+ "+") (number_literal "-0x3c")) () ")"))))) (; ";")) (if_statement "if (puVar11 != (undefined4 *)0x0) {\nLAB_00094e49:\n        pFVar10 = (FILE *)*puVar11;\n        goto LAB_00094e4b;\n      }" (if "if") (parenthesized_expression "(puVar11 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar11 != (undefined4 *)0x0" (identifier "puVar11") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_00094e49:\n        pFVar10 = (FILE *)*puVar11;\n        goto LAB_00094e4b;\n      }" ({ "{") (labeled_statement "LAB_00094e49:\n        pFVar10 = (FILE *)*puVar11;" (statement_identifier "LAB_00094e49") (: ":") (expression_statement "pFVar10 = (FILE *)*puVar11;" (assignment_expression "pFVar10 = (FILE *)*puVar11" (identifier "pFVar10") (= "=") (cast_expression "(FILE *)*puVar11" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar11" (* "*") (identifier "puVar11")))) (; ";"))) (goto_statement "goto LAB_00094e4b;" (goto "goto") (statement_identifier "LAB_00094e4b") (; ";")) (} "}"))) (expression_statement "puVar11 = (undefined4 *)FUN_00093cca();" (assignment_expression "puVar11 = (undefined4 *)FUN_00093cca()" (identifier "puVar11") (= "=") (cast_expression "(undefined4 *)FUN_00093cca()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00093cca()" (identifier "FUN_00093cca") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "*(undefined4 **)(iVar6 + -0x3c) = puVar11;" (assignment_expression "*(undefined4 **)(iVar6 + -0x3c) = puVar11" (pointer_expression "*(undefined4 **)(iVar6 + -0x3c)" (* "*") (cast_expression "(undefined4 **)(iVar6 + -0x3c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + -0x3c)" (( "(") (binary_expression "iVar6 + -0x3c" (identifier "iVar6") (+ "+") (number_literal "-0x3c")) () ")")))) (= "=") (identifier "puVar11")) (; ";")) (if_statement "if (puVar11 != (undefined4 *)0x0) goto LAB_00094e49;" (if "if") (parenthesized_expression "(puVar11 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar11 != (undefined4 *)0x0" (identifier "puVar11") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00094e49;" (goto "goto") (statement_identifier "LAB_00094e49") (; ";"))) (labeled_statement "LAB_00094e4f:\n      iVar7 = *DAT_000d16fc;" (statement_identifier "LAB_00094e4f") (: ":") (expression_statement "iVar7 = *DAT_000d16fc;" (assignment_expression "iVar7 = *DAT_000d16fc" (identifier "iVar7") (= "=") (pointer_expression "*DAT_000d16fc" (* "*") (identifier "DAT_000d16fc"))) (; ";"))) (expression_statement "puVar18 = *(uint **)(iVar6 + 0x44);" (assignment_expression "puVar18 = *(uint **)(iVar6 + 0x44)" (identifier "puVar18") (= "=") (pointer_expression "*(uint **)(iVar6 + 0x44)" (* "*") (cast_expression "(uint **)(iVar6 + 0x44)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x44)" (( "(") (binary_expression "iVar6 + 0x44" (identifier "iVar6") (+ "+") (number_literal "0x44")) () ")"))))) (; ";")) (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" (identifier "FUN_0009227b") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*puVar18 = *puVar18 | 1;" (assignment_expression "*puVar18 = *puVar18 | 1" (pointer_expression "*puVar18" (* "*") (identifier "puVar18")) (= "=") (binary_expression "*puVar18 | 1" (pointer_expression "*puVar18" (* "*") (identifier "puVar18")) (| "|") (number_literal "1"))) (; ";")) (expression_statement "*(double *)(puVar18 + 1) = (double)iVar7;" (assignment_expression "*(double *)(puVar18 + 1) = (double)iVar7" (pointer_expression "*(double *)(puVar18 + 1)" (* "*") (cast_expression "(double *)(puVar18 + 1)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 1)" (( "(") (binary_expression "puVar18 + 1" (identifier "puVar18") (+ "+") (number_literal "1")) () ")")))) (= "=") (cast_expression "(double)iVar7" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "iVar7"))) (; ";")) (expression_statement "FUN_00092d5e();" (call_expression "FUN_00092d5e()" (identifier "FUN_00092d5e") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" (identifier "FUN_0009227b") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*local_78 = *local_78 | 1;" (assignment_expression "*local_78 = *local_78 | 1" (pointer_expression "*local_78" (* "*") (identifier "local_78")) (= "=") (binary_expression "*local_78 | 1" (pointer_expression "*local_78" (* "*") (identifier "local_78")) (| "|") (number_literal "1"))) (; ";")) (expression_statement "local_78[1] = 0;" (assignment_expression "local_78[1] = 0" (subscript_expression "local_78[1]" (identifier "local_78") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_78[2] = 0xbff00000;" (assignment_expression "local_78[2] = 0xbff00000" (subscript_expression "local_78[2]" (identifier "local_78") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0xbff00000")) (; ";")) (expression_statement "FUN_00092d5e();" (call_expression "FUN_00092d5e()" (identifier "FUN_00092d5e") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n      piVar9 = (int *)FUN_00093a51();\n      if (*piVar9 == 0) {\n        if ((local_7c & 0xff00) == 0x2000) {\n          pFVar10 = popen(local_68,"r");\n          *piVar9 = (int)pFVar10;\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_0001923e();\n          *piVar9 = (int)pFVar10;\n        }\nLAB_00094e4b:\n        if (pFVar10 == (FILE *)0x0) goto LAB_00094e4f;\n      }\n      if (local_80[3] == 0) {\n        local_5c = *(uint **)(iVar6 + 0x34);\n      }\n      iVar7 = FUN_0009307e();\n      if ((0 < iVar7) && (puVar18 == (uint *)0x0)) {\n        FUN_0009304a();\n        FUN_0009304a();\n      }\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      *(double *)(local_78 + 1) = (double)iVar7;\n      FUN_00092d5e();\n    }" (else "else") (compound_statement "{\n      piVar9 = (int *)FUN_00093a51();\n      if (*piVar9 == 0) {\n        if ((local_7c & 0xff00) == 0x2000) {\n          pFVar10 = popen(local_68,"r");\n          *piVar9 = (int)pFVar10;\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_0001923e();\n          *piVar9 = (int)pFVar10;\n        }\nLAB_00094e4b:\n        if (pFVar10 == (FILE *)0x0) goto LAB_00094e4f;\n      }\n      if (local_80[3] == 0) {\n        local_5c = *(uint **)(iVar6 + 0x34);\n      }\n      iVar7 = FUN_0009307e();\n      if ((0 < iVar7) && (puVar18 == (uint *)0x0)) {\n        FUN_0009304a();\n        FUN_0009304a();\n      }\n      FUN_0009227b();\n      *local_78 = *local_78 | 1;\n      *(double *)(local_78 + 1) = (double)iVar7;\n      FUN_00092d5e();\n    }" ({ "{") (expression_statement "piVar9 = (int *)FUN_00093a51();" (assignment_expression "piVar9 = (int *)FUN_00093a51()" (identifier "piVar9") (= "=") (cast_expression "(int *)FUN_00093a51()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00093a51()" (identifier "FUN_00093a51") (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (*piVar9 == 0) {\n        if ((local_7c & 0xff00) == 0x2000) {\n          pFVar10 = popen(local_68,"r");\n          *piVar9 = (int)pFVar10;\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_0001923e();\n          *piVar9 = (int)pFVar10;\n        }\nLAB_00094e4b:\n        if (pFVar10 == (FILE *)0x0) goto LAB_00094e4f;\n      }" (if "if") (parenthesized_expression "(*piVar9 == 0)" (( "(") (binary_expression "*piVar9 == 0" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if ((local_7c & 0xff00) == 0x2000) {\n          pFVar10 = popen(local_68,"r");\n          *piVar9 = (int)pFVar10;\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_0001923e();\n          *piVar9 = (int)pFVar10;\n        }\nLAB_00094e4b:\n        if (pFVar10 == (FILE *)0x0) goto LAB_00094e4f;\n      }" ({ "{") (if_statement "if ((local_7c & 0xff00) == 0x2000) {\n          pFVar10 = popen(local_68,"r");\n          *piVar9 = (int)pFVar10;\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }\n        else {\n          pFVar10 = (FILE *)FUN_0001923e();\n          *piVar9 = (int)pFVar10;\n        }" (if "if") (parenthesized_expression "((local_7c & 0xff00) == 0x2000)" (( "(") (binary_expression "(local_7c & 0xff00) == 0x2000" (parenthesized_expression "(local_7c & 0xff00)" (( "(") (binary_expression "local_7c & 0xff00" (identifier "local_7c") (& "&") (number_literal "0xff00")) () ")")) (== "==") (number_literal "0x2000")) () ")")) (compound_statement "{\n          pFVar10 = popen(local_68,"r");\n          *piVar9 = (int)pFVar10;\n          *(undefined1 *)(piVar9 + 5) = 1;\n        }" ({ "{") (expression_statement "pFVar10 = popen(local_68,"r");" (assignment_expression "pFVar10 = popen(local_68,"r")" (identifier "pFVar10") (= "=") (call_expression "popen(local_68,"r")" (identifier "popen") (argument_list "(local_68,"r")" (( "(") (identifier "local_68") (, ",") (string_literal ""r"" (" """) (string_content "r") (" """)) () ")")))) (; ";")) (expression_statement "*piVar9 = (int)pFVar10;" (assignment_expression "*piVar9 = (int)pFVar10" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (= "=") (cast_expression "(int)pFVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pFVar10"))) (; ";")) (expression_statement "*(undefined1 *)(piVar9 + 5) = 1;" (assignment_expression "*(undefined1 *)(piVar9 + 5) = 1" (pointer_expression "*(undefined1 *)(piVar9 + 5)" (* "*") (cast_expression "(undefined1 *)(piVar9 + 5)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar9 + 5)" (( "(") (binary_expression "piVar9 + 5" (identifier "piVar9") (+ "+") (number_literal "5")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n          pFVar10 = (FILE *)FUN_0001923e();\n          *piVar9 = (int)pFVar10;\n        }" (else "else") (compound_statement "{\n          pFVar10 = (FILE *)FUN_0001923e();\n          *piVar9 = (int)pFVar10;\n        }" ({ "{") (expression_statement "pFVar10 = (FILE *)FUN_0001923e();" (assignment_expression "pFVar10 = (FILE *)FUN_0001923e()" (identifier "pFVar10") (= "=") (cast_expression "(FILE *)FUN_0001923e()" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0001923e()" (identifier "FUN_0001923e") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "*piVar9 = (int)pFVar10;" (assignment_expression "*piVar9 = (int)pFVar10" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (= "=") (cast_expression "(int)pFVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pFVar10"))) (; ";")) (} "}")))) (labeled_statement "LAB_00094e4b:\n        if (pFVar10 == (FILE *)0x0) goto LAB_00094e4f;" (statement_identifier "LAB_00094e4b") (: ":") (if_statement "if (pFVar10 == (FILE *)0x0) goto LAB_00094e4f;" (if "if") (parenthesized_expression "(pFVar10 == (FILE *)0x0)" (( "(") (binary_expression "pFVar10 == (FILE *)0x0" (identifier "pFVar10") (== "==") (cast_expression "(FILE *)0x0" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00094e4f;" (goto "goto") (statement_identifier "LAB_00094e4f") (; ";")))) (} "}"))) (if_statement "if (local_80[3] == 0) {\n        local_5c = *(uint **)(iVar6 + 0x34);\n      }" (if "if") (parenthesized_expression "(local_80[3] == 0)" (( "(") (binary_expression "local_80[3] == 0" (subscript_expression "local_80[3]" (identifier "local_80") ([ "[") (number_literal "3") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        local_5c = *(uint **)(iVar6 + 0x34);\n      }" ({ "{") (expression_statement "local_5c = *(uint **)(iVar6 + 0x34);" (assignment_expression "local_5c = *(uint **)(iVar6 + 0x34)" (identifier "local_5c") (= "=") (pointer_expression "*(uint **)(iVar6 + 0x34)" (* "*") (cast_expression "(uint **)(iVar6 + 0x34)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x34)" (( "(") (binary_expression "iVar6 + 0x34" (identifier "iVar6") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (} "}"))) (expression_statement "iVar7 = FUN_0009307e();" (assignment_expression "iVar7 = FUN_0009307e()" (identifier "iVar7") (= "=") (call_expression "FUN_0009307e()" (identifier "FUN_0009307e") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((0 < iVar7) && (puVar18 == (uint *)0x0)) {\n        FUN_0009304a();\n        FUN_0009304a();\n      }" (if "if") (parenthesized_expression "((0 < iVar7) && (puVar18 == (uint *)0x0))" (( "(") (binary_expression "(0 < iVar7) && (puVar18 == (uint *)0x0)" (parenthesized_expression "(0 < iVar7)" (( "(") (binary_expression "0 < iVar7" (number_literal "0") (< "<") (identifier "iVar7")) () ")")) (&& "&&") (parenthesized_expression "(puVar18 == (uint *)0x0)" (( "(") (binary_expression "puVar18 == (uint *)0x0" (identifier "puVar18") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (compound_statement "{\n        FUN_0009304a();\n        FUN_0009304a();\n      }" ({ "{") (expression_statement "FUN_0009304a();" (call_expression "FUN_0009304a()" (identifier "FUN_0009304a") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0009304a();" (call_expression "FUN_0009304a()" (identifier "FUN_0009304a") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" (identifier "FUN_0009227b") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*local_78 = *local_78 | 1;" (assignment_expression "*local_78 = *local_78 | 1" (pointer_expression "*local_78" (* "*") (identifier "local_78")) (= "=") (binary_expression "*local_78 | 1" (pointer_expression "*local_78" (* "*") (identifier "local_78")) (| "|") (number_literal "1"))) (; ";")) (expression_statement "*(double *)(local_78 + 1) = (double)iVar7;" (assignment_expression "*(double *)(local_78 + 1) = (double)iVar7" (pointer_expression "*(double *)(local_78 + 1)" (* "*") (cast_expression "(double *)(local_78 + 1)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_78 + 1)" (( "(") (binary_expression "local_78 + 1" (identifier "local_78") (+ "+") (number_literal "1")) () ")")))) (= "=") (cast_expression "(double)iVar7" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "iVar7"))) (; ";")) (expression_statement "FUN_00092d5e();" (call_expression "FUN_00092d5e()" (identifier "FUN_00092d5e") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x1b:\n    FUN_0009211c();\n    iVar7 = FUN_000939df();\n    if (iVar7 == 0) {\nLAB_00094c2d:\n      lVar23 = (longdouble)0;\n    }\n    else {\n      lVar23 = (longdouble)1;\n    }\n    goto LAB_00094b8a;" (case "case") (number_literal "0x1b") (: ":") (expression_statement "FUN_0009211c();" (call_expression "FUN_0009211c()" (identifier "FUN_0009211c") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar7 = FUN_000939df();" (assignment_expression "iVar7 = FUN_000939df()" (identifier "iVar7") (= "=") (call_expression "FUN_000939df()" (identifier "FUN_000939df") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\nLAB_00094c2d:\n      lVar23 = (longdouble)0;\n    }\n    else {\n      lVar23 = (longdouble)1;\n    }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00094c2d:\n      lVar23 = (longdouble)0;\n    }" ({ "{") (labeled_statement "LAB_00094c2d:\n      lVar23 = (longdouble)0;" (statement_identifier "LAB_00094c2d") (: ":") (expression_statement "lVar23 = (longdouble)0;" (assignment_expression "lVar23 = (longdouble)0" (identifier "lVar23") (= "=") (cast_expression "(longdouble)0" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (number_literal "0"))) (; ";"))) (} "}")) (else_clause "else {\n      lVar23 = (longdouble)1;\n    }" (else "else") (compound_statement "{\n      lVar23 = (longdouble)1;\n    }" ({ "{") (expression_statement "lVar23 = (longdouble)1;" (assignment_expression "lVar23 = (longdouble)1" (identifier "lVar23") (= "=") (cast_expression "(longdouble)1" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (number_literal "1"))) (; ";")) (} "}")))) (goto_statement "goto LAB_00094b8a;" (goto "goto") (statement_identifier "LAB_00094b8a") (; ";"))) (case_statement "case 0x1c:\n    iVar7 = FUN_00092658();\n    if (iVar7 == 0) goto LAB_00094c2d;\nLAB_00094da9:\n    iVar7 = FUN_00096324();\n    lVar23 = (longdouble)iVar7;\n    goto LAB_00094b8a;" (case "case") (number_literal "0x1c") (: ":") (expression_statement "iVar7 = FUN_00092658();" (assignment_expression "iVar7 = FUN_00092658()" (identifier "iVar7") (= "=") (call_expression "FUN_00092658()" (identifier "FUN_00092658") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) goto LAB_00094c2d;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00094c2d;" (goto "goto") (statement_identifier "LAB_00094c2d") (; ";"))) (labeled_statement "LAB_00094da9:\n    iVar7 = FUN_00096324();" (statement_identifier "LAB_00094da9") (: ":") (expression_statement "iVar7 = FUN_00096324();" (assignment_expression "iVar7 = FUN_00096324()" (identifier "iVar7") (= "=") (call_expression "FUN_00096324()" (identifier "FUN_00096324") (argument_list "()" (( "(") () ")")))) (; ";"))) (expression_statement "lVar23 = (longdouble)iVar7;" (assignment_expression "lVar23 = (longdouble)iVar7" (identifier "lVar23") (= "=") (cast_expression "(longdouble)iVar7" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (identifier "iVar7"))) (; ";")) (goto_statement "goto LAB_00094b8a;" (goto "goto") (statement_identifier "LAB_00094b8a") (; ";"))) (case_statement "case 0x1d:\n    iVar7 = FUN_00092658();\n    if (iVar7 == 0) goto LAB_00094da9;\nLAB_00094c15:\n    lVar23 = (longdouble)1;\n    goto LAB_00094b8a;" (case "case") (number_literal "0x1d") (: ":") (expression_statement "iVar7 = FUN_00092658();" (assignment_expression "iVar7 = FUN_00092658()" (identifier "iVar7") (= "=") (call_expression "FUN_00092658()" (identifier "FUN_00092658") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) goto LAB_00094da9;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00094da9;" (goto "goto") (statement_identifier "LAB_00094da9") (; ";"))) (labeled_statement "LAB_00094c15:\n    lVar23 = (longdouble)1;" (statement_identifier "LAB_00094c15") (: ":") (expression_statement "lVar23 = (longdouble)1;" (assignment_expression "lVar23 = (longdouble)1" (identifier "lVar23") (= "=") (cast_expression "(longdouble)1" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (number_literal "1"))) (; ";"))) (goto_statement "goto LAB_00094b8a;" (goto "goto") (statement_identifier "LAB_00094b8a") (; ";"))) (case_statement "case 0x1e:\n    goto LAB_00094ce7;" (case "case") (number_literal "0x1e") (: ":") (goto_statement "goto LAB_00094ce7;" (goto "goto") (statement_identifier "LAB_00094ce7") (; ";"))) (case_statement "case 0x1f:\n    local_78 = (uint *)FUN_00093453();\n    break;" (case "case") (number_literal "0x1f") (: ":") (expression_statement "local_78 = (uint *)FUN_00093453();" (assignment_expression "local_78 = (uint *)FUN_00093453()" (identifier "local_78") (= "=") (cast_expression "(uint *)FUN_00093453()" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00093453()" (identifier "FUN_00093453") (argument_list "()" (( "(") () ")"))))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x21:\n    local_68 = (char *)FUN_0009295c();\nLAB_00094ce7:\n    __preg = (regex_t *)FUN_00095bc7();\n    iVar7 = regexec(__preg,local_68,0,(regmatch_t *)0x0,0);\n    if ((regex_t *)(iVar6 + 0x90) == __preg) {\n      regfree((regex_t *)(iVar6 + 0x90));\n    }\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)((iVar7 == 0) != (uVar8 == 0x21));\n    FUN_00092d5e();\n    break;" (case "case") (number_literal "0x21") (: ":") (expression_statement "local_68 = (char *)FUN_0009295c();" (assignment_expression "local_68 = (char *)FUN_0009295c()" (identifier "local_68") (= "=") (cast_expression "(char *)FUN_0009295c()" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0009295c()" (identifier "FUN_0009295c") (argument_list "()" (( "(") () ")"))))) (; ";")) (labeled_statement "LAB_00094ce7:\n    __preg = (regex_t *)FUN_00095bc7();" (statement_identifier "LAB_00094ce7") (: ":") (expression_statement "__preg = (regex_t *)FUN_00095bc7();" (assignment_expression "__preg = (regex_t *)FUN_00095bc7()" (identifier "__preg") (= "=") (cast_expression "(regex_t *)FUN_00095bc7()" (( "(") (type_descriptor "regex_t *" (type_identifier "regex_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00095bc7()" (identifier "FUN_00095bc7") (argument_list "()" (( "(") () ")"))))) (; ";"))) (expression_statement "iVar7 = regexec(__preg,local_68,0,(regmatch_t *)0x0,0);" (assignment_expression "iVar7 = regexec(__preg,local_68,0,(regmatch_t *)0x0,0)" (identifier "iVar7") (= "=") (call_expression "regexec(__preg,local_68,0,(regmatch_t *)0x0,0)" (identifier "regexec") (argument_list "(__preg,local_68,0,(regmatch_t *)0x0,0)" (( "(") (identifier "__preg") (, ",") (identifier "local_68") (, ",") (number_literal "0") (, ",") (cast_expression "(regmatch_t *)0x0" (( "(") (type_descriptor "regmatch_t *" (type_identifier "regmatch_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if ((regex_t *)(iVar6 + 0x90) == __preg) {\n      regfree((regex_t *)(iVar6 + 0x90));\n    }" (if "if") (parenthesized_expression "((regex_t *)(iVar6 + 0x90) == __preg)" (( "(") (binary_expression "(regex_t *)(iVar6 + 0x90) == __preg" (cast_expression "(regex_t *)(iVar6 + 0x90)" (( "(") (type_descriptor "regex_t *" (type_identifier "regex_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x90)" (( "(") (binary_expression "iVar6 + 0x90" (identifier "iVar6") (+ "+") (number_literal "0x90")) () ")"))) (== "==") (identifier "__preg")) () ")")) (compound_statement "{\n      regfree((regex_t *)(iVar6 + 0x90));\n    }" ({ "{") (expression_statement "regfree((regex_t *)(iVar6 + 0x90));" (call_expression "regfree((regex_t *)(iVar6 + 0x90))" (identifier "regfree") (argument_list "((regex_t *)(iVar6 + 0x90))" (( "(") (cast_expression "(regex_t *)(iVar6 + 0x90)" (( "(") (type_descriptor "regex_t *" (type_identifier "regex_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x90)" (( "(") (binary_expression "iVar6 + 0x90" (identifier "iVar6") (+ "+") (number_literal "0x90")) () ")"))) () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" (identifier "FUN_0009227b") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*local_78 = *local_78 | 1;" (assignment_expression "*local_78 = *local_78 | 1" (pointer_expression "*local_78" (* "*") (identifier "local_78")) (= "=") (binary_expression "*local_78 | 1" (pointer_expression "*local_78" (* "*") (identifier "local_78")) (| "|") (number_literal "1"))) (; ";")) (expression_statement "*(double *)(local_78 + 1) = (double)((iVar7 == 0) != (uVar8 == 0x21));" (assignment_expression "*(double *)(local_78 + 1) = (double)((iVar7 == 0) != (uVar8 == 0x21))" (pointer_expression "*(double *)(local_78 + 1)" (* "*") (cast_expression "(double *)(local_78 + 1)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_78 + 1)" (( "(") (binary_expression "local_78 + 1" (identifier "local_78") (+ "+") (number_literal "1")) () ")")))) (= "=") (cast_expression "(double)((iVar7 == 0) != (uVar8 == 0x21))" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((iVar7 == 0) != (uVar8 == 0x21))" (( "(") (binary_expression "(iVar7 == 0) != (uVar8 == 0x21)" (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (!= "!=") (parenthesized_expression "(uVar8 == 0x21)" (( "(") (binary_expression "uVar8 == 0x21" (identifier "uVar8") (== "==") (number_literal "0x21")) () ")"))) () ")")))) (; ";")) (expression_statement "FUN_00092d5e();" (call_expression "FUN_00092d5e()" (identifier "FUN_00092d5e") (argument_list "()" (( "(") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x23:\n    FUN_00093453();\n    break;" (case "case") (number_literal "0x23") (: ":") (expression_statement "FUN_00093453();" (call_expression "FUN_00093453()" (identifier "FUN_00093453") (argument_list "()" (( "(") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x24:\n    uVar8 = FUN_00095fab();\n    FUN_0009227b();\n    local_78[3] = uVar8;\n    FUN_00092d5e();\n    break;" (case "case") (number_literal "0x24") (: ":") (expression_statement "uVar8 = FUN_00095fab();" (assignment_expression "uVar8 = FUN_00095fab()" (identifier "uVar8") (= "=") (call_expression "FUN_00095fab()" (identifier "FUN_00095fab") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" (identifier "FUN_0009227b") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_78[3] = uVar8;" (assignment_expression "local_78[3] = uVar8" (subscript_expression "local_78[3]" (identifier "local_78") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "FUN_00092d5e();" (call_expression "FUN_00092d5e()" (identifier "FUN_00092d5e") (argument_list "()" (( "(") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x25:\n    if ((*(uint *)local_80[3] & 0xff00) == 0x1200) {\n      FUN_00092658();\n      local_78 = (uint *)FUN_00094969();\n      break;\n    }\n    goto switchD_00094a90_caseD_0;" (case "case") (number_literal "0x25") (: ":") (if_statement "if ((*(uint *)local_80[3] & 0xff00) == 0x1200) {\n      FUN_00092658();\n      local_78 = (uint *)FUN_00094969();\n      break;\n    }" (if "if") (parenthesized_expression "((*(uint *)local_80[3] & 0xff00) == 0x1200)" (( "(") (binary_expression "(*(uint *)local_80[3] & 0xff00) == 0x1200" (parenthesized_expression "(*(uint *)local_80[3] & 0xff00)" (( "(") (binary_expression "*(uint *)local_80[3] & 0xff00" (pointer_expression "*(uint *)local_80[3]" (* "*") (cast_expression "(uint *)local_80[3]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_80[3]" (identifier "local_80") ([ "[") (number_literal "3") (] "]")))) (& "&") (number_literal "0xff00")) () ")")) (== "==") (number_literal "0x1200")) () ")")) (compound_statement "{\n      FUN_00092658();\n      local_78 = (uint *)FUN_00094969();\n      break;\n    }" ({ "{") (expression_statement "FUN_00092658();" (call_expression "FUN_00092658()" (identifier "FUN_00092658") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_78 = (uint *)FUN_00094969();" (assignment_expression "local_78 = (uint *)FUN_00094969()" (identifier "local_78") (= "=") (cast_expression "(uint *)FUN_00094969()" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00094969()" (identifier "FUN_00094969") (argument_list "()" (( "(") () ")"))))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (goto_statement "goto switchD_00094a90_caseD_0;" (goto "goto") (statement_identifier "switchD_00094a90_caseD_0") (; ";"))) (case_statement "case 0x26:\n    lVar23 = (longdouble)FUN_000925a2();\n    if (uVar8 == 0x4d) {\n      lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      lVar23 = lVar24;\n    }\n    else {\n      if (uVar8 < 0x4e) {\n        if (uVar8 == 0x21) {\n          iVar7 = FUN_00092658();\n          if (iVar7 == 0) goto LAB_00094c15;\n          goto LAB_00094c2d;\n        }\n        if (uVar8 == 0x2d) {\n          lVar23 = -lVar23;\n        }\n        goto LAB_00094b8a;\n      }\n      if (uVar8 == 0x6d) {\n        lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      }\n      else if (uVar8 == 0x70) {\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n      }\n      else {\n        if (uVar8 != 0x50) goto LAB_00094b8a;\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n        lVar23 = lVar24;\n      }\n    }\n    FUN_0009227b();\n    *local_5c = *local_5c | 1;\n    *(double *)(local_5c + 1) = (double)lVar24;\n    FUN_00092d5e();\n    lVar23 = (longdouble)(double)lVar23;\nLAB_00094b8a:\n    FUN_0009227b();\n    *local_78 = *local_78 | 1;\n    *(double *)(local_78 + 1) = (double)lVar23;\n    FUN_00092d5e();\n    break;" (case "case") (number_literal "0x26") (: ":") (expression_statement "lVar23 = (longdouble)FUN_000925a2();" (assignment_expression "lVar23 = (longdouble)FUN_000925a2()" (identifier "lVar23") (= "=") (cast_expression "(longdouble)FUN_000925a2()" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (call_expression "FUN_000925a2()" (identifier "FUN_000925a2") (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (uVar8 == 0x4d) {\n      lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      lVar23 = lVar24;\n    }\n    else {\n      if (uVar8 < 0x4e) {\n        if (uVar8 == 0x21) {\n          iVar7 = FUN_00092658();\n          if (iVar7 == 0) goto LAB_00094c15;\n          goto LAB_00094c2d;\n        }\n        if (uVar8 == 0x2d) {\n          lVar23 = -lVar23;\n        }\n        goto LAB_00094b8a;\n      }\n      if (uVar8 == 0x6d) {\n        lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      }\n      else if (uVar8 == 0x70) {\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n      }\n      else {\n        if (uVar8 != 0x50) goto LAB_00094b8a;\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n        lVar23 = lVar24;\n      }\n    }" (if "if") (parenthesized_expression "(uVar8 == 0x4d)" (( "(") (binary_expression "uVar8 == 0x4d" (identifier "uVar8") (== "==") (number_literal "0x4d")) () ")")) (compound_statement "{\n      lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      lVar23 = lVar24;\n    }" ({ "{") (expression_statement "lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;" (assignment_expression "lVar24 = lVar23 - (longdouble)_DAT_000bc6f4" (identifier "lVar24") (= "=") (binary_expression "lVar23 - (longdouble)_DAT_000bc6f4" (identifier "lVar23") (- "-") (cast_expression "(longdouble)_DAT_000bc6f4" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (identifier "_DAT_000bc6f4")))) (; ";")) (expression_statement "lVar23 = lVar24;" (assignment_expression "lVar23 = lVar24" (identifier "lVar23") (= "=") (identifier "lVar24")) (; ";")) (} "}")) (else_clause "else {\n      if (uVar8 < 0x4e) {\n        if (uVar8 == 0x21) {\n          iVar7 = FUN_00092658();\n          if (iVar7 == 0) goto LAB_00094c15;\n          goto LAB_00094c2d;\n        }\n        if (uVar8 == 0x2d) {\n          lVar23 = -lVar23;\n        }\n        goto LAB_00094b8a;\n      }\n      if (uVar8 == 0x6d) {\n        lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      }\n      else if (uVar8 == 0x70) {\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n      }\n      else {\n        if (uVar8 != 0x50) goto LAB_00094b8a;\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n        lVar23 = lVar24;\n      }\n    }" (else "else") (compound_statement "{\n      if (uVar8 < 0x4e) {\n        if (uVar8 == 0x21) {\n          iVar7 = FUN_00092658();\n          if (iVar7 == 0) goto LAB_00094c15;\n          goto LAB_00094c2d;\n        }\n        if (uVar8 == 0x2d) {\n          lVar23 = -lVar23;\n        }\n        goto LAB_00094b8a;\n      }\n      if (uVar8 == 0x6d) {\n        lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      }\n      else if (uVar8 == 0x70) {\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n      }\n      else {\n        if (uVar8 != 0x50) goto LAB_00094b8a;\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n        lVar23 = lVar24;\n      }\n    }" ({ "{") (if_statement "if (uVar8 < 0x4e) {\n        if (uVar8 == 0x21) {\n          iVar7 = FUN_00092658();\n          if (iVar7 == 0) goto LAB_00094c15;\n          goto LAB_00094c2d;\n        }\n        if (uVar8 == 0x2d) {\n          lVar23 = -lVar23;\n        }\n        goto LAB_00094b8a;\n      }" (if "if") (parenthesized_expression "(uVar8 < 0x4e)" (( "(") (binary_expression "uVar8 < 0x4e" (identifier "uVar8") (< "<") (number_literal "0x4e")) () ")")) (compound_statement "{\n        if (uVar8 == 0x21) {\n          iVar7 = FUN_00092658();\n          if (iVar7 == 0) goto LAB_00094c15;\n          goto LAB_00094c2d;\n        }\n        if (uVar8 == 0x2d) {\n          lVar23 = -lVar23;\n        }\n        goto LAB_00094b8a;\n      }" ({ "{") (if_statement "if (uVar8 == 0x21) {\n          iVar7 = FUN_00092658();\n          if (iVar7 == 0) goto LAB_00094c15;\n          goto LAB_00094c2d;\n        }" (if "if") (parenthesized_expression "(uVar8 == 0x21)" (( "(") (binary_expression "uVar8 == 0x21" (identifier "uVar8") (== "==") (number_literal "0x21")) () ")")) (compound_statement "{\n          iVar7 = FUN_00092658();\n          if (iVar7 == 0) goto LAB_00094c15;\n          goto LAB_00094c2d;\n        }" ({ "{") (expression_statement "iVar7 = FUN_00092658();" (assignment_expression "iVar7 = FUN_00092658()" (identifier "iVar7") (= "=") (call_expression "FUN_00092658()" (identifier "FUN_00092658") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) goto LAB_00094c15;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00094c15;" (goto "goto") (statement_identifier "LAB_00094c15") (; ";"))) (goto_statement "goto LAB_00094c2d;" (goto "goto") (statement_identifier "LAB_00094c2d") (; ";")) (} "}"))) (if_statement "if (uVar8 == 0x2d) {\n          lVar23 = -lVar23;\n        }" (if "if") (parenthesized_expression "(uVar8 == 0x2d)" (( "(") (binary_expression "uVar8 == 0x2d" (identifier "uVar8") (== "==") (number_literal "0x2d")) () ")")) (compound_statement "{\n          lVar23 = -lVar23;\n        }" ({ "{") (expression_statement "lVar23 = -lVar23;" (assignment_expression "lVar23 = -lVar23" (identifier "lVar23") (= "=") (unary_expression "-lVar23" (- "-") (identifier "lVar23"))) (; ";")) (} "}"))) (goto_statement "goto LAB_00094b8a;" (goto "goto") (statement_identifier "LAB_00094b8a") (; ";")) (} "}"))) (if_statement "if (uVar8 == 0x6d) {\n        lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      }\n      else if (uVar8 == 0x70) {\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n      }\n      else {\n        if (uVar8 != 0x50) goto LAB_00094b8a;\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n        lVar23 = lVar24;\n      }" (if "if") (parenthesized_expression "(uVar8 == 0x6d)" (( "(") (binary_expression "uVar8 == 0x6d" (identifier "uVar8") (== "==") (number_literal "0x6d")) () ")")) (compound_statement "{\n        lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;\n      }" ({ "{") (expression_statement "lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;" (assignment_expression "lVar24 = lVar23 - (longdouble)_DAT_000bc6f4" (identifier "lVar24") (= "=") (binary_expression "lVar23 - (longdouble)_DAT_000bc6f4" (identifier "lVar23") (- "-") (cast_expression "(longdouble)_DAT_000bc6f4" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (identifier "_DAT_000bc6f4")))) (; ";")) (} "}")) (else_clause "else if (uVar8 == 0x70) {\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n      }\n      else {\n        if (uVar8 != 0x50) goto LAB_00094b8a;\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n        lVar23 = lVar24;\n      }" (else "else") (if_statement "if (uVar8 == 0x70) {\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n      }\n      else {\n        if (uVar8 != 0x50) goto LAB_00094b8a;\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n        lVar23 = lVar24;\n      }" (if "if") (parenthesized_expression "(uVar8 == 0x70)" (( "(") (binary_expression "uVar8 == 0x70" (identifier "uVar8") (== "==") (number_literal "0x70")) () ")")) (compound_statement "{\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n      }" ({ "{") (expression_statement "lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;" (assignment_expression "lVar24 = lVar23 + (longdouble)_DAT_000bc6f4" (identifier "lVar24") (= "=") (binary_expression "lVar23 + (longdouble)_DAT_000bc6f4" (identifier "lVar23") (+ "+") (cast_expression "(longdouble)_DAT_000bc6f4" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (identifier "_DAT_000bc6f4")))) (; ";")) (} "}")) (else_clause "else {\n        if (uVar8 != 0x50) goto LAB_00094b8a;\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n        lVar23 = lVar24;\n      }" (else "else") (compound_statement "{\n        if (uVar8 != 0x50) goto LAB_00094b8a;\n        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;\n        lVar23 = lVar24;\n      }" ({ "{") (if_statement "if (uVar8 != 0x50) goto LAB_00094b8a;" (if "if") (parenthesized_expression "(uVar8 != 0x50)" (( "(") (binary_expression "uVar8 != 0x50" (identifier "uVar8") (!= "!=") (number_literal "0x50")) () ")")) (goto_statement "goto LAB_00094b8a;" (goto "goto") (statement_identifier "LAB_00094b8a") (; ";"))) (expression_statement "lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;" (assignment_expression "lVar24 = lVar23 + (longdouble)_DAT_000bc6f4" (identifier "lVar24") (= "=") (binary_expression "lVar23 + (longdouble)_DAT_000bc6f4" (identifier "lVar23") (+ "+") (cast_expression "(longdouble)_DAT_000bc6f4" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (identifier "_DAT_000bc6f4")))) (; ";")) (expression_statement "lVar23 = lVar24;" (assignment_expression "lVar23 = lVar24" (identifier "lVar23") (= "=") (identifier "lVar24")) (; ";")) (} "}")))))) (} "}")))) (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" (identifier "FUN_0009227b") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*local_5c = *local_5c | 1;" (assignment_expression "*local_5c = *local_5c | 1" (pointer_expression "*local_5c" (* "*") (identifier "local_5c")) (= "=") (binary_expression "*local_5c | 1" (pointer_expression "*local_5c" (* "*") (identifier "local_5c")) (| "|") (number_literal "1"))) (; ";")) (expression_statement "*(double *)(local_5c + 1) = (double)lVar24;" (assignment_expression "*(double *)(local_5c + 1) = (double)lVar24" (pointer_expression "*(double *)(local_5c + 1)" (* "*") (cast_expression "(double *)(local_5c + 1)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_5c + 1)" (( "(") (binary_expression "local_5c + 1" (identifier "local_5c") (+ "+") (number_literal "1")) () ")")))) (= "=") (cast_expression "(double)lVar24" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "lVar24"))) (; ";")) (expression_statement "FUN_00092d5e();" (call_expression "FUN_00092d5e()" (identifier "FUN_00092d5e") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "lVar23 = (longdouble)(double)lVar23;" (assignment_expression "lVar23 = (longdouble)(double)lVar23" (identifier "lVar23") (= "=") (cast_expression "(longdouble)(double)lVar23" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (cast_expression "(double)lVar23" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "lVar23")))) (; ";")) (labeled_statement "LAB_00094b8a:\n    FUN_0009227b();" (statement_identifier "LAB_00094b8a") (: ":") (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" (identifier "FUN_0009227b") (argument_list "()" (( "(") () ")"))) (; ";"))) (expression_statement "*local_78 = *local_78 | 1;" (assignment_expression "*local_78 = *local_78 | 1" (pointer_expression "*local_78" (* "*") (identifier "local_78")) (= "=") (binary_expression "*local_78 | 1" (pointer_expression "*local_78" (* "*") (identifier "local_78")) (| "|") (number_literal "1"))) (; ";")) (expression_statement "*(double *)(local_78 + 1) = (double)lVar23;" (assignment_expression "*(double *)(local_78 + 1) = (double)lVar23" (pointer_expression "*(double *)(local_78 + 1)" (* "*") (cast_expression "(double *)(local_78 + 1)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_78 + 1)" (( "(") (binary_expression "local_78 + 1" (identifier "local_78") (+ "+") (number_literal "1")) () ")")))) (= "=") (cast_expression "(double)lVar23" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "lVar23"))) (; ";")) (expression_statement "FUN_00092d5e();" (call_expression "FUN_00092d5e()" (identifier "FUN_00092d5e") (argument_list "()" (( "(") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x27:\n    local_78 = (uint *)local_80[2];\n    if (local_78 == *(uint **)(iVar6 + 0x50)) {\n      FUN_00092cc4();\n    }\nLAB_00094b15:\n    if (local_80[3] != 0) {\n      FUN_0009211c();\n      local_78 = (uint *)FUN_00093a51();\n    }\n    break;" (case "case") (number_literal "0x27") (: ":") (expression_statement "local_78 = (uint *)local_80[2];" (assignment_expression "local_78 = (uint *)local_80[2]" (identifier "local_78") (= "=") (cast_expression "(uint *)local_80[2]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_80[2]" (identifier "local_80") ([ "[") (number_literal "2") (] "]")))) (; ";")) (if_statement "if (local_78 == *(uint **)(iVar6 + 0x50)) {\n      FUN_00092cc4();\n    }" (if "if") (parenthesized_expression "(local_78 == *(uint **)(iVar6 + 0x50))" (( "(") (binary_expression "local_78 == *(uint **)(iVar6 + 0x50)" (identifier "local_78") (== "==") (pointer_expression "*(uint **)(iVar6 + 0x50)" (* "*") (cast_expression "(uint **)(iVar6 + 0x50)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x50)" (( "(") (binary_expression "iVar6 + 0x50" (identifier "iVar6") (+ "+") (number_literal "0x50")) () ")"))))) () ")")) (compound_statement "{\n      FUN_00092cc4();\n    }" ({ "{") (expression_statement "FUN_00092cc4();" (call_expression "FUN_00092cc4()" (identifier "FUN_00092cc4") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_00094b15:\n    if (local_80[3] != 0) {\n      FUN_0009211c();\n      local_78 = (uint *)FUN_00093a51();\n    }" (statement_identifier "LAB_00094b15") (: ":") (if_statement "if (local_80[3] != 0) {\n      FUN_0009211c();\n      local_78 = (uint *)FUN_00093a51();\n    }" (if "if") (parenthesized_expression "(local_80[3] != 0)" (( "(") (binary_expression "local_80[3] != 0" (subscript_expression "local_80[3]" (identifier "local_80") ([ "[") (number_literal "3") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_0009211c();\n      local_78 = (uint *)FUN_00093a51();\n    }" ({ "{") (expression_statement "FUN_0009211c();" (call_expression "FUN_0009211c()" (identifier "FUN_0009211c") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_78 = (uint *)FUN_00093a51();" (assignment_expression "local_78 = (uint *)FUN_00093a51()" (identifier "local_78") (= "=") (cast_expression "(uint *)FUN_00093a51()" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00093a51()" (identifier "FUN_00093a51") (argument_list "()" (( "(") () ")"))))) (; ";")) (} "}")))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x28:\n    goto switchD_00094a90_caseD_28;" (case "case") (number_literal "0x28") (: ":") (goto_statement "goto switchD_00094a90_caseD_28;" (goto "goto") (statement_identifier "switchD_00094a90_caseD_28") (; ";"))) (} "}"))) (labeled_statement "LAB_00094ab0:\n  local_7c = local_7c & 0xff00;" (statement_identifier "LAB_00094ab0") (: ":") (expression_statement "local_7c = local_7c & 0xff00;" (assignment_expression "local_7c = local_7c & 0xff00" (identifier "local_7c") (= "=") (binary_expression "local_7c & 0xff00" (identifier "local_7c") (& "&") (number_literal "0xff00"))) (; ";"))) (if_statement "if (local_7c < 0x601) {\n    local_80 = (uint *)local_80[4];\n    cVar1 = *(char *)(iVar6 + -6);\n  }\n  else {\n    if (0xfff < local_7c) {\nLAB_00094acb:\n      FUN_000938f0();\n      return local_78;\n    }\n    cVar1 = *(char *)(iVar6 + -6);\n  }" (if "if") (parenthesized_expression "(local_7c < 0x601)" (( "(") (binary_expression "local_7c < 0x601" (identifier "local_7c") (< "<") (number_literal "0x601")) () ")")) (compound_statement "{\n    local_80 = (uint *)local_80[4];\n    cVar1 = *(char *)(iVar6 + -6);\n  }" ({ "{") (expression_statement "local_80 = (uint *)local_80[4];" (assignment_expression "local_80 = (uint *)local_80[4]" (identifier "local_80") (= "=") (cast_expression "(uint *)local_80[4]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_80[4]" (identifier "local_80") ([ "[") (number_literal "4") (] "]")))) (; ";")) (expression_statement "cVar1 = *(char *)(iVar6 + -6);" (assignment_expression "cVar1 = *(char *)(iVar6 + -6)" (identifier "cVar1") (= "=") (pointer_expression "*(char *)(iVar6 + -6)" (* "*") (cast_expression "(char *)(iVar6 + -6)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + -6)" (( "(") (binary_expression "iVar6 + -6" (identifier "iVar6") (+ "+") (number_literal "-6")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n    if (0xfff < local_7c) {\nLAB_00094acb:\n      FUN_000938f0();\n      return local_78;\n    }\n    cVar1 = *(char *)(iVar6 + -6);\n  }" (else "else") (compound_statement "{\n    if (0xfff < local_7c) {\nLAB_00094acb:\n      FUN_000938f0();\n      return local_78;\n    }\n    cVar1 = *(char *)(iVar6 + -6);\n  }" ({ "{") (if_statement "if (0xfff < local_7c) {\nLAB_00094acb:\n      FUN_000938f0();\n      return local_78;\n    }" (if "if") (parenthesized_expression "(0xfff < local_7c)" (( "(") (binary_expression "0xfff < local_7c" (number_literal "0xfff") (< "<") (identifier "local_7c")) () ")")) (compound_statement "{\nLAB_00094acb:\n      FUN_000938f0();\n      return local_78;\n    }" ({ "{") (labeled_statement "LAB_00094acb:\n      FUN_000938f0();" (statement_identifier "LAB_00094acb") (: ":") (expression_statement "FUN_000938f0();" (call_expression "FUN_000938f0()" (identifier "FUN_000938f0") (argument_list "()" (( "(") () ")"))) (; ";"))) (return_statement "return local_78;" (return "return") (identifier "local_78") (; ";")) (} "}"))) (expression_statement "cVar1 = *(char *)(iVar6 + -6);" (assignment_expression "cVar1 = *(char *)(iVar6 + -6)" (identifier "cVar1") (= "=") (pointer_expression "*(char *)(iVar6 + -6)" (* "*") (cast_expression "(char *)(iVar6 + -6)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + -6)" (( "(") (binary_expression "iVar6 + -6" (identifier "iVar6") (+ "+") (number_literal "-6")) () ")"))))) (; ";")) (} "}")))) (if_statement "if ((cVar1 != '\0') || (local_80 == (uint *)0x0)) goto LAB_00094acb;" (if "if") (parenthesized_expression "((cVar1 != '\0') || (local_80 == (uint *)0x0))" (( "(") (binary_expression "(cVar1 != '\0') || (local_80 == (uint *)0x0)" (parenthesized_expression "(cVar1 != '\0')" (( "(") (binary_expression "cVar1 != '\0'" (identifier "cVar1") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(local_80 == (uint *)0x0)" (( "(") (binary_expression "local_80 == (uint *)0x0" (identifier "local_80") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (goto_statement "goto LAB_00094acb;" (goto "goto") (statement_identifier "LAB_00094acb") (; ";"))) (goto_statement "goto LAB_000949b7;" (goto "goto") (statement_identifier "LAB_000949b7") (; ";")) (labeled_statement "switchD_00094a90_caseD_b:\n  *(undefined1 *)(iVar6 + -6) = 1;" (statement_identifier "switchD_00094a90_caseD_b") (: ":") (expression_statement "*(undefined1 *)(iVar6 + -6) = 1;" (assignment_expression "*(undefined1 *)(iVar6 + -6) = 1" (pointer_expression "*(undefined1 *)(iVar6 + -6)" (* "*") (cast_expression "(undefined1 *)(iVar6 + -6)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + -6)" (( "(") (binary_expression "iVar6 + -6" (identifier "iVar6") (+ "+") (number_literal "-6")) () ")")))) (= "=") (number_literal "1")) (; ";"))) (labeled_statement "switchD_00094a90_caseD_28:\n  FUN_0009227b();" (statement_identifier "switchD_00094a90_caseD_28") (: ":") (expression_statement "FUN_0009227b();" (call_expression "FUN_0009227b()" (identifier "FUN_0009227b") (argument_list "()" (( "(") () ")"))) (; ";"))) (goto_statement "goto LAB_00094ab0;" (goto "goto") (statement_identifier "LAB_00094ab0") (; ";")) (labeled_statement "switchD_00094a90_caseD_7:\n  iVar7 = FUN_00092658();" (statement_identifier "switchD_00094a90_caseD_7") (: ":") (expression_statement "iVar7 = FUN_00092658();" (assignment_expression "iVar7 = FUN_00092658()" (identifier "iVar7") (= "=") (call_expression "FUN_00092658()" (identifier "FUN_00092658") (argument_list "()" (( "(") () ")")))) (; ";"))) (if_statement "if (iVar7 == 0) {\n    local_80 = (uint *)local_80[3];\n  }\n  else {\nLAB_000956d3:\n    local_80 = (uint *)local_80[4];\n  }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    local_80 = (uint *)local_80[3];\n  }" ({ "{") (expression_statement "local_80 = (uint *)local_80[3];" (assignment_expression "local_80 = (uint *)local_80[3]" (identifier "local_80") (= "=") (cast_expression "(uint *)local_80[3]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_80[3]" (identifier "local_80") ([ "[") (number_literal "3") (] "]")))) (; ";")) (} "}")) (else_clause "else {\nLAB_000956d3:\n    local_80 = (uint *)local_80[4];\n  }" (else "else") (compound_statement "{\nLAB_000956d3:\n    local_80 = (uint *)local_80[4];\n  }" ({ "{") (labeled_statement "LAB_000956d3:\n    local_80 = (uint *)local_80[4];" (statement_identifier "LAB_000956d3") (: ":") (expression_statement "local_80 = (uint *)local_80[4];" (assignment_expression "local_80 = (uint *)local_80[4]" (identifier "local_80") (= "=") (cast_expression "(uint *)local_80[4]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_80[4]" (identifier "local_80") ([ "[") (number_literal "4") (] "]")))) (; ";"))) (} "}")))) (goto_statement "goto LAB_00094ab0;" (goto "goto") (statement_identifier "LAB_00094ab0") (; ";")) (labeled_statement "switchD_00094a90_caseD_0:\n  pcVar15 = "Possible syntax error";" (statement_identifier "switchD_00094a90_caseD_0") (: ":") (expression_statement "pcVar15 = "Possible syntax error";" (assignment_expression "pcVar15 = "Possible syntax error"" (identifier "pcVar15") (= "=") (string_literal ""Possible syntax error"" (" """) (string_content "Possible syntax error") (" """))) (; ";"))) (labeled_statement "LAB_00094f35:\n                    \n  FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),*(undefined4 *)(iVar6 + -0x24),pcVar15);" (statement_identifier "LAB_00094f35") (: ":") (expression_statement "FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),*(undefined4 *)(iVar6 + -0x24),pcVar15);" (call_expression "FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),*(undefined4 *)(iVar6 + -0x24),pcVar15)" (identifier "FUN_000191a6") (argument_list "("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),*(undefined4 *)(iVar6 + -0x24),pcVar15)" (( "(") (string_literal ""%s:%i: %s"" (" """) (string_content "%s:%i: %s") (" """)) (, ",") (pointer_expression "*(undefined4 *)(iVar6 + -0x28)" (* "*") (cast_expression "(undefined4 *)(iVar6 + -0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + -0x28)" (( "(") (binary_expression "iVar6 + -0x28" (identifier "iVar6") (+ "+") (number_literal "-0x28")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(iVar6 + -0x24)" (* "*") (cast_expression "(undefined4 *)(iVar6 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + -0x24)" (( "(") (binary_expression "iVar6 + -0x24" (identifier "iVar6") (+ "+") (number_literal "-0x24")) () ")")))) (, ",") (identifier "pcVar15") () ")"))) (; ";"))) (} "}"))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

type_1 * function_1(type_2 *op,type_1 *res)

{
}


(translation_unit (ERROR (binary_expression left: (identifier) (ERROR (identifier)) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)))))) (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (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: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (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: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (return_statement (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (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 (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) right: (number_literal))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (identifier) (string_literal (string_content))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))))) (goto_statement label: (statement_identifier)))) (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))))) (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))))) (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))))) (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))))) (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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (switch_statement condition: (parenthesized_expression (identifier)) body: (compound_statement (case_statement (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (break_statement)) (case_statement value: (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: (subscript_expression argument: (identifier) index: (number_literal)))) (break_statement)) (case_statement value: (number_literal)) (case_statement value: (number_literal) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))))))) (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: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) alternative: (else_clause (compound_statement (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) (number_literal) (identifier)))) (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: (identifier) right: (number_literal))))) (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier))))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (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 (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (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: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (do_statement body: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_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)))))))))) (break_statement)) (case_statement value: (number_literal) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (break_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (break_statement))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (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: (pointer_expression argument: (identifier))))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (break_statement)) (case_statement value: (number_literal)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list))))) (switch_statement condition: (parenthesized_expression (identifier)) body: (compound_statement (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (call_expression function: (identifier) arguments: (argument_list (identifier))) right: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) right: (number_literal)))) right: (number_literal))))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (number_literal)))) right: (number_literal))))))) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (identifier)))))) right: (identifier))))))) (break_statement)) (case_statement value: (number_literal) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content))))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (identifier)))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (call_expression function: (identifier) arguments: (argument_list (identifier))) right: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) right: (number_literal)))) right: (number_literal))))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (number_literal)))) right: (number_literal))))))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (identifier))))))))) (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: (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (break_statement)) (case_statement value: (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))))) (break_statement)) (case_statement value: (number_literal)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (identifier) (identifier) (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (break_statement)) (case_statement value: (number_literal) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier)) right: (number_literal))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (call_expression function: (identifier) arguments: (argument_list)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier)) right: (number_literal))) right: (number_literal))) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)) right: (identifier)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (call_expression function: (identifier) arguments: (argument_list (identifier))) right: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) right: (number_literal)))) right: (number_literal))))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (number_literal)))) right: (number_literal))))))) right: (number_literal))))))) alternative: (else_clause (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: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)) right: (identifier)))))))))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)) right: (number_literal))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (break_statement)) (case_statement value: (number_literal) (switch_statement condition: (parenthesized_expression (identifier)) body: (compound_statement (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (identifier))))))) (break_statement)) (case_statement value: (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)) value: (identifier)) right: (identifier)))) (break_statement)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (identifier)))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier)) 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: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (break_statement)) (case_statement value: (number_literal) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list)))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (break_statement))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))) (break_statement)) (case_statement value: (number_literal) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))))) alternative: (else_clause (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 (call_expression function: (identifier) arguments: (argument_list)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))))))))) (break_statement)) (case_statement value: (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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier)))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (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: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))))))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) consequence: (compound_statement (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: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (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: (subscript_expression argument: (identifier) index: (number_literal)))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))) index: (number_literal)) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (while_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (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: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (number_literal))) right: (number_literal)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (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: (identifier))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (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: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (break_statement)) (case_statement value: (number_literal)) (case_statement value: (number_literal) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (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: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (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: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) 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: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) 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)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier)))))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (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 (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal))))))) (goto_statement label: (statement_identifier))) (case_statement value: (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: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (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)) value: (identifier)))) (goto_statement label: (statement_identifier))) (case_statement value: (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: (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)) 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: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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 (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (break_statement)) (case_statement value: (number_literal) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (break_statement)) (case_statement value: (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: (subscript_expression argument: (identifier) index: (number_literal)))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (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: (call_expression function: (identifier) arguments: (argument_list))))) (break_statement))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (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: (compound_statement (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: (goto_statement label: (statement_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: (unary_expression argument: (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: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))) alternative: (else_clause (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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))) alternative: (else_clause (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: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (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)))))))) (break_statement)) (case_statement value: (number_literal) (goto_statement label: (statement_identifier))))) (labeled_statement label: (statement_identifier) (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: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) right: (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)) (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) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))) (goto_statement label: (statement_identifier)) (labeled_statement label: (statement_identifier) (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: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))))))) (goto_statement label: (statement_identifier)) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (identifier)))))))

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

uint * __regparm3 MASKED(uint *param_1,uint *param_2)

{
  char cVar1;
  undefined4 uVar2;
  undefined4 uVar3;
  undefined *puVar4;
  int *piVar5;
  int iVar6;
  int iVar7;
  uint uVar8;
  regex_t *__preg;
  int *piVar9;
  FILE *pFVar10;
  undefined4 *puVar11;
  uint *puVar12;
  size_t sVar13;
  time_t tVar14;
  char *pcVar15;
  char *pcVar16;
  undefined1 *puVar17;
  uint *puVar18;
  byte *pbVar19;
  undefined4 extraout_EDX;
  int iVar20;
  uint uVar21;
  uint *puVar22;
  longdouble lVar23;
  longdouble lVar24;
  uint *local_80;
  uint local_7c;
  uint *local_78;
  double local_74;
  uint *local_6c;
  char *local_68;
  double local_64;
  uint *local_5c;
  char *local_4c;
  uint local_48;
  uint local_34;
  
  if (param_1 == (uint *)0x0) {
    FUN_0009227b();
    param_2[3] = 0;
    FUN_00092d5e();
    return param_2;
  }
  FUN_00092151();
  iVar6 = DAT_000d1700;
  piVar5 = DAT_000d16fc;
  puVar4 = PTR_stdout_000d0fb4;
  local_80 = param_1;
  local_78 = param_2;
LAB_000949b7:
  local_7c = *local_80;
  uVar8 = local_80[1];
  *(uint *)(iVar6 + -0x24) = uVar8;
  puVar18 = (uint *)local_80[2];
  uVar21 = local_7c >> 8 & 0xff;
  if (uVar21 == 1) {
    if (((*puVar18 & 0xff00) != 0x2700) && ((*puVar18 & 0xff00) != 0x1800)) {
                    /* WARNING: Subroutine does not return */
      FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),uVar8,"Not an array");
    }
    if (puVar18[3] == 0) {
      FUN_0009211c();
      FUN_0009234a();
    }
    else {
      MASKED();
      FUN_0009295c();
      FUN_0009211c();
      FUN_0009269c();
    }
    goto LAB_00094ab0;
  }
  if ((local_7c & 0x10000) != 0) {
    local_6c = (uint *)MASKED();
  }
  if ((local_7c & 0x20000) != 0) {
    local_5c = (uint *)MASKED();
  }
  if ((local_7c & 0x40000) != 0) {
    local_68 = (char *)FUN_0009295c();
  }
  if ((local_7c & 0x80000) != 0) {
    local_4c = (char *)FUN_0009295c();
  }
  if ((local_7c & 0x100000) != 0) {
    lVar23 = (longdouble)FUN_000925a2();
    local_74 = (double)lVar23;
  }
  uVar8 = local_7c & 0x7f;
  switch(uVar21) {
  default:
    goto switchD_00094a90_caseD_0;
  case 2:
    break;
  case 3:
    *(uint *)(iVar6 + -0x28) = local_80[2];
    break;
  case 4:
  case 5:
    if (local_80[3] == 0) {
      pFVar10 = *(FILE **)PTR_stdout_000d0fb4;
    }
    else {
      piVar9 = (int *)FUN_00093a51();
      pFVar10 = (FILE *)*piVar9;
      if (pFVar10 == (FILE *)0x0) {
        if (uVar8 == 0x7c) {
          pFVar10 = popen(local_4c,"w");
          *piVar9 = (int)pFVar10;
          if (pFVar10 == (FILE *)0x0) {
                    /* WARNING: Subroutine does not return */
            FUN_00018e79("popen");
          }
          *(undefined1 *)(piVar9 + 5) = 1;
        }
        else {
          pFVar10 = (FILE *)FUN_00019c3e();
          *piVar9 = (int)pFVar10;
        }
      }
    }
    if ((local_7c & 0xff00) == 0x400) {
      if (puVar18 == (uint *)0x0) {
        pcVar15 = (char *)FUN_0009295c();
        fputs_unlocked(pcVar15,pFVar10);
      }
      else {
        while( true ) {
          puVar22 = (uint *)0x0;
          if ((*puVar18 & 0xff00) == 0x1300) {
            puVar22 = (uint *)puVar18[3];
          }
          puVar18 = puVar22;
          pbVar19 = (byte *)MASKED();
          if ((*pbVar19 & 1) == 0) {
            pcVar15 = (char *)FUN_0009295c();
            fputs_unlocked(pcVar15,pFVar10);
          }
          else {
            lVar23 = (longdouble)FUN_000925a2();
            FUN_0009295c();
            FUN_00092815((double)lVar23,1,extraout_EDX);
            fputs_unlocked(*(char **)(iVar6 + -0xc),pFVar10);
          }
          if (puVar18 == (uint *)0x0) break;
          pcVar15 = (char *)FUN_0009295c();
          fputs_unlocked(pcVar15,pFVar10);
        }
      }
      pcVar15 = (char *)FUN_0009295c();
      fputs_unlocked(pcVar15,pFVar10);
      fflush(pFVar10);
    }
    else {
      pcVar15 = (char *)FUN_00095fab();
      fputs_unlocked(pcVar15,pFVar10);
      free(pcVar15);
      fflush(pFVar10);
    }
    break;
  case 6:
    iVar7 = FUN_0009211c();
    if ((*local_6c & 0x800) == 0) {
      *local_6c = *local_6c | 0x800;
      uVar8 = 0;
    }
    else {
      uVar8 = local_6c[4];
    }
    piVar9 = (int *)FUN_00019b89();
    local_6c[4] = (uint)piVar9;
    *piVar9 = (int)(piVar9 + 3);
    piVar9[1] = (int)(piVar9 + 3);
    piVar9[2] = uVar8;
    if (*(int *)(iVar7 + 4) != 0) {
      uVar8 = 0;
      do {
        iVar20 = *(int *)(*(int *)(iVar7 + 0x10) + uVar8 * 4);
        if (iVar20 != 0) {
          pcVar15 = (char *)*piVar9;
          do {
            strcpy(pcVar15,(char *)(iVar20 + 0x1c));
            pcVar16 = (char *)*piVar9;
            do {
              pcVar15 = pcVar16 + 1;
              *piVar9 = (int)pcVar15;
              cVar1 = *pcVar16;
              pcVar16 = pcVar15;
            } while (cVar1 != '\0');
            iVar20 = *(int *)(iVar20 + 0x18);
          } while (iVar20 != 0);
        }
        uVar8 = uVar8 + 1;
      } while (uVar8 < *(uint *)(iVar7 + 4));
    }
    break;
  case 7:
    goto switchD_00094a90_caseD_7;
  case 10:
    FUN_00095b2f();
    goto switchD_00094a90_caseD_7;
  case 0xb:
    goto switchD_00094a90_caseD_b;
  case 0xc:
    *(undefined1 *)(iVar6 + -5) = 1;
    goto switchD_00094a90_caseD_b;
  case 0xd:
    if ((*puVar18 & 0xff00) != 0x1300) {
      iVar7 = FUN_00096324();
      if (iVar7 != 0) goto LAB_000956d3;
      local_80 = (uint *)local_80[3];
      break;
    }
    if (((local_7c & 0x200000) == 0) && (iVar7 = FUN_00096324(), iVar7 == 0)) {
      local_80 = (uint *)local_80[3];
      break;
    }
    *local_80 = *local_80 | 0x200000;
    iVar7 = FUN_00096324();
    if (iVar7 != 0) {
      *local_80 = *local_80 & 0xffdfffff;
    }
    goto LAB_000956d3;
  case 0xe:
    puVar18 = (uint *)local_6c[4];
    pcVar15 = (char *)puVar18[1];
    if (pcVar15 < (char *)*puVar18) {
      do {
        puVar18[1] = (uint)(pcVar15 + 1);
        cVar1 = *pcVar15;
        pcVar15 = pcVar15 + 1;
      } while (cVar1 != '\0');
      FUN_00093016();
      goto LAB_000956d3;
    }
    uVar8 = puVar18[2];
    free(puVar18);
    local_6c[4] = uVar8;
    local_80 = (uint *)local_80[3];
    break;
  case 0x10:
  case 0x22:
    lVar23 = (longdouble)FUN_000925a2();
    switch(uVar8) {
    case 0x25:
      lVar24 = (longdouble)0;
      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)
                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40) {
LAB_00095638:
        pcVar15 = "Division by zero";
        goto LAB_00094f35;
      }
      local_74 = (double)((longdouble)local_74 -
                         (longdouble)(longlong)ROUND((longdouble)local_74 / lVar23) * lVar23);
      break;
    case 0x26:
switchD_000950ee_caseD_2:
      pcVar15 = "Math support is not compiled in";
      goto LAB_00094f35;
    case 0x27:
    case 0x28:
    case 0x29:
    case 0x2c:
    case 0x2e:
      break;
    case 0x2a:
      local_74 = (double)(lVar23 * (longdouble)local_74);
      break;
    case 0x2b:
      local_74 = (double)(lVar23 + (longdouble)local_74);
      break;
    case 0x2d:
      local_74 = (double)((longdouble)local_74 - lVar23);
      break;
    case 0x2f:
      lVar24 = (longdouble)0;
      if ((byte)(lVar23 < lVar24 | (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8)
                | (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40)
      goto LAB_00095638;
      local_74 = (double)((longdouble)local_74 / lVar23);
    }
    if ((local_7c & 0xff00) != 0x1000) {
      local_78 = local_6c;
    }
    FUN_0009227b();
    *local_78 = *local_78 | 1;
    *(double *)(local_78 + 1) = local_74;
    FUN_00092d5e();
    break;
  case 0x11:
    local_78 = (uint *)FUN_00093dbd();
    break;
  case 0x13:
  case 0x15:
    puVar17 = &DAT_000cd91f;
    if ((local_7c & 0xff00) == 0x1300) {
      puVar17 = (undefined1 *)FUN_0009295c();
    }
    uVar8 = FUN_00019fd7("%s%s%s",local_68,puVar17,local_4c);
    FUN_0009227b();
    local_78[3] = uVar8;
    FUN_00092d5e();
    break;
  case 0x14:
    FUN_000925a2();
    if (((((ushort)*local_6c ^ 0x4000) & 0x4201) == 0) ||
       (FUN_000925a2(), (((ushort)*local_5c ^ 0x4000) & 0x4201) == 0)) {
      pcVar15 = (char *)FUN_0009295c();
      pcVar16 = (char *)FUN_0009295c();
      if (*(char *)(iVar6 + -8) == '\0') {
        iVar7 = strcmp(pcVar15,pcVar16);
        lVar23 = (longdouble)iVar7;
        goto joined_r0x0009536c;
      }
      iVar7 = strcasecmp(pcVar15,pcVar16);
      lVar23 = (longdouble)iVar7;
      if ((local_7c & 0x7e) != 2) goto LAB_00095372;
LAB_000952b4:
      local_48 = (uint)((longdouble)0 <= lVar23);
    }
    else {
      lVar24 = (longdouble)FUN_000925a2();
      lVar23 = (longdouble)FUN_000925a2();
      lVar23 = (longdouble)(double)lVar24 - lVar23;
joined_r0x0009536c:
      if ((local_7c & 0x7e) == 2) goto LAB_000952b4;
LAB_00095372:
      if ((local_7c & 0x7e) == 4) {
        lVar24 = (longdouble)0;
        local_48 = (uint)((byte)(lVar23 < lVar24 |
                                 (byte)((ushort)((ushort)(NAN(lVar23) || NAN(lVar24)) << 10) >> 8) |
                                (byte)((ushort)((ushort)(lVar23 == lVar24) << 0xe) >> 8)) == 0x40);
      }
      else if ((local_7c & 0x7e) == 0) {
        local_48 = (uint)((longdouble)0 < lVar23);
      }
    }
    FUN_0009227b();
    *local_78 = *local_78 | 1;
    *(double *)(local_78 + 1) = (double)(int)(local_7c & 1 ^ local_48 ^ 1);
    FUN_00092d5e();
    break;
  case 0x16:
    switch(uVar8) {
    case 0:
      local_64 = (double)(longlong)ROUND(local_74);
      break;
    case 1:
      iVar7 = rand();
      local_64 = (double)iVar7 / DAT_000b65c0;
      break;
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
      goto switchD_000950ee_caseD_2;
    case 7:
      uVar8 = *(uint *)(iVar6 + 0x8c);
      if (puVar18 == (uint *)0x0) {
        local_34 = time((time_t *)0x0);
      }
      else {
        local_34 = (uint)(longlong)ROUND(local_74);
      }
      local_64 = (double)(ulonglong)uVar8;
      local_64 = (double)(longlong)local_64;
      *(uint *)(iVar6 + 0x8c) = local_34;
      srand(local_34);
      break;
    case 8:
      tVar14 = time((time_t *)0x0);
      local_64 = (double)tVar14;
      break;
    case 9:
      if (puVar18 == (uint *)0x0) {
        local_68 = (char *)FUN_0009295c();
      }
      else if ((*local_6c & 2) != 0) {
        local_64 = (double)(ulonglong)*(uint *)local_6c[4];
        local_64 = (double)(longlong)local_64;
        break;
      }
      sVar13 = strlen(local_68);
      local_64 = (double)(ulonglong)sVar13;
      local_64 = (double)(longlong)local_64;
      break;
    case 10:
      FUN_00019f78();
      if (local_68 == (char *)0x0) {
        local_64 = 0.0;
      }
      else if (*local_68 == '\0') {
        local_64 = 0.0;
      }
      else {
        iVar7 = system(local_68);
        local_64 = (double)(iVar7 >> 8);
      }
      break;
    case 0xb:
      if (puVar18 == (uint *)0x0) {
        fflush(*(FILE **)puVar4);
      }
      else if ((local_68 == (char *)0x0) || (*local_68 == '\0')) {
        FUN_00019f78();
      }
      else {
        puVar11 = (undefined4 *)FUN_00093a51();
        fflush((FILE *)*puVar11);
      }
      break;
    case 0xc:
      puVar11 = (undefined4 *)FUN_000939df();
      if (puVar11 == (undefined4 *)0x0) {
        local_64 = 0.0;
      }
      else {
        pFVar10 = (FILE *)*puVar11;
        if (pFVar10 == (FILE *)0x0) {
          free((void *)puVar11[1]);
          FUN_0009269c();
          local_64 = 0.0;
        }
        else {
          if (*(char *)(puVar11 + 5) == '\0') {
            iVar7 = fclose(pFVar10);
          }
          else {
            iVar7 = pclose(pFVar10);
          }
          free((void *)puVar11[1]);
          FUN_0009269c();
          if (iVar7 == 0) {
            local_64 = 0.0;
          }
          else {
            iVar20 = *piVar5;
            puVar18 = *(uint **)(iVar6 + 0x44);
            FUN_0009227b();
            *puVar18 = *puVar18 | 1;
            *(double *)(puVar18 + 1) = (double)iVar20;
            FUN_00092d5e();
            local_64 = (double)iVar7;
          }
        }
      }
    }
    FUN_0009227b();
    *local_78 = *local_78 | 1;
    *(double *)(local_78 + 1) = local_64;
    FUN_00092d5e();
    break;
  case 0x17:
    lVar23 = (longdouble)FUN_000925a2();
    iVar7 = (int)ROUND(lVar23);
    if (iVar7 < 0) {
      pcVar15 = "Access to negative field";
      goto LAB_00094f35;
    }
    if (iVar7 == 0) {
      local_78 = *(uint **)(iVar6 + 0x34);
    }
    else {
      FUN_00092cc4();
      if (*(int *)(iVar6 + -0x20) < iVar7) {
        FUN_000922c0();
      }
      local_78 = (uint *)(*(int *)(iVar6 + -0x18) + -0x14 + iVar7 * 0x14);
    }
    break;
  case 0x18:
    local_78 = (uint *)(*(int *)(iVar6 + 0x88) + local_80[2] * 0x14);
    goto LAB_00094b15;
  case 0x19:
    if ((*(int *)local_80[3] == 0) && (((int *)local_80[3])[1] == 0)) {
      pcVar15 = "Call to undefined function";
      goto LAB_00094f35;
    }
    puVar12 = (uint *)FUN_00092151();
    puVar22 = puVar12;
    if (puVar18 != (uint *)0x0) {
      while ((*puVar18 & 0xff00) == 0x1300) {
        puVar18 = (uint *)puVar18[3];
        uVar8 = MASKED();
        FUN_00093453();
        *puVar22 = *puVar22 | 0x2000;
        puVar22[4] = uVar8;
        if ((*(uint *)local_80[3] <= (uint)(((int)(puVar22 + 5) - (int)puVar12 >> 2) * -0x33333333))
           || (puVar22 = puVar22 + 5, puVar18 == (uint *)0x0)) goto LAB_00094fd5;
      }
      uVar8 = MASKED();
      FUN_00093453();
      *puVar22 = *puVar22 | 0x2000;
      puVar22[4] = uVar8;
    }
LAB_00094fd5:
    uVar2 = *(undefined4 *)(iVar6 + 0x88);
    *(uint **)(iVar6 + 0x88) = puVar12;
    uVar3 = *(undefined4 *)(iVar6 + -0x28);
    local_78 = (uint *)MASKED();
    *(undefined4 *)(iVar6 + -0x28) = uVar3;
    FUN_000938f0();
    *(undefined4 *)(iVar6 + 0x88) = uVar2;
    break;
  case 0x1a:
  case 0x20:
    if (puVar18 == (uint *)0x0) {
      puVar11 = *(undefined4 **)(iVar6 + -0x3c);
      if (puVar11 != (undefined4 *)0x0) {
LAB_00094e49:
        pFVar10 = (FILE *)*puVar11;
        goto LAB_00094e4b;
      }
      puVar11 = (undefined4 *)FUN_00093cca();
      *(undefined4 **)(iVar6 + -0x3c) = puVar11;
      if (puVar11 != (undefined4 *)0x0) goto LAB_00094e49;
LAB_00094e4f:
      iVar7 = *DAT_000d16fc;
      puVar18 = *(uint **)(iVar6 + 0x44);
      FUN_0009227b();
      *puVar18 = *puVar18 | 1;
      *(double *)(puVar18 + 1) = (double)iVar7;
      FUN_00092d5e();
      FUN_0009227b();
      *local_78 = *local_78 | 1;
      local_78[1] = 0;
      local_78[2] = 0xbff00000;
      FUN_00092d5e();
    }
    else {
      piVar9 = (int *)FUN_00093a51();
      if (*piVar9 == 0) {
        if ((local_7c & 0xff00) == 0x2000) {
          pFVar10 = popen(local_68,"r");
          *piVar9 = (int)pFVar10;
          *(undefined1 *)(piVar9 + 5) = 1;
        }
        else {
          pFVar10 = (FILE *)FUN_0001923e();
          *piVar9 = (int)pFVar10;
        }
LAB_00094e4b:
        if (pFVar10 == (FILE *)0x0) goto LAB_00094e4f;
      }
      if (local_80[3] == 0) {
        local_5c = *(uint **)(iVar6 + 0x34);
      }
      iVar7 = FUN_0009307e();
      if ((0 < iVar7) && (puVar18 == (uint *)0x0)) {
        FUN_0009304a();
        FUN_0009304a();
      }
      FUN_0009227b();
      *local_78 = *local_78 | 1;
      *(double *)(local_78 + 1) = (double)iVar7;
      FUN_00092d5e();
    }
    break;
  case 0x1b:
    FUN_0009211c();
    iVar7 = FUN_000939df();
    if (iVar7 == 0) {
LAB_00094c2d:
      lVar23 = (longdouble)0;
    }
    else {
      lVar23 = (longdouble)1;
    }
    goto LAB_00094b8a;
  case 0x1c:
    iVar7 = FUN_00092658();
    if (iVar7 == 0) goto LAB_00094c2d;
LAB_00094da9:
    iVar7 = FUN_00096324();
    lVar23 = (longdouble)iVar7;
    goto LAB_00094b8a;
  case 0x1d:
    iVar7 = FUN_00092658();
    if (iVar7 == 0) goto LAB_00094da9;
LAB_00094c15:
    lVar23 = (longdouble)1;
    goto LAB_00094b8a;
  case 0x1e:
    goto LAB_00094ce7;
  case 0x1f:
    local_78 = (uint *)FUN_00093453();
    break;
  case 0x21:
    local_68 = (char *)FUN_0009295c();
LAB_00094ce7:
    __preg = (regex_t *)FUN_00095bc7();
    iVar7 = regexec(__preg,local_68,0,(regmatch_t *)0x0,0);
    if ((regex_t *)(iVar6 + 0x90) == __preg) {
      regfree((regex_t *)(iVar6 + 0x90));
    }
    FUN_0009227b();
    *local_78 = *local_78 | 1;
    *(double *)(local_78 + 1) = (double)((iVar7 == 0) != (uVar8 == 0x21));
    FUN_00092d5e();
    break;
  case 0x23:
    FUN_00093453();
    break;
  case 0x24:
    uVar8 = FUN_00095fab();
    FUN_0009227b();
    local_78[3] = uVar8;
    FUN_00092d5e();
    break;
  case 0x25:
    if ((*(uint *)local_80[3] & 0xff00) == 0x1200) {
      FUN_00092658();
      local_78 = (uint *)MASKED();
      break;
    }
    goto switchD_00094a90_caseD_0;
  case 0x26:
    lVar23 = (longdouble)FUN_000925a2();
    if (uVar8 == 0x4d) {
      lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;
      lVar23 = lVar24;
    }
    else {
      if (uVar8 < 0x4e) {
        if (uVar8 == 0x21) {
          iVar7 = FUN_00092658();
          if (iVar7 == 0) goto LAB_00094c15;
          goto LAB_00094c2d;
        }
        if (uVar8 == 0x2d) {
          lVar23 = -lVar23;
        }
        goto LAB_00094b8a;
      }
      if (uVar8 == 0x6d) {
        lVar24 = lVar23 - (longdouble)_DAT_000bc6f4;
      }
      else if (uVar8 == 0x70) {
        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;
      }
      else {
        if (uVar8 != 0x50) goto LAB_00094b8a;
        lVar24 = lVar23 + (longdouble)_DAT_000bc6f4;
        lVar23 = lVar24;
      }
    }
    FUN_0009227b();
    *local_5c = *local_5c | 1;
    *(double *)(local_5c + 1) = (double)lVar24;
    FUN_00092d5e();
    lVar23 = (longdouble)(double)lVar23;
LAB_00094b8a:
    FUN_0009227b();
    *local_78 = *local_78 | 1;
    *(double *)(local_78 + 1) = (double)lVar23;
    FUN_00092d5e();
    break;
  case 0x27:
    local_78 = (uint *)local_80[2];
    if (local_78 == *(uint **)(iVar6 + 0x50)) {
      FUN_00092cc4();
    }
LAB_00094b15:
    if (local_80[3] != 0) {
      FUN_0009211c();
      local_78 = (uint *)FUN_00093a51();
    }
    break;
  case 0x28:
    goto switchD_00094a90_caseD_28;
  }
LAB_00094ab0:
  local_7c = local_7c & 0xff00;
  if (local_7c < 0x601) {
    local_80 = (uint *)local_80[4];
    cVar1 = *(char *)(iVar6 + -6);
  }
  else {
    if (0xfff < local_7c) {
LAB_00094acb:
      FUN_000938f0();
      return local_78;
    }
    cVar1 = *(char *)(iVar6 + -6);
  }
  if ((cVar1 != '\0') || (local_80 == (uint *)0x0)) goto LAB_00094acb;
  goto LAB_000949b7;
switchD_00094a90_caseD_b:
  *(undefined1 *)(iVar6 + -6) = 1;
switchD_00094a90_caseD_28:
  FUN_0009227b();
  goto LAB_00094ab0;
switchD_00094a90_caseD_7:
  iVar7 = FUN_00092658();
  if (iVar7 == 0) {
    local_80 = (uint *)local_80[3];
  }
  else {
LAB_000956d3:
    local_80 = (uint *)local_80[4];
  }
  goto LAB_00094ab0;
switchD_00094a90_caseD_0:
  pcVar15 = "Possible syntax error";
LAB_00094f35:
                    /* WARNING: Subroutine does not return */
  FUN_000191a6("%s:%i: %s",*(undefined4 *)(iVar6 + -0x28),*(undefined4 *)(iVar6 + -0x24),pcVar15);
}

