
void check_script_file_with_current_encoding(FILE *script)

{
  int iVar1;
  int iVar2;
  wchar_t *pwVar3;
  undefined4 *puVar4;
  char *pcVar5;
  char cVar10;
  int iVar6;
  int iVar7;
  int *piVar8;
  int *piVar9;
  FILE *script_00;
  undefined4 *puVar11;
  FILE *script_01;
  char *pcVar12;
  undefined1 *puVar13;
  undefined *puVar14;
  int iVar15;
  undefined *puVar16;
  code *pcVar17;
  int aiStack_8dc [31];
  char acStack_85d [1025];
  int iStack_45c;
  FILE *pFStack_458;
  FILE *pFStack_454;
  undefined *puStack_450;
  char line [1024];
  
  iVar1 = *(int *)PTR___stack_chk_guard_0002d45c;
  get_script_line(script,line);
  puVar14 = PTR_get_script_line_0002d240;
  while (iVar2 = (*(code *)PTR_feof_0002d3ec)(script), iVar2 == 0) {
    pwVar3 = convertFromUTF8(line);
    (*(code *)PTR_free_0002d46c)(pwVar3);
    get_script_line(script,line);
  }
  if (iVar1 == *(int *)PTR___stack_chk_guard_0002d45c) {
    return;
  }
  script_00 = (FILE *)line;
  puVar16 = PTR___stack_chk_fail_0002d440;
  (*(code *)PTR___stack_chk_fail_0002d440)();
  iStack_45c = **(int **)(puVar16 + 0x13c9c);
  pFStack_458 = script;
  pFStack_454 = (FILE *)line;
  puStack_450 = puVar14;
  (**(code **)(puVar16 + 0x13c7c))();
  **(undefined4 **)(puVar16 + 0x13b20) = 0;
  puVar4 = *(undefined4 **)(puVar16 + 0x13b34);
  piVar8 = aiStack_8dc;
  puVar11 = puVar4 + 0x20;
  do {
    *puVar4 = 0;
    *piVar8 = 0;
    puVar4 = puVar4 + 1;
    piVar8 = piVar8 + 1;
  } while (puVar11 != puVar4);
  pcVar12 = acStack_85d + 1;
  get_script_line(script_00,pcVar12);
  iVar2 = *(int *)(puVar16 + 0x13a78);
  iVar1 = *(int *)(puVar16 + 0x13a78);
  iVar15 = *(int *)(puVar16 + 0x13a78);
  do {
    script_01 = script_00;
    iVar7 = (**(code **)(puVar16 + 0x13c2c))();
    if (iVar7 != 0) {
      if (iStack_45c != **(int **)(puVar16 + 0x13c9c)) {
        pcVar17 = *(code **)(puVar16 + 0x13c80);
        (*pcVar17)();
        puVar13 = (undefined1 *)0x0;
        iVar1 = 0;
        iVar2 = 0;
        iVar15 = *(int *)(pcVar17 + 0x1368c);
        while( true ) {
          iVar7 = (**(code **)(pcVar17 + 0x13834))(pcVar12 + 2);
          puVar13 = (undefined1 *)(**(code **)(pcVar17 + 0x13860))(puVar13,iVar7 + 2 + iVar2);
          if (puVar13 == (undefined1 *)0x0) {
            pcVar5 = (char *)(**(code **)(pcVar17 + 0x13898))(0,iVar15 + -0x4d20,5);
            fatal_error(pcVar5,pcVar12);
          }
          if (iVar1 == 0) {
            *puVar13 = 0;
          }
          (**(code **)(pcVar17 + 0x13878))(puVar13,pcVar12 + 2);
          iVar1 = (**(code **)(pcVar17 + 0x13834))(puVar13);
          puVar13[iVar1] = 10;
          (puVar13 + iVar1)[1] = 0;
          iVar1 = (**(code **)(pcVar17 + 0x13834))(puVar13);
          get_script_line(script_01,pcVar12);
          if ((*pcVar12 != ' ') || (iVar2 = (**(code **)(pcVar17 + 0x13840))(script_01), iVar2 != 0)
             ) break;
          iVar2 = (**(code **)(pcVar17 + 0x13834))(puVar13);
        }
        return;
      }
      return;
    }
    if (acStack_85d[1] == '*') {
      piVar8 = (int *)(**(code **)(puVar16 + 0x13c48))(0x10);
      if (piVar8 == (int *)0x0) {
        pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar15 + -0x4d20,5);
        fatal_error(pcVar12,acStack_85d + 1);
      }
      pcVar5 = acStack_85d + 1;
      iVar7 = (**(code **)(puVar16 + 0x13c20))(pcVar5);
      pcVar12 = pcVar5 + iVar7 + -1;
      if (pcVar12 != pcVar5) {
        piVar9 = (int *)(**(code **)(puVar16 + 0x13b6c))();
        iVar7 = *piVar9;
        do {
          if ((*(ushort *)(iVar7 + *pcVar12 * 2) & 0x20) == 0) break;
          *pcVar12 = '\0';
          pcVar12 = pcVar12 + -1;
        } while (pcVar12 != acStack_85d + 1);
      }
      pcVar12 = acStack_85d + 3;
      if (acStack_85d[3] != '\0') {
        cVar10 = acStack_85d[3];
        do {
          if (cVar10 == ' ') {
            pcVar5 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar2 + -0x36b8,5);
            fatal_error(pcVar5,acStack_85d + 1);
          }
          pcVar12 = pcVar12 + 1;
          cVar10 = *pcVar12;
        } while (cVar10 != '\0');
      }
      iVar7 = (**(code **)(puVar16 + 0x13c20))(acStack_85d + 3);
      iVar7 = (**(code **)(puVar16 + 0x13c48))(iVar7 + 1);
      *piVar8 = iVar7;
      if (iVar7 == 0) {
        pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar15 + -0x4d20,5);
        fatal_error(pcVar12,acStack_85d + 1);
      }
      (**(code **)(puVar16 + 0x13c5c))(*piVar8,acStack_85d + 3);
      iVar7 = (**(code **)(puVar16 + 0x13c04))(script_00);
      piVar8[1] = iVar7;
      piVar8[2] = **(int **)(puVar16 + 0x13b20);
      piVar8[3] = 0;
      iVar7 = hash_label(acStack_85d + 3);
      puVar4 = *(undefined4 **)(*(int *)(puVar16 + 0x13b34) + iVar7 * 4);
      if (puVar4 != (undefined4 *)0x0) {
        do {
          iVar6 = (**(code **)(puVar16 + 0x13cd4))(*puVar4,acStack_85d + 3);
          if (iVar6 == 0) {
            pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar1 + -0x36a0,5);
            fatal_error(pcVar12,acStack_85d + 1);
            puVar4 = (undefined4 *)puVar4[3];
          }
          else {
            puVar4 = (undefined4 *)puVar4[3];
          }
        } while (puVar4 != (undefined4 *)0x0);
      }
      if (aiStack_8dc[iVar7] == 0) {
        *(int **)(*(int *)(puVar16 + 0x13b34) + iVar7 * 4) = piVar8;
      }
      else {
        *(int **)(aiStack_8dc[iVar7] + 0xc) = piVar8;
      }
      aiStack_8dc[iVar7] = (int)piVar8;
    }
    pcVar12 = acStack_85d + 1;
    get_script_line(script_00,pcVar12);
  } while( true );
}



undefined1 * check_script_file_with_current_encoding(undefined4 param_1)

{
  int iVar1;
  undefined4 uVar2;
  undefined4 *puVar3;
  char cVar8;
  int iVar4;
  int iVar5;
  int *piVar6;
  int *piVar7;
  undefined4 *puVar9;
  undefined1 *puVar10;
  char *pcVar11;
  undefined1 *puVar12;
  undefined *puVar13;
  int iVar14;
  int iVar15;
  char *pcVar16;
  undefined *puVar17;
  code *pcVar18;
  int aiStack_8dc [31];
  char acStack_85d [1025];
  undefined1 *puStack_45c;
  undefined4 uStack_458;
  undefined1 *puStack_454;
  undefined *puStack_450;
  undefined1 auStack_414 [1024];
  undefined1 *local_14;
  
  local_14 = *(undefined1 **)PTR___stack_chk_guard_0002d45c;
  get_script_line(param_1,auStack_414);
  puVar13 = PTR_get_script_line_0002d240;
  while (iVar1 = (*(code *)PTR_feof_0002d3ec)(param_1), iVar1 == 0) {
    uVar2 = convertFromUTF8();
    (*(code *)PTR_free_0002d46c)(uVar2);
    get_script_line(param_1,auStack_414);
  }
  if (local_14 == *(undefined1 **)PTR___stack_chk_guard_0002d45c) {
    return *(undefined1 **)PTR___stack_chk_guard_0002d45c;
  }
  puVar12 = auStack_414;
  puVar17 = PTR___stack_chk_fail_0002d440;
  (*(code *)PTR___stack_chk_fail_0002d440)();
  puStack_45c = (undefined1 *)**(int **)(puVar17 + 0x13c9c);
  uStack_458 = param_1;
  puStack_454 = auStack_414;
  puStack_450 = puVar13;
  (**(code **)(puVar17 + 0x13c7c))();
  **(undefined4 **)(puVar17 + 0x13b20) = 0;
  puVar3 = *(undefined4 **)(puVar17 + 0x13b34);
  piVar6 = aiStack_8dc;
  puVar9 = puVar3 + 0x20;
  do {
    *puVar3 = 0;
    *piVar6 = 0;
    puVar3 = puVar3 + 1;
    piVar6 = piVar6 + 1;
  } while (puVar9 != puVar3);
  pcVar11 = acStack_85d + 1;
  get_script_line(puVar12);
  iVar14 = *(int *)(puVar17 + 0x13a78);
  iVar1 = *(int *)(puVar17 + 0x13a78);
  iVar15 = *(int *)(puVar17 + 0x13a78);
  do {
    puVar10 = puVar12;
    iVar5 = (**(code **)(puVar17 + 0x13c2c))(puVar12);
    if (iVar5 != 0) {
      if (puStack_45c != (undefined1 *)**(int **)(puVar17 + 0x13c9c)) {
        pcVar18 = *(code **)(puVar17 + 0x13c80);
        (*pcVar18)();
        puVar12 = (undefined1 *)0x0;
        iVar1 = 0;
        iVar14 = 0;
        iVar15 = *(int *)(pcVar18 + 0x1368c);
        while( true ) {
          iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2);
          puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14);
          if (puVar12 == (undefined1 *)0x0) {
            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);
            fatal_error(uVar2,pcVar11);
          }
          if (iVar1 == 0) {
            *puVar12 = 0;
          }
          (**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2);
          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);
          puVar12[iVar1] = 10;
          (puVar12 + iVar1)[1] = 0;
          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);
          get_script_line(puVar10,pcVar11);
          if ((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)
             ) break;
          iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12);
        }
        return puVar12;
      }
      return (undefined1 *)**(int **)(puVar17 + 0x13c9c);
    }
    if (acStack_85d[1] == '*') {
      piVar6 = (int *)(**(code **)(puVar17 + 0x13c48))(0x10);
      if (piVar6 == (int *)0x0) {
        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);
        fatal_error(uVar2,acStack_85d + 1);
      }
      pcVar16 = acStack_85d + 1;
      iVar5 = (**(code **)(puVar17 + 0x13c20))(pcVar16);
      pcVar11 = pcVar16 + iVar5 + -1;
      if (pcVar11 != pcVar16) {
        piVar7 = (int *)(**(code **)(puVar17 + 0x13b6c))();
        iVar5 = *piVar7;
        do {
          if ((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0) break;
          *pcVar11 = '\0';
          pcVar11 = pcVar11 + -1;
        } while (pcVar11 != acStack_85d + 1);
      }
      pcVar11 = acStack_85d + 3;
      if (acStack_85d[3] != '\0') {
        cVar8 = acStack_85d[3];
        do {
          if (cVar8 == ' ') {
            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);
            fatal_error(uVar2,acStack_85d + 1);
          }
          pcVar11 = pcVar11 + 1;
          cVar8 = *pcVar11;
        } while (cVar8 != '\0');
      }
      iVar5 = (**(code **)(puVar17 + 0x13c20))(acStack_85d + 3);
      iVar5 = (**(code **)(puVar17 + 0x13c48))(iVar5 + 1);
      *piVar6 = iVar5;
      if (iVar5 == 0) {
        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);
        fatal_error(uVar2,acStack_85d + 1);
      }
      (**(code **)(puVar17 + 0x13c5c))(*piVar6,acStack_85d + 3);
      iVar5 = (**(code **)(puVar17 + 0x13c04))(puVar12);
      piVar6[1] = iVar5;
      piVar6[2] = **(int **)(puVar17 + 0x13b20);
      piVar6[3] = 0;
      iVar5 = hash_label(acStack_85d + 3);
      puVar3 = *(undefined4 **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4);
      if (puVar3 != (undefined4 *)0x0) {
        do {
          iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3);
          if (iVar4 == 0) {
            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);
            fatal_error(uVar2,acStack_85d + 1);
            puVar3 = (undefined4 *)puVar3[3];
          }
          else {
            puVar3 = (undefined4 *)puVar3[3];
          }
        } while (puVar3 != (undefined4 *)0x0);
      }
      if (aiStack_8dc[iVar5] == 0) {
        *(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4) = piVar6;
      }
      else {
        *(int **)(aiStack_8dc[iVar5] + 0xc) = piVar6;
      }
      aiStack_8dc[iVar5] = (int)piVar6;
    }
    pcVar11 = acStack_85d + 1;
    get_script_line(puVar12);
  } while( true );
}


lui gp,0x2
addiu gp,gp,-0x44dc
addu gp,gp,t9
addiu sp,sp,-0x430
sw ra,0x42c(sp)
sw s2,0x428(sp)
sw s1,0x424(sp)
sw s0,0x420(sp)
sw gp,0x10(sp)
or s0,a0,zero
lw v0,-0x7da4(gp)
lw v0,0x0(v0)
sw v0,0x41c(sp)
addiu a1,sp,0x1c
lw t9,-0x7fc0(gp)
bal 0x000193a0
_nop
lw gp,0x10(sp)
addiu s1,sp,0x1c
lw s2,-0x7fc0(gp)
or a0,s0,zero
lw t9,-0x7e14(gp)
jalr t9
_nop
lw gp,0x10(sp)
bne v0,zero,0x0001978c
_or a0,s1,zero
lw t9,-0x7f5c(gp)
bal 0x0001a87c
_nop
lw gp,0x10(sp)
or a0,v0,zero
lw t9,-0x7d94(gp)
jalr t9
_nop
lw gp,0x10(sp)
or a1,s1,zero
or a0,s0,zero
or t9,s2,zero
bal 0x000193a0
_nop
lw gp,0x10(sp)
b 0x00019730
_or a0,s0,zero
lw v1,0x41c(sp)
lw v0,-0x7da4(gp)
lw v0,0x0(v0)
bne v1,v0,0x000197b4
_lw ra,0x42c(sp)
lw s2,0x428(sp)
lw s1,0x424(sp)
lw s0,0x420(sp)
jr ra
_addiu sp,sp,0x430
lw t9,-0x7dc0(gp)
jalr t9
_nop
(translation_unit "undefined1 * check_script_file_with_current_encoding(undefined4 param_1)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 *puVar3;\n  char cVar8;\n  int iVar4;\n  int iVar5;\n  int *piVar6;\n  int *piVar7;\n  undefined4 *puVar9;\n  undefined1 *puVar10;\n  char *pcVar11;\n  undefined1 *puVar12;\n  undefined *puVar13;\n  int iVar14;\n  int iVar15;\n  char *pcVar16;\n  undefined *puVar17;\n  code *pcVar18;\n  int aiStack_8dc [31];\n  char acStack_85d [1025];\n  undefined1 *puStack_45c;\n  undefined4 uStack_458;\n  undefined1 *puStack_454;\n  undefined *puStack_450;\n  undefined1 auStack_414 [1024];\n  undefined1 *local_14;\n  \n  local_14 = *(undefined1 **)PTR___stack_chk_guard_0002d45c;\n  get_script_line(param_1,auStack_414);\n  puVar13 = PTR_get_script_line_0002d240;\n  while (iVar1 = (*(code *)PTR_feof_0002d3ec)(param_1), iVar1 == 0) {\n    uVar2 = convertFromUTF8();\n    (*(code *)PTR_free_0002d46c)(uVar2);\n    get_script_line(param_1,auStack_414);\n  }\n  if (local_14 == *(undefined1 **)PTR___stack_chk_guard_0002d45c) {\n    return *(undefined1 **)PTR___stack_chk_guard_0002d45c;\n  }\n  puVar12 = auStack_414;\n  puVar17 = PTR___stack_chk_fail_0002d440;\n  (*(code *)PTR___stack_chk_fail_0002d440)();\n  puStack_45c = (undefined1 *)**(int **)(puVar17 + 0x13c9c);\n  uStack_458 = param_1;\n  puStack_454 = auStack_414;\n  puStack_450 = puVar13;\n  (**(code **)(puVar17 + 0x13c7c))();\n  **(undefined4 **)(puVar17 + 0x13b20) = 0;\n  puVar3 = *(undefined4 **)(puVar17 + 0x13b34);\n  piVar6 = aiStack_8dc;\n  puVar9 = puVar3 + 0x20;\n  do {\n    *puVar3 = 0;\n    *piVar6 = 0;\n    puVar3 = puVar3 + 1;\n    piVar6 = piVar6 + 1;\n  } while (puVar9 != puVar3);\n  pcVar11 = acStack_85d + 1;\n  get_script_line(puVar12);\n  iVar14 = *(int *)(puVar17 + 0x13a78);\n  iVar1 = *(int *)(puVar17 + 0x13a78);\n  iVar15 = *(int *)(puVar17 + 0x13a78);\n  do {\n    puVar10 = puVar12;\n    iVar5 = (**(code **)(puVar17 + 0x13c2c))(puVar12);\n    if (iVar5 != 0) {\n      if (puStack_45c != (undefined1 *)**(int **)(puVar17 + 0x13c9c)) {\n        pcVar18 = *(code **)(puVar17 + 0x13c80);\n        (*pcVar18)();\n        puVar12 = (undefined1 *)0x0;\n        iVar1 = 0;\n        iVar14 = 0;\n        iVar15 = *(int *)(pcVar18 + 0x1368c);\n        while( true ) {\n          iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2);\n          puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14);\n          if (puVar12 == (undefined1 *)0x0) {\n            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(uVar2,pcVar11);\n          }\n          if (iVar1 == 0) {\n            *puVar12 = 0;\n          }\n          (**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2);\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          puVar12[iVar1] = 10;\n          (puVar12 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          get_script_line(puVar10,pcVar11);\n          if ((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)\n             ) break;\n          iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n        }\n        return puVar12;\n      }\n      return (undefined1 *)**(int **)(puVar17 + 0x13c9c);\n    }\n    if (acStack_85d[1] == '*') {\n      piVar6 = (int *)(**(code **)(puVar17 + 0x13c48))(0x10);\n      if (piVar6 == (int *)0x0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      pcVar16 = acStack_85d + 1;\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(pcVar16);\n      pcVar11 = pcVar16 + iVar5 + -1;\n      if (pcVar11 != pcVar16) {\n        piVar7 = (int *)(**(code **)(puVar17 + 0x13b6c))();\n        iVar5 = *piVar7;\n        do {\n          if ((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0) break;\n          *pcVar11 = '\0';\n          pcVar11 = pcVar11 + -1;\n        } while (pcVar11 != acStack_85d + 1);\n      }\n      pcVar11 = acStack_85d + 3;\n      if (acStack_85d[3] != '\0') {\n        cVar8 = acStack_85d[3];\n        do {\n          if (cVar8 == ' ') {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);\n            fatal_error(uVar2,acStack_85d + 1);\n          }\n          pcVar11 = pcVar11 + 1;\n          cVar8 = *pcVar11;\n        } while (cVar8 != '\0');\n      }\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c48))(iVar5 + 1);\n      *piVar6 = iVar5;\n      if (iVar5 == 0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      (**(code **)(puVar17 + 0x13c5c))(*piVar6,acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c04))(puVar12);\n      piVar6[1] = iVar5;\n      piVar6[2] = **(int **)(puVar17 + 0x13b20);\n      piVar6[3] = 0;\n      iVar5 = hash_label(acStack_85d + 3);\n      puVar3 = *(undefined4 **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4);\n      if (puVar3 != (undefined4 *)0x0) {\n        do {\n          iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3);\n          if (iVar4 == 0) {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(uVar2,acStack_85d + 1);\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n          else {\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n        } while (puVar3 != (undefined4 *)0x0);\n      }\n      if (aiStack_8dc[iVar5] == 0) {\n        *(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4) = piVar6;\n      }\n      else {\n        *(int **)(aiStack_8dc[iVar5] + 0xc) = piVar6;\n      }\n      aiStack_8dc[iVar5] = (int)piVar6;\n    }\n    pcVar11 = acStack_85d + 1;\n    get_script_line(puVar12);\n  } while( true );\n}\n\n" (function_definition "undefined1 * check_script_file_with_current_encoding(undefined4 param_1)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 *puVar3;\n  char cVar8;\n  int iVar4;\n  int iVar5;\n  int *piVar6;\n  int *piVar7;\n  undefined4 *puVar9;\n  undefined1 *puVar10;\n  char *pcVar11;\n  undefined1 *puVar12;\n  undefined *puVar13;\n  int iVar14;\n  int iVar15;\n  char *pcVar16;\n  undefined *puVar17;\n  code *pcVar18;\n  int aiStack_8dc [31];\n  char acStack_85d [1025];\n  undefined1 *puStack_45c;\n  undefined4 uStack_458;\n  undefined1 *puStack_454;\n  undefined *puStack_450;\n  undefined1 auStack_414 [1024];\n  undefined1 *local_14;\n  \n  local_14 = *(undefined1 **)PTR___stack_chk_guard_0002d45c;\n  get_script_line(param_1,auStack_414);\n  puVar13 = PTR_get_script_line_0002d240;\n  while (iVar1 = (*(code *)PTR_feof_0002d3ec)(param_1), iVar1 == 0) {\n    uVar2 = convertFromUTF8();\n    (*(code *)PTR_free_0002d46c)(uVar2);\n    get_script_line(param_1,auStack_414);\n  }\n  if (local_14 == *(undefined1 **)PTR___stack_chk_guard_0002d45c) {\n    return *(undefined1 **)PTR___stack_chk_guard_0002d45c;\n  }\n  puVar12 = auStack_414;\n  puVar17 = PTR___stack_chk_fail_0002d440;\n  (*(code *)PTR___stack_chk_fail_0002d440)();\n  puStack_45c = (undefined1 *)**(int **)(puVar17 + 0x13c9c);\n  uStack_458 = param_1;\n  puStack_454 = auStack_414;\n  puStack_450 = puVar13;\n  (**(code **)(puVar17 + 0x13c7c))();\n  **(undefined4 **)(puVar17 + 0x13b20) = 0;\n  puVar3 = *(undefined4 **)(puVar17 + 0x13b34);\n  piVar6 = aiStack_8dc;\n  puVar9 = puVar3 + 0x20;\n  do {\n    *puVar3 = 0;\n    *piVar6 = 0;\n    puVar3 = puVar3 + 1;\n    piVar6 = piVar6 + 1;\n  } while (puVar9 != puVar3);\n  pcVar11 = acStack_85d + 1;\n  get_script_line(puVar12);\n  iVar14 = *(int *)(puVar17 + 0x13a78);\n  iVar1 = *(int *)(puVar17 + 0x13a78);\n  iVar15 = *(int *)(puVar17 + 0x13a78);\n  do {\n    puVar10 = puVar12;\n    iVar5 = (**(code **)(puVar17 + 0x13c2c))(puVar12);\n    if (iVar5 != 0) {\n      if (puStack_45c != (undefined1 *)**(int **)(puVar17 + 0x13c9c)) {\n        pcVar18 = *(code **)(puVar17 + 0x13c80);\n        (*pcVar18)();\n        puVar12 = (undefined1 *)0x0;\n        iVar1 = 0;\n        iVar14 = 0;\n        iVar15 = *(int *)(pcVar18 + 0x1368c);\n        while( true ) {\n          iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2);\n          puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14);\n          if (puVar12 == (undefined1 *)0x0) {\n            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(uVar2,pcVar11);\n          }\n          if (iVar1 == 0) {\n            *puVar12 = 0;\n          }\n          (**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2);\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          puVar12[iVar1] = 10;\n          (puVar12 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          get_script_line(puVar10,pcVar11);\n          if ((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)\n             ) break;\n          iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n        }\n        return puVar12;\n      }\n      return (undefined1 *)**(int **)(puVar17 + 0x13c9c);\n    }\n    if (acStack_85d[1] == '*') {\n      piVar6 = (int *)(**(code **)(puVar17 + 0x13c48))(0x10);\n      if (piVar6 == (int *)0x0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      pcVar16 = acStack_85d + 1;\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(pcVar16);\n      pcVar11 = pcVar16 + iVar5 + -1;\n      if (pcVar11 != pcVar16) {\n        piVar7 = (int *)(**(code **)(puVar17 + 0x13b6c))();\n        iVar5 = *piVar7;\n        do {\n          if ((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0) break;\n          *pcVar11 = '\0';\n          pcVar11 = pcVar11 + -1;\n        } while (pcVar11 != acStack_85d + 1);\n      }\n      pcVar11 = acStack_85d + 3;\n      if (acStack_85d[3] != '\0') {\n        cVar8 = acStack_85d[3];\n        do {\n          if (cVar8 == ' ') {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);\n            fatal_error(uVar2,acStack_85d + 1);\n          }\n          pcVar11 = pcVar11 + 1;\n          cVar8 = *pcVar11;\n        } while (cVar8 != '\0');\n      }\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c48))(iVar5 + 1);\n      *piVar6 = iVar5;\n      if (iVar5 == 0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      (**(code **)(puVar17 + 0x13c5c))(*piVar6,acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c04))(puVar12);\n      piVar6[1] = iVar5;\n      piVar6[2] = **(int **)(puVar17 + 0x13b20);\n      piVar6[3] = 0;\n      iVar5 = hash_label(acStack_85d + 3);\n      puVar3 = *(undefined4 **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4);\n      if (puVar3 != (undefined4 *)0x0) {\n        do {\n          iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3);\n          if (iVar4 == 0) {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(uVar2,acStack_85d + 1);\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n          else {\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n        } while (puVar3 != (undefined4 *)0x0);\n      }\n      if (aiStack_8dc[iVar5] == 0) {\n        *(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4) = piVar6;\n      }\n      else {\n        *(int **)(aiStack_8dc[iVar5] + 0xc) = piVar6;\n      }\n      aiStack_8dc[iVar5] = (int)piVar6;\n    }\n    pcVar11 = acStack_85d + 1;\n    get_script_line(puVar12);\n  } while( true );\n}" type_identifier (pointer_declarator "* check_script_file_with_current_encoding(undefined4 param_1)" * (function_declarator "check_script_file_with_current_encoding(undefined4 param_1)" identifier (parameter_list "(undefined4 param_1)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) )))) (compound_statement "{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 *puVar3;\n  char cVar8;\n  int iVar4;\n  int iVar5;\n  int *piVar6;\n  int *piVar7;\n  undefined4 *puVar9;\n  undefined1 *puVar10;\n  char *pcVar11;\n  undefined1 *puVar12;\n  undefined *puVar13;\n  int iVar14;\n  int iVar15;\n  char *pcVar16;\n  undefined *puVar17;\n  code *pcVar18;\n  int aiStack_8dc [31];\n  char acStack_85d [1025];\n  undefined1 *puStack_45c;\n  undefined4 uStack_458;\n  undefined1 *puStack_454;\n  undefined *puStack_450;\n  undefined1 auStack_414 [1024];\n  undefined1 *local_14;\n  \n  local_14 = *(undefined1 **)PTR___stack_chk_guard_0002d45c;\n  get_script_line(param_1,auStack_414);\n  puVar13 = PTR_get_script_line_0002d240;\n  while (iVar1 = (*(code *)PTR_feof_0002d3ec)(param_1), iVar1 == 0) {\n    uVar2 = convertFromUTF8();\n    (*(code *)PTR_free_0002d46c)(uVar2);\n    get_script_line(param_1,auStack_414);\n  }\n  if (local_14 == *(undefined1 **)PTR___stack_chk_guard_0002d45c) {\n    return *(undefined1 **)PTR___stack_chk_guard_0002d45c;\n  }\n  puVar12 = auStack_414;\n  puVar17 = PTR___stack_chk_fail_0002d440;\n  (*(code *)PTR___stack_chk_fail_0002d440)();\n  puStack_45c = (undefined1 *)**(int **)(puVar17 + 0x13c9c);\n  uStack_458 = param_1;\n  puStack_454 = auStack_414;\n  puStack_450 = puVar13;\n  (**(code **)(puVar17 + 0x13c7c))();\n  **(undefined4 **)(puVar17 + 0x13b20) = 0;\n  puVar3 = *(undefined4 **)(puVar17 + 0x13b34);\n  piVar6 = aiStack_8dc;\n  puVar9 = puVar3 + 0x20;\n  do {\n    *puVar3 = 0;\n    *piVar6 = 0;\n    puVar3 = puVar3 + 1;\n    piVar6 = piVar6 + 1;\n  } while (puVar9 != puVar3);\n  pcVar11 = acStack_85d + 1;\n  get_script_line(puVar12);\n  iVar14 = *(int *)(puVar17 + 0x13a78);\n  iVar1 = *(int *)(puVar17 + 0x13a78);\n  iVar15 = *(int *)(puVar17 + 0x13a78);\n  do {\n    puVar10 = puVar12;\n    iVar5 = (**(code **)(puVar17 + 0x13c2c))(puVar12);\n    if (iVar5 != 0) {\n      if (puStack_45c != (undefined1 *)**(int **)(puVar17 + 0x13c9c)) {\n        pcVar18 = *(code **)(puVar17 + 0x13c80);\n        (*pcVar18)();\n        puVar12 = (undefined1 *)0x0;\n        iVar1 = 0;\n        iVar14 = 0;\n        iVar15 = *(int *)(pcVar18 + 0x1368c);\n        while( true ) {\n          iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2);\n          puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14);\n          if (puVar12 == (undefined1 *)0x0) {\n            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(uVar2,pcVar11);\n          }\n          if (iVar1 == 0) {\n            *puVar12 = 0;\n          }\n          (**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2);\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          puVar12[iVar1] = 10;\n          (puVar12 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          get_script_line(puVar10,pcVar11);\n          if ((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)\n             ) break;\n          iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n        }\n        return puVar12;\n      }\n      return (undefined1 *)**(int **)(puVar17 + 0x13c9c);\n    }\n    if (acStack_85d[1] == '*') {\n      piVar6 = (int *)(**(code **)(puVar17 + 0x13c48))(0x10);\n      if (piVar6 == (int *)0x0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      pcVar16 = acStack_85d + 1;\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(pcVar16);\n      pcVar11 = pcVar16 + iVar5 + -1;\n      if (pcVar11 != pcVar16) {\n        piVar7 = (int *)(**(code **)(puVar17 + 0x13b6c))();\n        iVar5 = *piVar7;\n        do {\n          if ((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0) break;\n          *pcVar11 = '\0';\n          pcVar11 = pcVar11 + -1;\n        } while (pcVar11 != acStack_85d + 1);\n      }\n      pcVar11 = acStack_85d + 3;\n      if (acStack_85d[3] != '\0') {\n        cVar8 = acStack_85d[3];\n        do {\n          if (cVar8 == ' ') {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);\n            fatal_error(uVar2,acStack_85d + 1);\n          }\n          pcVar11 = pcVar11 + 1;\n          cVar8 = *pcVar11;\n        } while (cVar8 != '\0');\n      }\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c48))(iVar5 + 1);\n      *piVar6 = iVar5;\n      if (iVar5 == 0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      (**(code **)(puVar17 + 0x13c5c))(*piVar6,acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c04))(puVar12);\n      piVar6[1] = iVar5;\n      piVar6[2] = **(int **)(puVar17 + 0x13b20);\n      piVar6[3] = 0;\n      iVar5 = hash_label(acStack_85d + 3);\n      puVar3 = *(undefined4 **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4);\n      if (puVar3 != (undefined4 *)0x0) {\n        do {\n          iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3);\n          if (iVar4 == 0) {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(uVar2,acStack_85d + 1);\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n          else {\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n        } while (puVar3 != (undefined4 *)0x0);\n      }\n      if (aiStack_8dc[iVar5] == 0) {\n        *(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4) = piVar6;\n      }\n      else {\n        *(int **)(aiStack_8dc[iVar5] + 0xc) = piVar6;\n      }\n      aiStack_8dc[iVar5] = (int)piVar6;\n    }\n    pcVar11 = acStack_85d + 1;\n    get_script_line(puVar12);\n  } while( true );\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "char cVar8;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined1 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "undefined1 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "undefined *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "code *pcVar18;" type_identifier (pointer_declarator "*pcVar18" * identifier) ;) (declaration "int aiStack_8dc [31];" primitive_type (array_declarator "aiStack_8dc [31]" identifier [ number_literal ]) ;) (declaration "char acStack_85d [1025];" primitive_type (array_declarator "acStack_85d [1025]" identifier [ number_literal ]) ;) (declaration "undefined1 *puStack_45c;" type_identifier (pointer_declarator "*puStack_45c" * identifier) ;) (declaration "undefined4 uStack_458;" type_identifier identifier ;) (declaration "undefined1 *puStack_454;" type_identifier (pointer_declarator "*puStack_454" * identifier) ;) (declaration "undefined *puStack_450;" type_identifier (pointer_declarator "*puStack_450" * identifier) ;) (declaration "undefined1 auStack_414 [1024];" type_identifier (array_declarator "auStack_414 [1024]" identifier [ number_literal ]) ;) (declaration "undefined1 *local_14;" type_identifier (pointer_declarator "*local_14" * identifier) ;) (expression_statement "local_14 = *(undefined1 **)PTR___stack_chk_guard_0002d45c;" (assignment_expression "local_14 = *(undefined1 **)PTR___stack_chk_guard_0002d45c" identifier = (pointer_expression "*(undefined1 **)PTR___stack_chk_guard_0002d45c" * (cast_expression "(undefined1 **)PTR___stack_chk_guard_0002d45c" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "get_script_line(param_1,auStack_414);" (call_expression "get_script_line(param_1,auStack_414)" identifier (argument_list "(param_1,auStack_414)" ( identifier , identifier ))) ;) (expression_statement "puVar13 = PTR_get_script_line_0002d240;" (assignment_expression "puVar13 = PTR_get_script_line_0002d240" identifier = identifier) ;) (while_statement "while (iVar1 = (*(code *)PTR_feof_0002d3ec)(param_1), iVar1 == 0) {\n    uVar2 = convertFromUTF8();\n    (*(code *)PTR_free_0002d46c)(uVar2);\n    get_script_line(param_1,auStack_414);\n  }" while (parenthesized_expression "(iVar1 = (*(code *)PTR_feof_0002d3ec)(param_1), iVar1 == 0)" ( (comma_expression "iVar1 = (*(code *)PTR_feof_0002d3ec)(param_1), iVar1 == 0" (assignment_expression "iVar1 = (*(code *)PTR_feof_0002d3ec)(param_1)" identifier = (call_expression "(*(code *)PTR_feof_0002d3ec)(param_1)" (parenthesized_expression "(*(code *)PTR_feof_0002d3ec)" ( (pointer_expression "*(code *)PTR_feof_0002d3ec" * (cast_expression "(code *)PTR_feof_0002d3ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier )))) , (binary_expression "iVar1 == 0" identifier == number_literal)) )) (compound_statement "{\n    uVar2 = convertFromUTF8();\n    (*(code *)PTR_free_0002d46c)(uVar2);\n    get_script_line(param_1,auStack_414);\n  }" { (expression_statement "uVar2 = convertFromUTF8();" (assignment_expression "uVar2 = convertFromUTF8()" identifier = (call_expression "convertFromUTF8()" identifier (argument_list "()" ( )))) ;) (expression_statement "(*(code *)PTR_free_0002d46c)(uVar2);" (call_expression "(*(code *)PTR_free_0002d46c)(uVar2)" (parenthesized_expression "(*(code *)PTR_free_0002d46c)" ( (pointer_expression "*(code *)PTR_free_0002d46c" * (cast_expression "(code *)PTR_free_0002d46c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar2)" ( identifier ))) ;) (expression_statement "get_script_line(param_1,auStack_414);" (call_expression "get_script_line(param_1,auStack_414)" identifier (argument_list "(param_1,auStack_414)" ( identifier , identifier ))) ;) })) (if_statement "if (local_14 == *(undefined1 **)PTR___stack_chk_guard_0002d45c) {\n    return *(undefined1 **)PTR___stack_chk_guard_0002d45c;\n  }" if (parenthesized_expression "(local_14 == *(undefined1 **)PTR___stack_chk_guard_0002d45c)" ( (binary_expression "local_14 == *(undefined1 **)PTR___stack_chk_guard_0002d45c" identifier == (pointer_expression "*(undefined1 **)PTR___stack_chk_guard_0002d45c" * (cast_expression "(undefined1 **)PTR___stack_chk_guard_0002d45c" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return *(undefined1 **)PTR___stack_chk_guard_0002d45c;\n  }" { (return_statement "return *(undefined1 **)PTR___stack_chk_guard_0002d45c;" return (pointer_expression "*(undefined1 **)PTR___stack_chk_guard_0002d45c" * (cast_expression "(undefined1 **)PTR___stack_chk_guard_0002d45c" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) })) (expression_statement "puVar12 = auStack_414;" (assignment_expression "puVar12 = auStack_414" identifier = identifier) ;) (expression_statement "puVar17 = PTR___stack_chk_fail_0002d440;" (assignment_expression "puVar17 = PTR___stack_chk_fail_0002d440" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0002d440)();" (call_expression "(*(code *)PTR___stack_chk_fail_0002d440)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0002d440)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0002d440" * (cast_expression "(code *)PTR___stack_chk_fail_0002d440" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_45c = (undefined1 *)**(int **)(puVar17 + 0x13c9c);" (assignment_expression "puStack_45c = (undefined1 *)**(int **)(puVar17 + 0x13c9c)" identifier = (cast_expression "(undefined1 *)**(int **)(puVar17 + 0x13c9c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(puVar17 + 0x13c9c)" * (pointer_expression "*(int **)(puVar17 + 0x13c9c)" * (cast_expression "(int **)(puVar17 + 0x13c9c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13c9c)" ( (binary_expression "puVar17 + 0x13c9c" identifier + number_literal) ))))))) ;) (expression_statement "uStack_458 = param_1;" (assignment_expression "uStack_458 = param_1" identifier = identifier) ;) (expression_statement "puStack_454 = auStack_414;" (assignment_expression "puStack_454 = auStack_414" identifier = identifier) ;) (expression_statement "puStack_450 = puVar13;" (assignment_expression "puStack_450 = puVar13" identifier = identifier) ;) (expression_statement "(**(code **)(puVar17 + 0x13c7c))();" (call_expression "(**(code **)(puVar17 + 0x13c7c))()" (parenthesized_expression "(**(code **)(puVar17 + 0x13c7c))" ( (pointer_expression "**(code **)(puVar17 + 0x13c7c)" * (pointer_expression "*(code **)(puVar17 + 0x13c7c)" * (cast_expression "(code **)(puVar17 + 0x13c7c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13c7c)" ( (binary_expression "puVar17 + 0x13c7c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "**(undefined4 **)(puVar17 + 0x13b20) = 0;" (assignment_expression "**(undefined4 **)(puVar17 + 0x13b20) = 0" (pointer_expression "**(undefined4 **)(puVar17 + 0x13b20)" * (pointer_expression "*(undefined4 **)(puVar17 + 0x13b20)" * (cast_expression "(undefined4 **)(puVar17 + 0x13b20)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13b20)" ( (binary_expression "puVar17 + 0x13b20" identifier + number_literal) ))))) = number_literal) ;) (expression_statement "puVar3 = *(undefined4 **)(puVar17 + 0x13b34);" (assignment_expression "puVar3 = *(undefined4 **)(puVar17 + 0x13b34)" identifier = (pointer_expression "*(undefined4 **)(puVar17 + 0x13b34)" * (cast_expression "(undefined4 **)(puVar17 + 0x13b34)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13b34)" ( (binary_expression "puVar17 + 0x13b34" identifier + number_literal) ))))) ;) (expression_statement "piVar6 = aiStack_8dc;" (assignment_expression "piVar6 = aiStack_8dc" identifier = identifier) ;) (expression_statement "puVar9 = puVar3 + 0x20;" (assignment_expression "puVar9 = puVar3 + 0x20" identifier = (binary_expression "puVar3 + 0x20" identifier + number_literal)) ;) (do_statement "do {\n    *puVar3 = 0;\n    *piVar6 = 0;\n    puVar3 = puVar3 + 1;\n    piVar6 = piVar6 + 1;\n  } while (puVar9 != puVar3);" do (compound_statement "{\n    *puVar3 = 0;\n    *piVar6 = 0;\n    puVar3 = puVar3 + 1;\n    piVar6 = piVar6 + 1;\n  }" { (expression_statement "*puVar3 = 0;" (assignment_expression "*puVar3 = 0" (pointer_expression "*puVar3" * identifier) = number_literal) ;) (expression_statement "*piVar6 = 0;" (assignment_expression "*piVar6 = 0" (pointer_expression "*piVar6" * identifier) = number_literal) ;) (expression_statement "puVar3 = puVar3 + 1;" (assignment_expression "puVar3 = puVar3 + 1" identifier = (binary_expression "puVar3 + 1" identifier + number_literal)) ;) (expression_statement "piVar6 = piVar6 + 1;" (assignment_expression "piVar6 = piVar6 + 1" identifier = (binary_expression "piVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar9 != puVar3)" ( (binary_expression "puVar9 != puVar3" identifier != identifier) )) ;) (expression_statement "pcVar11 = acStack_85d + 1;" (assignment_expression "pcVar11 = acStack_85d + 1" identifier = (binary_expression "acStack_85d + 1" identifier + number_literal)) ;) (expression_statement "get_script_line(puVar12);" (call_expression "get_script_line(puVar12)" identifier (argument_list "(puVar12)" ( identifier ))) ;) (expression_statement "iVar14 = *(int *)(puVar17 + 0x13a78);" (assignment_expression "iVar14 = *(int *)(puVar17 + 0x13a78)" identifier = (pointer_expression "*(int *)(puVar17 + 0x13a78)" * (cast_expression "(int *)(puVar17 + 0x13a78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x13a78)" ( (binary_expression "puVar17 + 0x13a78" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = *(int *)(puVar17 + 0x13a78);" (assignment_expression "iVar1 = *(int *)(puVar17 + 0x13a78)" identifier = (pointer_expression "*(int *)(puVar17 + 0x13a78)" * (cast_expression "(int *)(puVar17 + 0x13a78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x13a78)" ( (binary_expression "puVar17 + 0x13a78" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = *(int *)(puVar17 + 0x13a78);" (assignment_expression "iVar15 = *(int *)(puVar17 + 0x13a78)" identifier = (pointer_expression "*(int *)(puVar17 + 0x13a78)" * (cast_expression "(int *)(puVar17 + 0x13a78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x13a78)" ( (binary_expression "puVar17 + 0x13a78" identifier + number_literal) ))))) ;) (do_statement "do {\n    puVar10 = puVar12;\n    iVar5 = (**(code **)(puVar17 + 0x13c2c))(puVar12);\n    if (iVar5 != 0) {\n      if (puStack_45c != (undefined1 *)**(int **)(puVar17 + 0x13c9c)) {\n        pcVar18 = *(code **)(puVar17 + 0x13c80);\n        (*pcVar18)();\n        puVar12 = (undefined1 *)0x0;\n        iVar1 = 0;\n        iVar14 = 0;\n        iVar15 = *(int *)(pcVar18 + 0x1368c);\n        while( true ) {\n          iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2);\n          puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14);\n          if (puVar12 == (undefined1 *)0x0) {\n            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(uVar2,pcVar11);\n          }\n          if (iVar1 == 0) {\n            *puVar12 = 0;\n          }\n          (**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2);\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          puVar12[iVar1] = 10;\n          (puVar12 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          get_script_line(puVar10,pcVar11);\n          if ((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)\n             ) break;\n          iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n        }\n        return puVar12;\n      }\n      return (undefined1 *)**(int **)(puVar17 + 0x13c9c);\n    }\n    if (acStack_85d[1] == '*') {\n      piVar6 = (int *)(**(code **)(puVar17 + 0x13c48))(0x10);\n      if (piVar6 == (int *)0x0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      pcVar16 = acStack_85d + 1;\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(pcVar16);\n      pcVar11 = pcVar16 + iVar5 + -1;\n      if (pcVar11 != pcVar16) {\n        piVar7 = (int *)(**(code **)(puVar17 + 0x13b6c))();\n        iVar5 = *piVar7;\n        do {\n          if ((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0) break;\n          *pcVar11 = '\0';\n          pcVar11 = pcVar11 + -1;\n        } while (pcVar11 != acStack_85d + 1);\n      }\n      pcVar11 = acStack_85d + 3;\n      if (acStack_85d[3] != '\0') {\n        cVar8 = acStack_85d[3];\n        do {\n          if (cVar8 == ' ') {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);\n            fatal_error(uVar2,acStack_85d + 1);\n          }\n          pcVar11 = pcVar11 + 1;\n          cVar8 = *pcVar11;\n        } while (cVar8 != '\0');\n      }\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c48))(iVar5 + 1);\n      *piVar6 = iVar5;\n      if (iVar5 == 0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      (**(code **)(puVar17 + 0x13c5c))(*piVar6,acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c04))(puVar12);\n      piVar6[1] = iVar5;\n      piVar6[2] = **(int **)(puVar17 + 0x13b20);\n      piVar6[3] = 0;\n      iVar5 = hash_label(acStack_85d + 3);\n      puVar3 = *(undefined4 **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4);\n      if (puVar3 != (undefined4 *)0x0) {\n        do {\n          iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3);\n          if (iVar4 == 0) {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(uVar2,acStack_85d + 1);\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n          else {\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n        } while (puVar3 != (undefined4 *)0x0);\n      }\n      if (aiStack_8dc[iVar5] == 0) {\n        *(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4) = piVar6;\n      }\n      else {\n        *(int **)(aiStack_8dc[iVar5] + 0xc) = piVar6;\n      }\n      aiStack_8dc[iVar5] = (int)piVar6;\n    }\n    pcVar11 = acStack_85d + 1;\n    get_script_line(puVar12);\n  } while( true );" do (compound_statement "{\n    puVar10 = puVar12;\n    iVar5 = (**(code **)(puVar17 + 0x13c2c))(puVar12);\n    if (iVar5 != 0) {\n      if (puStack_45c != (undefined1 *)**(int **)(puVar17 + 0x13c9c)) {\n        pcVar18 = *(code **)(puVar17 + 0x13c80);\n        (*pcVar18)();\n        puVar12 = (undefined1 *)0x0;\n        iVar1 = 0;\n        iVar14 = 0;\n        iVar15 = *(int *)(pcVar18 + 0x1368c);\n        while( true ) {\n          iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2);\n          puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14);\n          if (puVar12 == (undefined1 *)0x0) {\n            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(uVar2,pcVar11);\n          }\n          if (iVar1 == 0) {\n            *puVar12 = 0;\n          }\n          (**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2);\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          puVar12[iVar1] = 10;\n          (puVar12 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          get_script_line(puVar10,pcVar11);\n          if ((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)\n             ) break;\n          iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n        }\n        return puVar12;\n      }\n      return (undefined1 *)**(int **)(puVar17 + 0x13c9c);\n    }\n    if (acStack_85d[1] == '*') {\n      piVar6 = (int *)(**(code **)(puVar17 + 0x13c48))(0x10);\n      if (piVar6 == (int *)0x0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      pcVar16 = acStack_85d + 1;\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(pcVar16);\n      pcVar11 = pcVar16 + iVar5 + -1;\n      if (pcVar11 != pcVar16) {\n        piVar7 = (int *)(**(code **)(puVar17 + 0x13b6c))();\n        iVar5 = *piVar7;\n        do {\n          if ((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0) break;\n          *pcVar11 = '\0';\n          pcVar11 = pcVar11 + -1;\n        } while (pcVar11 != acStack_85d + 1);\n      }\n      pcVar11 = acStack_85d + 3;\n      if (acStack_85d[3] != '\0') {\n        cVar8 = acStack_85d[3];\n        do {\n          if (cVar8 == ' ') {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);\n            fatal_error(uVar2,acStack_85d + 1);\n          }\n          pcVar11 = pcVar11 + 1;\n          cVar8 = *pcVar11;\n        } while (cVar8 != '\0');\n      }\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c48))(iVar5 + 1);\n      *piVar6 = iVar5;\n      if (iVar5 == 0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      (**(code **)(puVar17 + 0x13c5c))(*piVar6,acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c04))(puVar12);\n      piVar6[1] = iVar5;\n      piVar6[2] = **(int **)(puVar17 + 0x13b20);\n      piVar6[3] = 0;\n      iVar5 = hash_label(acStack_85d + 3);\n      puVar3 = *(undefined4 **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4);\n      if (puVar3 != (undefined4 *)0x0) {\n        do {\n          iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3);\n          if (iVar4 == 0) {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(uVar2,acStack_85d + 1);\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n          else {\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n        } while (puVar3 != (undefined4 *)0x0);\n      }\n      if (aiStack_8dc[iVar5] == 0) {\n        *(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4) = piVar6;\n      }\n      else {\n        *(int **)(aiStack_8dc[iVar5] + 0xc) = piVar6;\n      }\n      aiStack_8dc[iVar5] = (int)piVar6;\n    }\n    pcVar11 = acStack_85d + 1;\n    get_script_line(puVar12);\n  }" { (expression_statement "puVar10 = puVar12;" (assignment_expression "puVar10 = puVar12" identifier = identifier) ;) (expression_statement "iVar5 = (**(code **)(puVar17 + 0x13c2c))(puVar12);" (assignment_expression "iVar5 = (**(code **)(puVar17 + 0x13c2c))(puVar12)" identifier = (call_expression "(**(code **)(puVar17 + 0x13c2c))(puVar12)" (parenthesized_expression "(**(code **)(puVar17 + 0x13c2c))" ( (pointer_expression "**(code **)(puVar17 + 0x13c2c)" * (pointer_expression "*(code **)(puVar17 + 0x13c2c)" * (cast_expression "(code **)(puVar17 + 0x13c2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13c2c)" ( (binary_expression "puVar17 + 0x13c2c" identifier + number_literal) ))))) )) (argument_list "(puVar12)" ( identifier )))) ;) (if_statement "if (iVar5 != 0) {\n      if (puStack_45c != (undefined1 *)**(int **)(puVar17 + 0x13c9c)) {\n        pcVar18 = *(code **)(puVar17 + 0x13c80);\n        (*pcVar18)();\n        puVar12 = (undefined1 *)0x0;\n        iVar1 = 0;\n        iVar14 = 0;\n        iVar15 = *(int *)(pcVar18 + 0x1368c);\n        while( true ) {\n          iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2);\n          puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14);\n          if (puVar12 == (undefined1 *)0x0) {\n            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(uVar2,pcVar11);\n          }\n          if (iVar1 == 0) {\n            *puVar12 = 0;\n          }\n          (**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2);\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          puVar12[iVar1] = 10;\n          (puVar12 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          get_script_line(puVar10,pcVar11);\n          if ((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)\n             ) break;\n          iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n        }\n        return puVar12;\n      }\n      return (undefined1 *)**(int **)(puVar17 + 0x13c9c);\n    }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n      if (puStack_45c != (undefined1 *)**(int **)(puVar17 + 0x13c9c)) {\n        pcVar18 = *(code **)(puVar17 + 0x13c80);\n        (*pcVar18)();\n        puVar12 = (undefined1 *)0x0;\n        iVar1 = 0;\n        iVar14 = 0;\n        iVar15 = *(int *)(pcVar18 + 0x1368c);\n        while( true ) {\n          iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2);\n          puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14);\n          if (puVar12 == (undefined1 *)0x0) {\n            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(uVar2,pcVar11);\n          }\n          if (iVar1 == 0) {\n            *puVar12 = 0;\n          }\n          (**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2);\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          puVar12[iVar1] = 10;\n          (puVar12 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          get_script_line(puVar10,pcVar11);\n          if ((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)\n             ) break;\n          iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n        }\n        return puVar12;\n      }\n      return (undefined1 *)**(int **)(puVar17 + 0x13c9c);\n    }" { (if_statement "if (puStack_45c != (undefined1 *)**(int **)(puVar17 + 0x13c9c)) {\n        pcVar18 = *(code **)(puVar17 + 0x13c80);\n        (*pcVar18)();\n        puVar12 = (undefined1 *)0x0;\n        iVar1 = 0;\n        iVar14 = 0;\n        iVar15 = *(int *)(pcVar18 + 0x1368c);\n        while( true ) {\n          iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2);\n          puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14);\n          if (puVar12 == (undefined1 *)0x0) {\n            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(uVar2,pcVar11);\n          }\n          if (iVar1 == 0) {\n            *puVar12 = 0;\n          }\n          (**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2);\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          puVar12[iVar1] = 10;\n          (puVar12 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          get_script_line(puVar10,pcVar11);\n          if ((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)\n             ) break;\n          iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n        }\n        return puVar12;\n      }" if (parenthesized_expression "(puStack_45c != (undefined1 *)**(int **)(puVar17 + 0x13c9c))" ( (binary_expression "puStack_45c != (undefined1 *)**(int **)(puVar17 + 0x13c9c)" identifier != (cast_expression "(undefined1 *)**(int **)(puVar17 + 0x13c9c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(puVar17 + 0x13c9c)" * (pointer_expression "*(int **)(puVar17 + 0x13c9c)" * (cast_expression "(int **)(puVar17 + 0x13c9c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13c9c)" ( (binary_expression "puVar17 + 0x13c9c" identifier + number_literal) ))))))) )) (compound_statement "{\n        pcVar18 = *(code **)(puVar17 + 0x13c80);\n        (*pcVar18)();\n        puVar12 = (undefined1 *)0x0;\n        iVar1 = 0;\n        iVar14 = 0;\n        iVar15 = *(int *)(pcVar18 + 0x1368c);\n        while( true ) {\n          iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2);\n          puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14);\n          if (puVar12 == (undefined1 *)0x0) {\n            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(uVar2,pcVar11);\n          }\n          if (iVar1 == 0) {\n            *puVar12 = 0;\n          }\n          (**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2);\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          puVar12[iVar1] = 10;\n          (puVar12 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          get_script_line(puVar10,pcVar11);\n          if ((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)\n             ) break;\n          iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n        }\n        return puVar12;\n      }" { (expression_statement "pcVar18 = *(code **)(puVar17 + 0x13c80);" (assignment_expression "pcVar18 = *(code **)(puVar17 + 0x13c80)" identifier = (pointer_expression "*(code **)(puVar17 + 0x13c80)" * (cast_expression "(code **)(puVar17 + 0x13c80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13c80)" ( (binary_expression "puVar17 + 0x13c80" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar18)();" (call_expression "(*pcVar18)()" (parenthesized_expression "(*pcVar18)" ( (pointer_expression "*pcVar18" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar12 = (undefined1 *)0x0;" (assignment_expression "puVar12 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (expression_statement "iVar15 = *(int *)(pcVar18 + 0x1368c);" (assignment_expression "iVar15 = *(int *)(pcVar18 + 0x1368c)" identifier = (pointer_expression "*(int *)(pcVar18 + 0x1368c)" * (cast_expression "(int *)(pcVar18 + 0x1368c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar18 + 0x1368c)" ( (binary_expression "pcVar18 + 0x1368c" identifier + number_literal) ))))) ;) (while_statement "while( true ) {\n          iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2);\n          puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14);\n          if (puVar12 == (undefined1 *)0x0) {\n            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(uVar2,pcVar11);\n          }\n          if (iVar1 == 0) {\n            *puVar12 = 0;\n          }\n          (**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2);\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          puVar12[iVar1] = 10;\n          (puVar12 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          get_script_line(puVar10,pcVar11);\n          if ((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)\n             ) break;\n          iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2);\n          puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14);\n          if (puVar12 == (undefined1 *)0x0) {\n            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(uVar2,pcVar11);\n          }\n          if (iVar1 == 0) {\n            *puVar12 = 0;\n          }\n          (**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2);\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          puVar12[iVar1] = 10;\n          (puVar12 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          get_script_line(puVar10,pcVar11);\n          if ((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)\n             ) break;\n          iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n        }" { (expression_statement "iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2);" (assignment_expression "iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2)" identifier = (call_expression "(**(code **)(pcVar18 + 0x13834))(pcVar11 + 2)" (parenthesized_expression "(**(code **)(pcVar18 + 0x13834))" ( (pointer_expression "**(code **)(pcVar18 + 0x13834)" * (pointer_expression "*(code **)(pcVar18 + 0x13834)" * (cast_expression "(code **)(pcVar18 + 0x13834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x13834)" ( (binary_expression "pcVar18 + 0x13834" identifier + number_literal) ))))) )) (argument_list "(pcVar11 + 2)" ( (binary_expression "pcVar11 + 2" identifier + number_literal) )))) ;) (expression_statement "puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14);" (assignment_expression "puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14)" identifier = (cast_expression "(undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14)" (parenthesized_expression "(**(code **)(pcVar18 + 0x13860))" ( (pointer_expression "**(code **)(pcVar18 + 0x13860)" * (pointer_expression "*(code **)(pcVar18 + 0x13860)" * (cast_expression "(code **)(pcVar18 + 0x13860)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x13860)" ( (binary_expression "pcVar18 + 0x13860" identifier + number_literal) ))))) )) (argument_list "(puVar12,iVar5 + 2 + iVar14)" ( identifier , (binary_expression "iVar5 + 2 + iVar14" (binary_expression "iVar5 + 2" identifier + number_literal) + identifier) ))))) ;) (if_statement "if (puVar12 == (undefined1 *)0x0) {\n            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(uVar2,pcVar11);\n          }" if (parenthesized_expression "(puVar12 == (undefined1 *)0x0)" ( (binary_expression "puVar12 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(uVar2,pcVar11);\n          }" { (expression_statement "uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);" (assignment_expression "uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5)" identifier = (call_expression "(**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5)" (parenthesized_expression "(**(code **)(pcVar18 + 0x13898))" ( (pointer_expression "**(code **)(pcVar18 + 0x13898)" * (pointer_expression "*(code **)(pcVar18 + 0x13898)" * (cast_expression "(code **)(pcVar18 + 0x13898)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x13898)" ( (binary_expression "pcVar18 + 0x13898" identifier + number_literal) ))))) )) (argument_list "(0,iVar15 + -0x4d20,5)" ( number_literal , (binary_expression "iVar15 + -0x4d20" identifier + number_literal) , number_literal )))) ;) (expression_statement "fatal_error(uVar2,pcVar11);" (call_expression "fatal_error(uVar2,pcVar11)" identifier (argument_list "(uVar2,pcVar11)" ( identifier , identifier ))) ;) })) (if_statement "if (iVar1 == 0) {\n            *puVar12 = 0;\n          }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n            *puVar12 = 0;\n          }" { (expression_statement "*puVar12 = 0;" (assignment_expression "*puVar12 = 0" (pointer_expression "*puVar12" * identifier) = number_literal) ;) })) (expression_statement "(**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2);" (call_expression "(**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2)" (parenthesized_expression "(**(code **)(pcVar18 + 0x13878))" ( (pointer_expression "**(code **)(pcVar18 + 0x13878)" * (pointer_expression "*(code **)(pcVar18 + 0x13878)" * (cast_expression "(code **)(pcVar18 + 0x13878)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x13878)" ( (binary_expression "pcVar18 + 0x13878" identifier + number_literal) ))))) )) (argument_list "(puVar12,pcVar11 + 2)" ( identifier , (binary_expression "pcVar11 + 2" identifier + number_literal) ))) ;) (expression_statement "iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);" (assignment_expression "iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12)" identifier = (call_expression "(**(code **)(pcVar18 + 0x13834))(puVar12)" (parenthesized_expression "(**(code **)(pcVar18 + 0x13834))" ( (pointer_expression "**(code **)(pcVar18 + 0x13834)" * (pointer_expression "*(code **)(pcVar18 + 0x13834)" * (cast_expression "(code **)(pcVar18 + 0x13834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x13834)" ( (binary_expression "pcVar18 + 0x13834" identifier + number_literal) ))))) )) (argument_list "(puVar12)" ( identifier )))) ;) (expression_statement "puVar12[iVar1] = 10;" (assignment_expression "puVar12[iVar1] = 10" (subscript_expression "puVar12[iVar1]" identifier [ identifier ]) = number_literal) ;) (expression_statement "(puVar12 + iVar1)[1] = 0;" (assignment_expression "(puVar12 + iVar1)[1] = 0" (subscript_expression "(puVar12 + iVar1)[1]" (parenthesized_expression "(puVar12 + iVar1)" ( (binary_expression "puVar12 + iVar1" identifier + identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);" (assignment_expression "iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12)" identifier = (call_expression "(**(code **)(pcVar18 + 0x13834))(puVar12)" (parenthesized_expression "(**(code **)(pcVar18 + 0x13834))" ( (pointer_expression "**(code **)(pcVar18 + 0x13834)" * (pointer_expression "*(code **)(pcVar18 + 0x13834)" * (cast_expression "(code **)(pcVar18 + 0x13834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x13834)" ( (binary_expression "pcVar18 + 0x13834" identifier + number_literal) ))))) )) (argument_list "(puVar12)" ( identifier )))) ;) (expression_statement "get_script_line(puVar10,pcVar11);" (call_expression "get_script_line(puVar10,pcVar11)" identifier (argument_list "(puVar10,pcVar11)" ( identifier , identifier ))) ;) (if_statement "if ((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)\n             ) break;" if (parenthesized_expression "((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)\n             )" ( (binary_expression "(*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)" (parenthesized_expression "(*pcVar11 != ' ')" ( (binary_expression "*pcVar11 != ' '" (pointer_expression "*pcVar11" * identifier) != (char_literal "' '" ' character ')) )) || (parenthesized_expression "(iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)" ( (comma_expression "iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0" (assignment_expression "iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10)" identifier = (call_expression "(**(code **)(pcVar18 + 0x13840))(puVar10)" (parenthesized_expression "(**(code **)(pcVar18 + 0x13840))" ( (pointer_expression "**(code **)(pcVar18 + 0x13840)" * (pointer_expression "*(code **)(pcVar18 + 0x13840)" * (cast_expression "(code **)(pcVar18 + 0x13840)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x13840)" ( (binary_expression "pcVar18 + 0x13840" identifier + number_literal) ))))) )) (argument_list "(puVar10)" ( identifier )))) , (binary_expression "iVar14 != 0" identifier != number_literal)) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12);" (assignment_expression "iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12)" identifier = (call_expression "(**(code **)(pcVar18 + 0x13834))(puVar12)" (parenthesized_expression "(**(code **)(pcVar18 + 0x13834))" ( (pointer_expression "**(code **)(pcVar18 + 0x13834)" * (pointer_expression "*(code **)(pcVar18 + 0x13834)" * (cast_expression "(code **)(pcVar18 + 0x13834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x13834)" ( (binary_expression "pcVar18 + 0x13834" identifier + number_literal) ))))) )) (argument_list "(puVar12)" ( identifier )))) ;) })) (return_statement "return puVar12;" return identifier ;) })) (return_statement "return (undefined1 *)**(int **)(puVar17 + 0x13c9c);" return (cast_expression "(undefined1 *)**(int **)(puVar17 + 0x13c9c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(puVar17 + 0x13c9c)" * (pointer_expression "*(int **)(puVar17 + 0x13c9c)" * (cast_expression "(int **)(puVar17 + 0x13c9c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13c9c)" ( (binary_expression "puVar17 + 0x13c9c" identifier + number_literal) )))))) ;) })) (if_statement "if (acStack_85d[1] == '*') {\n      piVar6 = (int *)(**(code **)(puVar17 + 0x13c48))(0x10);\n      if (piVar6 == (int *)0x0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      pcVar16 = acStack_85d + 1;\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(pcVar16);\n      pcVar11 = pcVar16 + iVar5 + -1;\n      if (pcVar11 != pcVar16) {\n        piVar7 = (int *)(**(code **)(puVar17 + 0x13b6c))();\n        iVar5 = *piVar7;\n        do {\n          if ((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0) break;\n          *pcVar11 = '\0';\n          pcVar11 = pcVar11 + -1;\n        } while (pcVar11 != acStack_85d + 1);\n      }\n      pcVar11 = acStack_85d + 3;\n      if (acStack_85d[3] != '\0') {\n        cVar8 = acStack_85d[3];\n        do {\n          if (cVar8 == ' ') {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);\n            fatal_error(uVar2,acStack_85d + 1);\n          }\n          pcVar11 = pcVar11 + 1;\n          cVar8 = *pcVar11;\n        } while (cVar8 != '\0');\n      }\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c48))(iVar5 + 1);\n      *piVar6 = iVar5;\n      if (iVar5 == 0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      (**(code **)(puVar17 + 0x13c5c))(*piVar6,acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c04))(puVar12);\n      piVar6[1] = iVar5;\n      piVar6[2] = **(int **)(puVar17 + 0x13b20);\n      piVar6[3] = 0;\n      iVar5 = hash_label(acStack_85d + 3);\n      puVar3 = *(undefined4 **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4);\n      if (puVar3 != (undefined4 *)0x0) {\n        do {\n          iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3);\n          if (iVar4 == 0) {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(uVar2,acStack_85d + 1);\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n          else {\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n        } while (puVar3 != (undefined4 *)0x0);\n      }\n      if (aiStack_8dc[iVar5] == 0) {\n        *(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4) = piVar6;\n      }\n      else {\n        *(int **)(aiStack_8dc[iVar5] + 0xc) = piVar6;\n      }\n      aiStack_8dc[iVar5] = (int)piVar6;\n    }" if (parenthesized_expression "(acStack_85d[1] == '*')" ( (binary_expression "acStack_85d[1] == '*'" (subscript_expression "acStack_85d[1]" identifier [ number_literal ]) == (char_literal "'*'" ' character ')) )) (compound_statement "{\n      piVar6 = (int *)(**(code **)(puVar17 + 0x13c48))(0x10);\n      if (piVar6 == (int *)0x0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      pcVar16 = acStack_85d + 1;\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(pcVar16);\n      pcVar11 = pcVar16 + iVar5 + -1;\n      if (pcVar11 != pcVar16) {\n        piVar7 = (int *)(**(code **)(puVar17 + 0x13b6c))();\n        iVar5 = *piVar7;\n        do {\n          if ((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0) break;\n          *pcVar11 = '\0';\n          pcVar11 = pcVar11 + -1;\n        } while (pcVar11 != acStack_85d + 1);\n      }\n      pcVar11 = acStack_85d + 3;\n      if (acStack_85d[3] != '\0') {\n        cVar8 = acStack_85d[3];\n        do {\n          if (cVar8 == ' ') {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);\n            fatal_error(uVar2,acStack_85d + 1);\n          }\n          pcVar11 = pcVar11 + 1;\n          cVar8 = *pcVar11;\n        } while (cVar8 != '\0');\n      }\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c48))(iVar5 + 1);\n      *piVar6 = iVar5;\n      if (iVar5 == 0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      (**(code **)(puVar17 + 0x13c5c))(*piVar6,acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c04))(puVar12);\n      piVar6[1] = iVar5;\n      piVar6[2] = **(int **)(puVar17 + 0x13b20);\n      piVar6[3] = 0;\n      iVar5 = hash_label(acStack_85d + 3);\n      puVar3 = *(undefined4 **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4);\n      if (puVar3 != (undefined4 *)0x0) {\n        do {\n          iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3);\n          if (iVar4 == 0) {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(uVar2,acStack_85d + 1);\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n          else {\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n        } while (puVar3 != (undefined4 *)0x0);\n      }\n      if (aiStack_8dc[iVar5] == 0) {\n        *(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4) = piVar6;\n      }\n      else {\n        *(int **)(aiStack_8dc[iVar5] + 0xc) = piVar6;\n      }\n      aiStack_8dc[iVar5] = (int)piVar6;\n    }" { (expression_statement "piVar6 = (int *)(**(code **)(puVar17 + 0x13c48))(0x10);" (assignment_expression "piVar6 = (int *)(**(code **)(puVar17 + 0x13c48))(0x10)" identifier = (cast_expression "(int *)(**(code **)(puVar17 + 0x13c48))(0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar17 + 0x13c48))(0x10)" (parenthesized_expression "(**(code **)(puVar17 + 0x13c48))" ( (pointer_expression "**(code **)(puVar17 + 0x13c48)" * (pointer_expression "*(code **)(puVar17 + 0x13c48)" * (cast_expression "(code **)(puVar17 + 0x13c48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13c48)" ( (binary_expression "puVar17 + 0x13c48" identifier + number_literal) ))))) )) (argument_list "(0x10)" ( number_literal ))))) ;) (if_statement "if (piVar6 == (int *)0x0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }" if (parenthesized_expression "(piVar6 == (int *)0x0)" ( (binary_expression "piVar6 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }" { (expression_statement "uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);" (assignment_expression "uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5)" identifier = (call_expression "(**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5)" (parenthesized_expression "(**(code **)(puVar17 + 0x13c84))" ( (pointer_expression "**(code **)(puVar17 + 0x13c84)" * (pointer_expression "*(code **)(puVar17 + 0x13c84)" * (cast_expression "(code **)(puVar17 + 0x13c84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13c84)" ( (binary_expression "puVar17 + 0x13c84" identifier + number_literal) ))))) )) (argument_list "(0,iVar15 + -0x4d20,5)" ( number_literal , (binary_expression "iVar15 + -0x4d20" identifier + number_literal) , number_literal )))) ;) (expression_statement "fatal_error(uVar2,acStack_85d + 1);" (call_expression "fatal_error(uVar2,acStack_85d + 1)" identifier (argument_list "(uVar2,acStack_85d + 1)" ( identifier , (binary_expression "acStack_85d + 1" identifier + number_literal) ))) ;) })) (expression_statement "pcVar16 = acStack_85d + 1;" (assignment_expression "pcVar16 = acStack_85d + 1" identifier = (binary_expression "acStack_85d + 1" identifier + number_literal)) ;) (expression_statement "iVar5 = (**(code **)(puVar17 + 0x13c20))(pcVar16);" (assignment_expression "iVar5 = (**(code **)(puVar17 + 0x13c20))(pcVar16)" identifier = (call_expression "(**(code **)(puVar17 + 0x13c20))(pcVar16)" (parenthesized_expression "(**(code **)(puVar17 + 0x13c20))" ( (pointer_expression "**(code **)(puVar17 + 0x13c20)" * (pointer_expression "*(code **)(puVar17 + 0x13c20)" * (cast_expression "(code **)(puVar17 + 0x13c20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13c20)" ( (binary_expression "puVar17 + 0x13c20" identifier + number_literal) ))))) )) (argument_list "(pcVar16)" ( identifier )))) ;) (expression_statement "pcVar11 = pcVar16 + iVar5 + -1;" (assignment_expression "pcVar11 = pcVar16 + iVar5 + -1" identifier = (binary_expression "pcVar16 + iVar5 + -1" (binary_expression "pcVar16 + iVar5" identifier + identifier) + number_literal)) ;) (if_statement "if (pcVar11 != pcVar16) {\n        piVar7 = (int *)(**(code **)(puVar17 + 0x13b6c))();\n        iVar5 = *piVar7;\n        do {\n          if ((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0) break;\n          *pcVar11 = '\0';\n          pcVar11 = pcVar11 + -1;\n        } while (pcVar11 != acStack_85d + 1);\n      }" if (parenthesized_expression "(pcVar11 != pcVar16)" ( (binary_expression "pcVar11 != pcVar16" identifier != identifier) )) (compound_statement "{\n        piVar7 = (int *)(**(code **)(puVar17 + 0x13b6c))();\n        iVar5 = *piVar7;\n        do {\n          if ((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0) break;\n          *pcVar11 = '\0';\n          pcVar11 = pcVar11 + -1;\n        } while (pcVar11 != acStack_85d + 1);\n      }" { (expression_statement "piVar7 = (int *)(**(code **)(puVar17 + 0x13b6c))();" (assignment_expression "piVar7 = (int *)(**(code **)(puVar17 + 0x13b6c))()" identifier = (cast_expression "(int *)(**(code **)(puVar17 + 0x13b6c))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar17 + 0x13b6c))()" (parenthesized_expression "(**(code **)(puVar17 + 0x13b6c))" ( (pointer_expression "**(code **)(puVar17 + 0x13b6c)" * (pointer_expression "*(code **)(puVar17 + 0x13b6c)" * (cast_expression "(code **)(puVar17 + 0x13b6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13b6c)" ( (binary_expression "puVar17 + 0x13b6c" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar5 = *piVar7;" (assignment_expression "iVar5 = *piVar7" identifier = (pointer_expression "*piVar7" * identifier)) ;) (do_statement "do {\n          if ((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0) break;\n          *pcVar11 = '\0';\n          pcVar11 = pcVar11 + -1;\n        } while (pcVar11 != acStack_85d + 1);" do (compound_statement "{\n          if ((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0) break;\n          *pcVar11 = '\0';\n          pcVar11 = pcVar11 + -1;\n        }" { (if_statement "if ((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0) break;" if (parenthesized_expression "((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0)" ( (binary_expression "(*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0" (parenthesized_expression "(*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20)" ( (binary_expression "*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20" (pointer_expression "*(ushort *)(iVar5 + *pcVar11 * 2)" * (cast_expression "(ushort *)(iVar5 + *pcVar11 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + *pcVar11 * 2)" ( (binary_expression "iVar5 + *pcVar11 * 2" identifier + (binary_expression "*pcVar11 * 2" (pointer_expression "*pcVar11" * identifier) * number_literal)) )))) & number_literal) )) == number_literal) )) (break_statement "break;" break ;)) (expression_statement "*pcVar11 = '\0';" (assignment_expression "*pcVar11 = '\0'" (pointer_expression "*pcVar11" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar11 = pcVar11 + -1;" (assignment_expression "pcVar11 = pcVar11 + -1" identifier = (binary_expression "pcVar11 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pcVar11 != acStack_85d + 1)" ( (binary_expression "pcVar11 != acStack_85d + 1" identifier != (binary_expression "acStack_85d + 1" identifier + number_literal)) )) ;) })) (expression_statement "pcVar11 = acStack_85d + 3;" (assignment_expression "pcVar11 = acStack_85d + 3" identifier = (binary_expression "acStack_85d + 3" identifier + number_literal)) ;) (if_statement "if (acStack_85d[3] != '\0') {\n        cVar8 = acStack_85d[3];\n        do {\n          if (cVar8 == ' ') {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);\n            fatal_error(uVar2,acStack_85d + 1);\n          }\n          pcVar11 = pcVar11 + 1;\n          cVar8 = *pcVar11;\n        } while (cVar8 != '\0');\n      }" if (parenthesized_expression "(acStack_85d[3] != '\0')" ( (binary_expression "acStack_85d[3] != '\0'" (subscript_expression "acStack_85d[3]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        cVar8 = acStack_85d[3];\n        do {\n          if (cVar8 == ' ') {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);\n            fatal_error(uVar2,acStack_85d + 1);\n          }\n          pcVar11 = pcVar11 + 1;\n          cVar8 = *pcVar11;\n        } while (cVar8 != '\0');\n      }" { (expression_statement "cVar8 = acStack_85d[3];" (assignment_expression "cVar8 = acStack_85d[3]" identifier = (subscript_expression "acStack_85d[3]" identifier [ number_literal ])) ;) (do_statement "do {\n          if (cVar8 == ' ') {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);\n            fatal_error(uVar2,acStack_85d + 1);\n          }\n          pcVar11 = pcVar11 + 1;\n          cVar8 = *pcVar11;\n        } while (cVar8 != '\0');" do (compound_statement "{\n          if (cVar8 == ' ') {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);\n            fatal_error(uVar2,acStack_85d + 1);\n          }\n          pcVar11 = pcVar11 + 1;\n          cVar8 = *pcVar11;\n        }" { (if_statement "if (cVar8 == ' ') {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);\n            fatal_error(uVar2,acStack_85d + 1);\n          }" if (parenthesized_expression "(cVar8 == ' ')" ( (binary_expression "cVar8 == ' '" identifier == (char_literal "' '" ' character ')) )) (compound_statement "{\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);\n            fatal_error(uVar2,acStack_85d + 1);\n          }" { (expression_statement "uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);" (assignment_expression "uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5)" identifier = (call_expression "(**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5)" (parenthesized_expression "(**(code **)(puVar17 + 0x13c84))" ( (pointer_expression "**(code **)(puVar17 + 0x13c84)" * (pointer_expression "*(code **)(puVar17 + 0x13c84)" * (cast_expression "(code **)(puVar17 + 0x13c84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13c84)" ( (binary_expression "puVar17 + 0x13c84" identifier + number_literal) ))))) )) (argument_list "(0,iVar14 + -0x36b8,5)" ( number_literal , (binary_expression "iVar14 + -0x36b8" identifier + number_literal) , number_literal )))) ;) (expression_statement "fatal_error(uVar2,acStack_85d + 1);" (call_expression "fatal_error(uVar2,acStack_85d + 1)" identifier (argument_list "(uVar2,acStack_85d + 1)" ( identifier , (binary_expression "acStack_85d + 1" identifier + number_literal) ))) ;) })) (expression_statement "pcVar11 = pcVar11 + 1;" (assignment_expression "pcVar11 = pcVar11 + 1" identifier = (binary_expression "pcVar11 + 1" identifier + number_literal)) ;) (expression_statement "cVar8 = *pcVar11;" (assignment_expression "cVar8 = *pcVar11" identifier = (pointer_expression "*pcVar11" * identifier)) ;) }) while (parenthesized_expression "(cVar8 != '\0')" ( (binary_expression "cVar8 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) })) (expression_statement "iVar5 = (**(code **)(puVar17 + 0x13c20))(acStack_85d + 3);" (assignment_expression "iVar5 = (**(code **)(puVar17 + 0x13c20))(acStack_85d + 3)" identifier = (call_expression "(**(code **)(puVar17 + 0x13c20))(acStack_85d + 3)" (parenthesized_expression "(**(code **)(puVar17 + 0x13c20))" ( (pointer_expression "**(code **)(puVar17 + 0x13c20)" * (pointer_expression "*(code **)(puVar17 + 0x13c20)" * (cast_expression "(code **)(puVar17 + 0x13c20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13c20)" ( (binary_expression "puVar17 + 0x13c20" identifier + number_literal) ))))) )) (argument_list "(acStack_85d + 3)" ( (binary_expression "acStack_85d + 3" identifier + number_literal) )))) ;) (expression_statement "iVar5 = (**(code **)(puVar17 + 0x13c48))(iVar5 + 1);" (assignment_expression "iVar5 = (**(code **)(puVar17 + 0x13c48))(iVar5 + 1)" identifier = (call_expression "(**(code **)(puVar17 + 0x13c48))(iVar5 + 1)" (parenthesized_expression "(**(code **)(puVar17 + 0x13c48))" ( (pointer_expression "**(code **)(puVar17 + 0x13c48)" * (pointer_expression "*(code **)(puVar17 + 0x13c48)" * (cast_expression "(code **)(puVar17 + 0x13c48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13c48)" ( (binary_expression "puVar17 + 0x13c48" identifier + number_literal) ))))) )) (argument_list "(iVar5 + 1)" ( (binary_expression "iVar5 + 1" identifier + number_literal) )))) ;) (expression_statement "*piVar6 = iVar5;" (assignment_expression "*piVar6 = iVar5" (pointer_expression "*piVar6" * identifier) = identifier) ;) (if_statement "if (iVar5 == 0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }" { (expression_statement "uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);" (assignment_expression "uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5)" identifier = (call_expression "(**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5)" (parenthesized_expression "(**(code **)(puVar17 + 0x13c84))" ( (pointer_expression "**(code **)(puVar17 + 0x13c84)" * (pointer_expression "*(code **)(puVar17 + 0x13c84)" * (cast_expression "(code **)(puVar17 + 0x13c84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13c84)" ( (binary_expression "puVar17 + 0x13c84" identifier + number_literal) ))))) )) (argument_list "(0,iVar15 + -0x4d20,5)" ( number_literal , (binary_expression "iVar15 + -0x4d20" identifier + number_literal) , number_literal )))) ;) (expression_statement "fatal_error(uVar2,acStack_85d + 1);" (call_expression "fatal_error(uVar2,acStack_85d + 1)" identifier (argument_list "(uVar2,acStack_85d + 1)" ( identifier , (binary_expression "acStack_85d + 1" identifier + number_literal) ))) ;) })) (expression_statement "(**(code **)(puVar17 + 0x13c5c))(*piVar6,acStack_85d + 3);" (call_expression "(**(code **)(puVar17 + 0x13c5c))(*piVar6,acStack_85d + 3)" (parenthesized_expression "(**(code **)(puVar17 + 0x13c5c))" ( (pointer_expression "**(code **)(puVar17 + 0x13c5c)" * (pointer_expression "*(code **)(puVar17 + 0x13c5c)" * (cast_expression "(code **)(puVar17 + 0x13c5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13c5c)" ( (binary_expression "puVar17 + 0x13c5c" identifier + number_literal) ))))) )) (argument_list "(*piVar6,acStack_85d + 3)" ( (pointer_expression "*piVar6" * identifier) , (binary_expression "acStack_85d + 3" identifier + number_literal) ))) ;) (expression_statement "iVar5 = (**(code **)(puVar17 + 0x13c04))(puVar12);" (assignment_expression "iVar5 = (**(code **)(puVar17 + 0x13c04))(puVar12)" identifier = (call_expression "(**(code **)(puVar17 + 0x13c04))(puVar12)" (parenthesized_expression "(**(code **)(puVar17 + 0x13c04))" ( (pointer_expression "**(code **)(puVar17 + 0x13c04)" * (pointer_expression "*(code **)(puVar17 + 0x13c04)" * (cast_expression "(code **)(puVar17 + 0x13c04)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13c04)" ( (binary_expression "puVar17 + 0x13c04" identifier + number_literal) ))))) )) (argument_list "(puVar12)" ( identifier )))) ;) (expression_statement "piVar6[1] = iVar5;" (assignment_expression "piVar6[1] = iVar5" (subscript_expression "piVar6[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar6[2] = **(int **)(puVar17 + 0x13b20);" (assignment_expression "piVar6[2] = **(int **)(puVar17 + 0x13b20)" (subscript_expression "piVar6[2]" identifier [ number_literal ]) = (pointer_expression "**(int **)(puVar17 + 0x13b20)" * (pointer_expression "*(int **)(puVar17 + 0x13b20)" * (cast_expression "(int **)(puVar17 + 0x13b20)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13b20)" ( (binary_expression "puVar17 + 0x13b20" identifier + number_literal) )))))) ;) (expression_statement "piVar6[3] = 0;" (assignment_expression "piVar6[3] = 0" (subscript_expression "piVar6[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar5 = hash_label(acStack_85d + 3);" (assignment_expression "iVar5 = hash_label(acStack_85d + 3)" identifier = (call_expression "hash_label(acStack_85d + 3)" identifier (argument_list "(acStack_85d + 3)" ( (binary_expression "acStack_85d + 3" identifier + number_literal) )))) ;) (expression_statement "puVar3 = *(undefined4 **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4);" (assignment_expression "puVar3 = *(undefined4 **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4)" identifier = (pointer_expression "*(undefined4 **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4)" * (cast_expression "(undefined4 **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(puVar17 + 0x13b34) + iVar5 * 4)" ( (binary_expression "*(int *)(puVar17 + 0x13b34) + iVar5 * 4" (pointer_expression "*(int *)(puVar17 + 0x13b34)" * (cast_expression "(int *)(puVar17 + 0x13b34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x13b34)" ( (binary_expression "puVar17 + 0x13b34" identifier + number_literal) )))) + (binary_expression "iVar5 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (puVar3 != (undefined4 *)0x0) {\n        do {\n          iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3);\n          if (iVar4 == 0) {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(uVar2,acStack_85d + 1);\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n          else {\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n        } while (puVar3 != (undefined4 *)0x0);\n      }" if (parenthesized_expression "(puVar3 != (undefined4 *)0x0)" ( (binary_expression "puVar3 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        do {\n          iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3);\n          if (iVar4 == 0) {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(uVar2,acStack_85d + 1);\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n          else {\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n        } while (puVar3 != (undefined4 *)0x0);\n      }" { (do_statement "do {\n          iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3);\n          if (iVar4 == 0) {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(uVar2,acStack_85d + 1);\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n          else {\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n        } while (puVar3 != (undefined4 *)0x0);" do (compound_statement "{\n          iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3);\n          if (iVar4 == 0) {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(uVar2,acStack_85d + 1);\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n          else {\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n        }" { (expression_statement "iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3);" (assignment_expression "iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3)" identifier = (call_expression "(**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3)" (parenthesized_expression "(**(code **)(puVar17 + 0x13cd4))" ( (pointer_expression "**(code **)(puVar17 + 0x13cd4)" * (pointer_expression "*(code **)(puVar17 + 0x13cd4)" * (cast_expression "(code **)(puVar17 + 0x13cd4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13cd4)" ( (binary_expression "puVar17 + 0x13cd4" identifier + number_literal) ))))) )) (argument_list "(*puVar3,acStack_85d + 3)" ( (pointer_expression "*puVar3" * identifier) , (binary_expression "acStack_85d + 3" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(uVar2,acStack_85d + 1);\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n          else {\n            puVar3 = (undefined4 *)puVar3[3];\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(uVar2,acStack_85d + 1);\n            puVar3 = (undefined4 *)puVar3[3];\n          }" { (expression_statement "uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);" (assignment_expression "uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5)" identifier = (call_expression "(**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5)" (parenthesized_expression "(**(code **)(puVar17 + 0x13c84))" ( (pointer_expression "**(code **)(puVar17 + 0x13c84)" * (pointer_expression "*(code **)(puVar17 + 0x13c84)" * (cast_expression "(code **)(puVar17 + 0x13c84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13c84)" ( (binary_expression "puVar17 + 0x13c84" identifier + number_literal) ))))) )) (argument_list "(0,iVar1 + -0x36a0,5)" ( number_literal , (binary_expression "iVar1 + -0x36a0" identifier + number_literal) , number_literal )))) ;) (expression_statement "fatal_error(uVar2,acStack_85d + 1);" (call_expression "fatal_error(uVar2,acStack_85d + 1)" identifier (argument_list "(uVar2,acStack_85d + 1)" ( identifier , (binary_expression "acStack_85d + 1" identifier + number_literal) ))) ;) (expression_statement "puVar3 = (undefined4 *)puVar3[3];" (assignment_expression "puVar3 = (undefined4 *)puVar3[3]" identifier = (cast_expression "(undefined4 *)puVar3[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar3[3]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n            puVar3 = (undefined4 *)puVar3[3];\n          }" else (compound_statement "{\n            puVar3 = (undefined4 *)puVar3[3];\n          }" { (expression_statement "puVar3 = (undefined4 *)puVar3[3];" (assignment_expression "puVar3 = (undefined4 *)puVar3[3]" identifier = (cast_expression "(undefined4 *)puVar3[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar3[3]" identifier [ number_literal ]))) ;) }))) }) while (parenthesized_expression "(puVar3 != (undefined4 *)0x0)" ( (binary_expression "puVar3 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (if_statement "if (aiStack_8dc[iVar5] == 0) {\n        *(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4) = piVar6;\n      }\n      else {\n        *(int **)(aiStack_8dc[iVar5] + 0xc) = piVar6;\n      }" if (parenthesized_expression "(aiStack_8dc[iVar5] == 0)" ( (binary_expression "aiStack_8dc[iVar5] == 0" (subscript_expression "aiStack_8dc[iVar5]" identifier [ identifier ]) == number_literal) )) (compound_statement "{\n        *(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4) = piVar6;\n      }" { (expression_statement "*(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4) = piVar6;" (assignment_expression "*(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4) = piVar6" (pointer_expression "*(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4)" * (cast_expression "(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(puVar17 + 0x13b34) + iVar5 * 4)" ( (binary_expression "*(int *)(puVar17 + 0x13b34) + iVar5 * 4" (pointer_expression "*(int *)(puVar17 + 0x13b34)" * (cast_expression "(int *)(puVar17 + 0x13b34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x13b34)" ( (binary_expression "puVar17 + 0x13b34" identifier + number_literal) )))) + (binary_expression "iVar5 * 4" identifier * number_literal)) )))) = identifier) ;) }) (else_clause "else {\n        *(int **)(aiStack_8dc[iVar5] + 0xc) = piVar6;\n      }" else (compound_statement "{\n        *(int **)(aiStack_8dc[iVar5] + 0xc) = piVar6;\n      }" { (expression_statement "*(int **)(aiStack_8dc[iVar5] + 0xc) = piVar6;" (assignment_expression "*(int **)(aiStack_8dc[iVar5] + 0xc) = piVar6" (pointer_expression "*(int **)(aiStack_8dc[iVar5] + 0xc)" * (cast_expression "(int **)(aiStack_8dc[iVar5] + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(aiStack_8dc[iVar5] + 0xc)" ( (binary_expression "aiStack_8dc[iVar5] + 0xc" (subscript_expression "aiStack_8dc[iVar5]" identifier [ identifier ]) + number_literal) )))) = identifier) ;) }))) (expression_statement "aiStack_8dc[iVar5] = (int)piVar6;" (assignment_expression "aiStack_8dc[iVar5] = (int)piVar6" (subscript_expression "aiStack_8dc[iVar5]" identifier [ identifier ]) = (cast_expression "(int)piVar6" ( (type_descriptor "int" primitive_type) ) identifier)) ;) })) (expression_statement "pcVar11 = acStack_85d + 1;" (assignment_expression "pcVar11 = acStack_85d + 1" identifier = (binary_expression "acStack_85d + 1" identifier + number_literal)) ;) (expression_statement "get_script_line(puVar12);" (call_expression "get_script_line(puVar12)" identifier (argument_list "(puVar12)" ( identifier ))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "void check_script_file_with_current_encoding(FILE *script)\n\n{\n  int iVar1;\n  int iVar2;\n  wchar_t *pwVar3;\n  undefined4 *puVar4;\n  char *pcVar5;\n  char cVar10;\n  int iVar6;\n  int iVar7;\n  int *piVar8;\n  int *piVar9;\n  FILE *script_00;\n  undefined4 *puVar11;\n  FILE *script_01;\n  char *pcVar12;\n  undefined1 *puVar13;\n  undefined *puVar14;\n  int iVar15;\n  undefined *puVar16;\n  code *pcVar17;\n  int aiStack_8dc [31];\n  char acStack_85d [1025];\n  int iStack_45c;\n  FILE *pFStack_458;\n  FILE *pFStack_454;\n  undefined *puStack_450;\n  char line [1024];\n  \n  iVar1 = *(int *)PTR___stack_chk_guard_0002d45c;\n  get_script_line(script,line);\n  puVar14 = PTR_get_script_line_0002d240;\n  while (iVar2 = (*(code *)PTR_feof_0002d3ec)(script), iVar2 == 0) {\n    pwVar3 = convertFromUTF8(line);\n    (*(code *)PTR_free_0002d46c)(pwVar3);\n    get_script_line(script,line);\n  }\n  if (iVar1 == *(int *)PTR___stack_chk_guard_0002d45c) {\n    return;\n  }\n  script_00 = (FILE *)line;\n  puVar16 = PTR___stack_chk_fail_0002d440;\n  (*(code *)PTR___stack_chk_fail_0002d440)();\n  iStack_45c = **(int **)(puVar16 + 0x13c9c);\n  pFStack_458 = script;\n  pFStack_454 = (FILE *)line;\n  puStack_450 = puVar14;\n  (**(code **)(puVar16 + 0x13c7c))();\n  **(undefined4 **)(puVar16 + 0x13b20) = 0;\n  puVar4 = *(undefined4 **)(puVar16 + 0x13b34);\n  piVar8 = aiStack_8dc;\n  puVar11 = puVar4 + 0x20;\n  do {\n    *puVar4 = 0;\n    *piVar8 = 0;\n    puVar4 = puVar4 + 1;\n    piVar8 = piVar8 + 1;\n  } while (puVar11 != puVar4);\n  pcVar12 = acStack_85d + 1;\n  get_script_line(script_00,pcVar12);\n  iVar2 = *(int *)(puVar16 + 0x13a78);\n  iVar1 = *(int *)(puVar16 + 0x13a78);\n  iVar15 = *(int *)(puVar16 + 0x13a78);\n  do {\n    script_01 = script_00;\n    iVar7 = (**(code **)(puVar16 + 0x13c2c))();\n    if (iVar7 != 0) {\n      if (iStack_45c != **(int **)(puVar16 + 0x13c9c)) {\n        pcVar17 = *(code **)(puVar16 + 0x13c80);\n        (*pcVar17)();\n        puVar13 = (undefined1 *)0x0;\n        iVar1 = 0;\n        iVar2 = 0;\n        iVar15 = *(int *)(pcVar17 + 0x1368c);\n        while( true ) {\n          iVar7 = (**(code **)(pcVar17 + 0x13834))(pcVar12 + 2);\n          puVar13 = (undefined1 *)(**(code **)(pcVar17 + 0x13860))(puVar13,iVar7 + 2 + iVar2);\n          if (puVar13 == (undefined1 *)0x0) {\n            pcVar5 = (char *)(**(code **)(pcVar17 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(pcVar5,pcVar12);\n          }\n          if (iVar1 == 0) {\n            *puVar13 = 0;\n          }\n          (**(code **)(pcVar17 + 0x13878))(puVar13,pcVar12 + 2);\n          iVar1 = (**(code **)(pcVar17 + 0x13834))(puVar13);\n          puVar13[iVar1] = 10;\n          (puVar13 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar17 + 0x13834))(puVar13);\n          get_script_line(script_01,pcVar12);\n          if ((*pcVar12 != ' ') || (iVar2 = (**(code **)(pcVar17 + 0x13840))(script_01), iVar2 != 0)\n             ) break;\n          iVar2 = (**(code **)(pcVar17 + 0x13834))(puVar13);\n        }\n        return;\n      }\n      return;\n    }\n    if (acStack_85d[1] == '*') {\n      piVar8 = (int *)(**(code **)(puVar16 + 0x13c48))(0x10);\n      if (piVar8 == (int *)0x0) {\n        pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(pcVar12,acStack_85d + 1);\n      }\n      pcVar5 = acStack_85d + 1;\n      iVar7 = (**(code **)(puVar16 + 0x13c20))(pcVar5);\n      pcVar12 = pcVar5 + iVar7 + -1;\n      if (pcVar12 != pcVar5) {\n        piVar9 = (int *)(**(code **)(puVar16 + 0x13b6c))();\n        iVar7 = *piVar9;\n        do {\n          if ((*(ushort *)(iVar7 + *pcVar12 * 2) & 0x20) == 0) break;\n          *pcVar12 = '\0';\n          pcVar12 = pcVar12 + -1;\n        } while (pcVar12 != acStack_85d + 1);\n      }\n      pcVar12 = acStack_85d + 3;\n      if (acStack_85d[3] != '\0') {\n        cVar10 = acStack_85d[3];\n        do {\n          if (cVar10 == ' ') {\n            pcVar5 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar2 + -0x36b8,5);\n            fatal_error(pcVar5,acStack_85d + 1);\n          }\n          pcVar12 = pcVar12 + 1;\n          cVar10 = *pcVar12;\n        } while (cVar10 != '\0');\n      }\n      iVar7 = (**(code **)(puVar16 + 0x13c20))(acStack_85d + 3);\n      iVar7 = (**(code **)(puVar16 + 0x13c48))(iVar7 + 1);\n      *piVar8 = iVar7;\n      if (iVar7 == 0) {\n        pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(pcVar12,acStack_85d + 1);\n      }\n      (**(code **)(puVar16 + 0x13c5c))(*piVar8,acStack_85d + 3);\n      iVar7 = (**(code **)(puVar16 + 0x13c04))(script_00);\n      piVar8[1] = iVar7;\n      piVar8[2] = **(int **)(puVar16 + 0x13b20);\n      piVar8[3] = 0;\n      iVar7 = hash_label(acStack_85d + 3);\n      puVar4 = *(undefined4 **)(*(int *)(puVar16 + 0x13b34) + iVar7 * 4);\n      if (puVar4 != (undefined4 *)0x0) {\n        do {\n          iVar6 = (**(code **)(puVar16 + 0x13cd4))(*puVar4,acStack_85d + 3);\n          if (iVar6 == 0) {\n            pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(pcVar12,acStack_85d + 1);\n            puVar4 = (undefined4 *)puVar4[3];\n          }\n          else {\n            puVar4 = (undefined4 *)puVar4[3];\n          }\n        } while (puVar4 != (undefined4 *)0x0);\n      }\n      if (aiStack_8dc[iVar7] == 0) {\n        *(int **)(*(int *)(puVar16 + 0x13b34) + iVar7 * 4) = piVar8;\n      }\n      else {\n        *(int **)(aiStack_8dc[iVar7] + 0xc) = piVar8;\n      }\n      aiStack_8dc[iVar7] = (int)piVar8;\n    }\n    pcVar12 = acStack_85d + 1;\n    get_script_line(script_00,pcVar12);\n  } while( true );\n}\n\n" (function_definition "void check_script_file_with_current_encoding(FILE *script)\n\n{\n  int iVar1;\n  int iVar2;\n  wchar_t *pwVar3;\n  undefined4 *puVar4;\n  char *pcVar5;\n  char cVar10;\n  int iVar6;\n  int iVar7;\n  int *piVar8;\n  int *piVar9;\n  FILE *script_00;\n  undefined4 *puVar11;\n  FILE *script_01;\n  char *pcVar12;\n  undefined1 *puVar13;\n  undefined *puVar14;\n  int iVar15;\n  undefined *puVar16;\n  code *pcVar17;\n  int aiStack_8dc [31];\n  char acStack_85d [1025];\n  int iStack_45c;\n  FILE *pFStack_458;\n  FILE *pFStack_454;\n  undefined *puStack_450;\n  char line [1024];\n  \n  iVar1 = *(int *)PTR___stack_chk_guard_0002d45c;\n  get_script_line(script,line);\n  puVar14 = PTR_get_script_line_0002d240;\n  while (iVar2 = (*(code *)PTR_feof_0002d3ec)(script), iVar2 == 0) {\n    pwVar3 = convertFromUTF8(line);\n    (*(code *)PTR_free_0002d46c)(pwVar3);\n    get_script_line(script,line);\n  }\n  if (iVar1 == *(int *)PTR___stack_chk_guard_0002d45c) {\n    return;\n  }\n  script_00 = (FILE *)line;\n  puVar16 = PTR___stack_chk_fail_0002d440;\n  (*(code *)PTR___stack_chk_fail_0002d440)();\n  iStack_45c = **(int **)(puVar16 + 0x13c9c);\n  pFStack_458 = script;\n  pFStack_454 = (FILE *)line;\n  puStack_450 = puVar14;\n  (**(code **)(puVar16 + 0x13c7c))();\n  **(undefined4 **)(puVar16 + 0x13b20) = 0;\n  puVar4 = *(undefined4 **)(puVar16 + 0x13b34);\n  piVar8 = aiStack_8dc;\n  puVar11 = puVar4 + 0x20;\n  do {\n    *puVar4 = 0;\n    *piVar8 = 0;\n    puVar4 = puVar4 + 1;\n    piVar8 = piVar8 + 1;\n  } while (puVar11 != puVar4);\n  pcVar12 = acStack_85d + 1;\n  get_script_line(script_00,pcVar12);\n  iVar2 = *(int *)(puVar16 + 0x13a78);\n  iVar1 = *(int *)(puVar16 + 0x13a78);\n  iVar15 = *(int *)(puVar16 + 0x13a78);\n  do {\n    script_01 = script_00;\n    iVar7 = (**(code **)(puVar16 + 0x13c2c))();\n    if (iVar7 != 0) {\n      if (iStack_45c != **(int **)(puVar16 + 0x13c9c)) {\n        pcVar17 = *(code **)(puVar16 + 0x13c80);\n        (*pcVar17)();\n        puVar13 = (undefined1 *)0x0;\n        iVar1 = 0;\n        iVar2 = 0;\n        iVar15 = *(int *)(pcVar17 + 0x1368c);\n        while( true ) {\n          iVar7 = (**(code **)(pcVar17 + 0x13834))(pcVar12 + 2);\n          puVar13 = (undefined1 *)(**(code **)(pcVar17 + 0x13860))(puVar13,iVar7 + 2 + iVar2);\n          if (puVar13 == (undefined1 *)0x0) {\n            pcVar5 = (char *)(**(code **)(pcVar17 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(pcVar5,pcVar12);\n          }\n          if (iVar1 == 0) {\n            *puVar13 = 0;\n          }\n          (**(code **)(pcVar17 + 0x13878))(puVar13,pcVar12 + 2);\n          iVar1 = (**(code **)(pcVar17 + 0x13834))(puVar13);\n          puVar13[iVar1] = 10;\n          (puVar13 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar17 + 0x13834))(puVar13);\n          get_script_line(script_01,pcVar12);\n          if ((*pcVar12 != ' ') || (iVar2 = (**(code **)(pcVar17 + 0x13840))(script_01), iVar2 != 0)\n             ) break;\n          iVar2 = (**(code **)(pcVar17 + 0x13834))(puVar13);\n        }\n        return;\n      }\n      return;\n    }\n    if (acStack_85d[1] == '*') {\n      piVar8 = (int *)(**(code **)(puVar16 + 0x13c48))(0x10);\n      if (piVar8 == (int *)0x0) {\n        pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(pcVar12,acStack_85d + 1);\n      }\n      pcVar5 = acStack_85d + 1;\n      iVar7 = (**(code **)(puVar16 + 0x13c20))(pcVar5);\n      pcVar12 = pcVar5 + iVar7 + -1;\n      if (pcVar12 != pcVar5) {\n        piVar9 = (int *)(**(code **)(puVar16 + 0x13b6c))();\n        iVar7 = *piVar9;\n        do {\n          if ((*(ushort *)(iVar7 + *pcVar12 * 2) & 0x20) == 0) break;\n          *pcVar12 = '\0';\n          pcVar12 = pcVar12 + -1;\n        } while (pcVar12 != acStack_85d + 1);\n      }\n      pcVar12 = acStack_85d + 3;\n      if (acStack_85d[3] != '\0') {\n        cVar10 = acStack_85d[3];\n        do {\n          if (cVar10 == ' ') {\n            pcVar5 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar2 + -0x36b8,5);\n            fatal_error(pcVar5,acStack_85d + 1);\n          }\n          pcVar12 = pcVar12 + 1;\n          cVar10 = *pcVar12;\n        } while (cVar10 != '\0');\n      }\n      iVar7 = (**(code **)(puVar16 + 0x13c20))(acStack_85d + 3);\n      iVar7 = (**(code **)(puVar16 + 0x13c48))(iVar7 + 1);\n      *piVar8 = iVar7;\n      if (iVar7 == 0) {\n        pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(pcVar12,acStack_85d + 1);\n      }\n      (**(code **)(puVar16 + 0x13c5c))(*piVar8,acStack_85d + 3);\n      iVar7 = (**(code **)(puVar16 + 0x13c04))(script_00);\n      piVar8[1] = iVar7;\n      piVar8[2] = **(int **)(puVar16 + 0x13b20);\n      piVar8[3] = 0;\n      iVar7 = hash_label(acStack_85d + 3);\n      puVar4 = *(undefined4 **)(*(int *)(puVar16 + 0x13b34) + iVar7 * 4);\n      if (puVar4 != (undefined4 *)0x0) {\n        do {\n          iVar6 = (**(code **)(puVar16 + 0x13cd4))(*puVar4,acStack_85d + 3);\n          if (iVar6 == 0) {\n            pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(pcVar12,acStack_85d + 1);\n            puVar4 = (undefined4 *)puVar4[3];\n          }\n          else {\n            puVar4 = (undefined4 *)puVar4[3];\n          }\n        } while (puVar4 != (undefined4 *)0x0);\n      }\n      if (aiStack_8dc[iVar7] == 0) {\n        *(int **)(*(int *)(puVar16 + 0x13b34) + iVar7 * 4) = piVar8;\n      }\n      else {\n        *(int **)(aiStack_8dc[iVar7] + 0xc) = piVar8;\n      }\n      aiStack_8dc[iVar7] = (int)piVar8;\n    }\n    pcVar12 = acStack_85d + 1;\n    get_script_line(script_00,pcVar12);\n  } while( true );\n}" primitive_type (function_declarator "check_script_file_with_current_encoding(FILE *script)" identifier (parameter_list "(FILE *script)" ( (parameter_declaration "FILE *script" type_identifier (pointer_declarator "*script" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  wchar_t *pwVar3;\n  undefined4 *puVar4;\n  char *pcVar5;\n  char cVar10;\n  int iVar6;\n  int iVar7;\n  int *piVar8;\n  int *piVar9;\n  FILE *script_00;\n  undefined4 *puVar11;\n  FILE *script_01;\n  char *pcVar12;\n  undefined1 *puVar13;\n  undefined *puVar14;\n  int iVar15;\n  undefined *puVar16;\n  code *pcVar17;\n  int aiStack_8dc [31];\n  char acStack_85d [1025];\n  int iStack_45c;\n  FILE *pFStack_458;\n  FILE *pFStack_454;\n  undefined *puStack_450;\n  char line [1024];\n  \n  iVar1 = *(int *)PTR___stack_chk_guard_0002d45c;\n  get_script_line(script,line);\n  puVar14 = PTR_get_script_line_0002d240;\n  while (iVar2 = (*(code *)PTR_feof_0002d3ec)(script), iVar2 == 0) {\n    pwVar3 = convertFromUTF8(line);\n    (*(code *)PTR_free_0002d46c)(pwVar3);\n    get_script_line(script,line);\n  }\n  if (iVar1 == *(int *)PTR___stack_chk_guard_0002d45c) {\n    return;\n  }\n  script_00 = (FILE *)line;\n  puVar16 = PTR___stack_chk_fail_0002d440;\n  (*(code *)PTR___stack_chk_fail_0002d440)();\n  iStack_45c = **(int **)(puVar16 + 0x13c9c);\n  pFStack_458 = script;\n  pFStack_454 = (FILE *)line;\n  puStack_450 = puVar14;\n  (**(code **)(puVar16 + 0x13c7c))();\n  **(undefined4 **)(puVar16 + 0x13b20) = 0;\n  puVar4 = *(undefined4 **)(puVar16 + 0x13b34);\n  piVar8 = aiStack_8dc;\n  puVar11 = puVar4 + 0x20;\n  do {\n    *puVar4 = 0;\n    *piVar8 = 0;\n    puVar4 = puVar4 + 1;\n    piVar8 = piVar8 + 1;\n  } while (puVar11 != puVar4);\n  pcVar12 = acStack_85d + 1;\n  get_script_line(script_00,pcVar12);\n  iVar2 = *(int *)(puVar16 + 0x13a78);\n  iVar1 = *(int *)(puVar16 + 0x13a78);\n  iVar15 = *(int *)(puVar16 + 0x13a78);\n  do {\n    script_01 = script_00;\n    iVar7 = (**(code **)(puVar16 + 0x13c2c))();\n    if (iVar7 != 0) {\n      if (iStack_45c != **(int **)(puVar16 + 0x13c9c)) {\n        pcVar17 = *(code **)(puVar16 + 0x13c80);\n        (*pcVar17)();\n        puVar13 = (undefined1 *)0x0;\n        iVar1 = 0;\n        iVar2 = 0;\n        iVar15 = *(int *)(pcVar17 + 0x1368c);\n        while( true ) {\n          iVar7 = (**(code **)(pcVar17 + 0x13834))(pcVar12 + 2);\n          puVar13 = (undefined1 *)(**(code **)(pcVar17 + 0x13860))(puVar13,iVar7 + 2 + iVar2);\n          if (puVar13 == (undefined1 *)0x0) {\n            pcVar5 = (char *)(**(code **)(pcVar17 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(pcVar5,pcVar12);\n          }\n          if (iVar1 == 0) {\n            *puVar13 = 0;\n          }\n          (**(code **)(pcVar17 + 0x13878))(puVar13,pcVar12 + 2);\n          iVar1 = (**(code **)(pcVar17 + 0x13834))(puVar13);\n          puVar13[iVar1] = 10;\n          (puVar13 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar17 + 0x13834))(puVar13);\n          get_script_line(script_01,pcVar12);\n          if ((*pcVar12 != ' ') || (iVar2 = (**(code **)(pcVar17 + 0x13840))(script_01), iVar2 != 0)\n             ) break;\n          iVar2 = (**(code **)(pcVar17 + 0x13834))(puVar13);\n        }\n        return;\n      }\n      return;\n    }\n    if (acStack_85d[1] == '*') {\n      piVar8 = (int *)(**(code **)(puVar16 + 0x13c48))(0x10);\n      if (piVar8 == (int *)0x0) {\n        pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(pcVar12,acStack_85d + 1);\n      }\n      pcVar5 = acStack_85d + 1;\n      iVar7 = (**(code **)(puVar16 + 0x13c20))(pcVar5);\n      pcVar12 = pcVar5 + iVar7 + -1;\n      if (pcVar12 != pcVar5) {\n        piVar9 = (int *)(**(code **)(puVar16 + 0x13b6c))();\n        iVar7 = *piVar9;\n        do {\n          if ((*(ushort *)(iVar7 + *pcVar12 * 2) & 0x20) == 0) break;\n          *pcVar12 = '\0';\n          pcVar12 = pcVar12 + -1;\n        } while (pcVar12 != acStack_85d + 1);\n      }\n      pcVar12 = acStack_85d + 3;\n      if (acStack_85d[3] != '\0') {\n        cVar10 = acStack_85d[3];\n        do {\n          if (cVar10 == ' ') {\n            pcVar5 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar2 + -0x36b8,5);\n            fatal_error(pcVar5,acStack_85d + 1);\n          }\n          pcVar12 = pcVar12 + 1;\n          cVar10 = *pcVar12;\n        } while (cVar10 != '\0');\n      }\n      iVar7 = (**(code **)(puVar16 + 0x13c20))(acStack_85d + 3);\n      iVar7 = (**(code **)(puVar16 + 0x13c48))(iVar7 + 1);\n      *piVar8 = iVar7;\n      if (iVar7 == 0) {\n        pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(pcVar12,acStack_85d + 1);\n      }\n      (**(code **)(puVar16 + 0x13c5c))(*piVar8,acStack_85d + 3);\n      iVar7 = (**(code **)(puVar16 + 0x13c04))(script_00);\n      piVar8[1] = iVar7;\n      piVar8[2] = **(int **)(puVar16 + 0x13b20);\n      piVar8[3] = 0;\n      iVar7 = hash_label(acStack_85d + 3);\n      puVar4 = *(undefined4 **)(*(int *)(puVar16 + 0x13b34) + iVar7 * 4);\n      if (puVar4 != (undefined4 *)0x0) {\n        do {\n          iVar6 = (**(code **)(puVar16 + 0x13cd4))(*puVar4,acStack_85d + 3);\n          if (iVar6 == 0) {\n            pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(pcVar12,acStack_85d + 1);\n            puVar4 = (undefined4 *)puVar4[3];\n          }\n          else {\n            puVar4 = (undefined4 *)puVar4[3];\n          }\n        } while (puVar4 != (undefined4 *)0x0);\n      }\n      if (aiStack_8dc[iVar7] == 0) {\n        *(int **)(*(int *)(puVar16 + 0x13b34) + iVar7 * 4) = piVar8;\n      }\n      else {\n        *(int **)(aiStack_8dc[iVar7] + 0xc) = piVar8;\n      }\n      aiStack_8dc[iVar7] = (int)piVar8;\n    }\n    pcVar12 = acStack_85d + 1;\n    get_script_line(script_00,pcVar12);\n  } while( true );\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "wchar_t *pwVar3;" type_identifier (pointer_declarator "*pwVar3" * identifier) ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "char cVar10;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "FILE *script_00;" type_identifier (pointer_declarator "*script_00" * identifier) ;) (declaration "undefined4 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "FILE *script_01;" type_identifier (pointer_declarator "*script_01" * identifier) ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "undefined1 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "undefined *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "undefined *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "code *pcVar17;" type_identifier (pointer_declarator "*pcVar17" * identifier) ;) (declaration "int aiStack_8dc [31];" primitive_type (array_declarator "aiStack_8dc [31]" identifier [ number_literal ]) ;) (declaration "char acStack_85d [1025];" primitive_type (array_declarator "acStack_85d [1025]" identifier [ number_literal ]) ;) (declaration "int iStack_45c;" primitive_type identifier ;) (declaration "FILE *pFStack_458;" type_identifier (pointer_declarator "*pFStack_458" * identifier) ;) (declaration "FILE *pFStack_454;" type_identifier (pointer_declarator "*pFStack_454" * identifier) ;) (declaration "undefined *puStack_450;" type_identifier (pointer_declarator "*puStack_450" * identifier) ;) (declaration "char line [1024];" primitive_type (array_declarator "line [1024]" identifier [ number_literal ]) ;) (expression_statement "iVar1 = *(int *)PTR___stack_chk_guard_0002d45c;" (assignment_expression "iVar1 = *(int *)PTR___stack_chk_guard_0002d45c" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0002d45c" * (cast_expression "(int *)PTR___stack_chk_guard_0002d45c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "get_script_line(script,line);" (call_expression "get_script_line(script,line)" identifier (argument_list "(script,line)" ( identifier , identifier ))) ;) (expression_statement "puVar14 = PTR_get_script_line_0002d240;" (assignment_expression "puVar14 = PTR_get_script_line_0002d240" identifier = identifier) ;) (while_statement "while (iVar2 = (*(code *)PTR_feof_0002d3ec)(script), iVar2 == 0) {\n    pwVar3 = convertFromUTF8(line);\n    (*(code *)PTR_free_0002d46c)(pwVar3);\n    get_script_line(script,line);\n  }" while (parenthesized_expression "(iVar2 = (*(code *)PTR_feof_0002d3ec)(script), iVar2 == 0)" ( (comma_expression "iVar2 = (*(code *)PTR_feof_0002d3ec)(script), iVar2 == 0" (assignment_expression "iVar2 = (*(code *)PTR_feof_0002d3ec)(script)" identifier = (call_expression "(*(code *)PTR_feof_0002d3ec)(script)" (parenthesized_expression "(*(code *)PTR_feof_0002d3ec)" ( (pointer_expression "*(code *)PTR_feof_0002d3ec" * (cast_expression "(code *)PTR_feof_0002d3ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(script)" ( identifier )))) , (binary_expression "iVar2 == 0" identifier == number_literal)) )) (compound_statement "{\n    pwVar3 = convertFromUTF8(line);\n    (*(code *)PTR_free_0002d46c)(pwVar3);\n    get_script_line(script,line);\n  }" { (expression_statement "pwVar3 = convertFromUTF8(line);" (assignment_expression "pwVar3 = convertFromUTF8(line)" identifier = (call_expression "convertFromUTF8(line)" identifier (argument_list "(line)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_free_0002d46c)(pwVar3);" (call_expression "(*(code *)PTR_free_0002d46c)(pwVar3)" (parenthesized_expression "(*(code *)PTR_free_0002d46c)" ( (pointer_expression "*(code *)PTR_free_0002d46c" * (cast_expression "(code *)PTR_free_0002d46c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pwVar3)" ( identifier ))) ;) (expression_statement "get_script_line(script,line);" (call_expression "get_script_line(script,line)" identifier (argument_list "(script,line)" ( identifier , identifier ))) ;) })) (if_statement "if (iVar1 == *(int *)PTR___stack_chk_guard_0002d45c) {\n    return;\n  }" if (parenthesized_expression "(iVar1 == *(int *)PTR___stack_chk_guard_0002d45c)" ( (binary_expression "iVar1 == *(int *)PTR___stack_chk_guard_0002d45c" identifier == (pointer_expression "*(int *)PTR___stack_chk_guard_0002d45c" * (cast_expression "(int *)PTR___stack_chk_guard_0002d45c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "script_00 = (FILE *)line;" (assignment_expression "script_00 = (FILE *)line" identifier = (cast_expression "(FILE *)line" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "puVar16 = PTR___stack_chk_fail_0002d440;" (assignment_expression "puVar16 = PTR___stack_chk_fail_0002d440" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0002d440)();" (call_expression "(*(code *)PTR___stack_chk_fail_0002d440)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0002d440)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0002d440" * (cast_expression "(code *)PTR___stack_chk_fail_0002d440" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iStack_45c = **(int **)(puVar16 + 0x13c9c);" (assignment_expression "iStack_45c = **(int **)(puVar16 + 0x13c9c)" identifier = (pointer_expression "**(int **)(puVar16 + 0x13c9c)" * (pointer_expression "*(int **)(puVar16 + 0x13c9c)" * (cast_expression "(int **)(puVar16 + 0x13c9c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x13c9c)" ( (binary_expression "puVar16 + 0x13c9c" identifier + number_literal) )))))) ;) (expression_statement "pFStack_458 = script;" (assignment_expression "pFStack_458 = script" identifier = identifier) ;) (expression_statement "pFStack_454 = (FILE *)line;" (assignment_expression "pFStack_454 = (FILE *)line" identifier = (cast_expression "(FILE *)line" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "puStack_450 = puVar14;" (assignment_expression "puStack_450 = puVar14" identifier = identifier) ;) (expression_statement "(**(code **)(puVar16 + 0x13c7c))();" (call_expression "(**(code **)(puVar16 + 0x13c7c))()" (parenthesized_expression "(**(code **)(puVar16 + 0x13c7c))" ( (pointer_expression "**(code **)(puVar16 + 0x13c7c)" * (pointer_expression "*(code **)(puVar16 + 0x13c7c)" * (cast_expression "(code **)(puVar16 + 0x13c7c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x13c7c)" ( (binary_expression "puVar16 + 0x13c7c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "**(undefined4 **)(puVar16 + 0x13b20) = 0;" (assignment_expression "**(undefined4 **)(puVar16 + 0x13b20) = 0" (pointer_expression "**(undefined4 **)(puVar16 + 0x13b20)" * (pointer_expression "*(undefined4 **)(puVar16 + 0x13b20)" * (cast_expression "(undefined4 **)(puVar16 + 0x13b20)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x13b20)" ( (binary_expression "puVar16 + 0x13b20" identifier + number_literal) ))))) = number_literal) ;) (expression_statement "puVar4 = *(undefined4 **)(puVar16 + 0x13b34);" (assignment_expression "puVar4 = *(undefined4 **)(puVar16 + 0x13b34)" identifier = (pointer_expression "*(undefined4 **)(puVar16 + 0x13b34)" * (cast_expression "(undefined4 **)(puVar16 + 0x13b34)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x13b34)" ( (binary_expression "puVar16 + 0x13b34" identifier + number_literal) ))))) ;) (expression_statement "piVar8 = aiStack_8dc;" (assignment_expression "piVar8 = aiStack_8dc" identifier = identifier) ;) (expression_statement "puVar11 = puVar4 + 0x20;" (assignment_expression "puVar11 = puVar4 + 0x20" identifier = (binary_expression "puVar4 + 0x20" identifier + number_literal)) ;) (do_statement "do {\n    *puVar4 = 0;\n    *piVar8 = 0;\n    puVar4 = puVar4 + 1;\n    piVar8 = piVar8 + 1;\n  } while (puVar11 != puVar4);" do (compound_statement "{\n    *puVar4 = 0;\n    *piVar8 = 0;\n    puVar4 = puVar4 + 1;\n    piVar8 = piVar8 + 1;\n  }" { (expression_statement "*puVar4 = 0;" (assignment_expression "*puVar4 = 0" (pointer_expression "*puVar4" * identifier) = number_literal) ;) (expression_statement "*piVar8 = 0;" (assignment_expression "*piVar8 = 0" (pointer_expression "*piVar8" * identifier) = number_literal) ;) (expression_statement "puVar4 = puVar4 + 1;" (assignment_expression "puVar4 = puVar4 + 1" identifier = (binary_expression "puVar4 + 1" identifier + number_literal)) ;) (expression_statement "piVar8 = piVar8 + 1;" (assignment_expression "piVar8 = piVar8 + 1" identifier = (binary_expression "piVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar11 != puVar4)" ( (binary_expression "puVar11 != puVar4" identifier != identifier) )) ;) (expression_statement "pcVar12 = acStack_85d + 1;" (assignment_expression "pcVar12 = acStack_85d + 1" identifier = (binary_expression "acStack_85d + 1" identifier + number_literal)) ;) (expression_statement "get_script_line(script_00,pcVar12);" (call_expression "get_script_line(script_00,pcVar12)" identifier (argument_list "(script_00,pcVar12)" ( identifier , identifier ))) ;) (expression_statement "iVar2 = *(int *)(puVar16 + 0x13a78);" (assignment_expression "iVar2 = *(int *)(puVar16 + 0x13a78)" identifier = (pointer_expression "*(int *)(puVar16 + 0x13a78)" * (cast_expression "(int *)(puVar16 + 0x13a78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x13a78)" ( (binary_expression "puVar16 + 0x13a78" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = *(int *)(puVar16 + 0x13a78);" (assignment_expression "iVar1 = *(int *)(puVar16 + 0x13a78)" identifier = (pointer_expression "*(int *)(puVar16 + 0x13a78)" * (cast_expression "(int *)(puVar16 + 0x13a78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x13a78)" ( (binary_expression "puVar16 + 0x13a78" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = *(int *)(puVar16 + 0x13a78);" (assignment_expression "iVar15 = *(int *)(puVar16 + 0x13a78)" identifier = (pointer_expression "*(int *)(puVar16 + 0x13a78)" * (cast_expression "(int *)(puVar16 + 0x13a78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x13a78)" ( (binary_expression "puVar16 + 0x13a78" identifier + number_literal) ))))) ;) (do_statement "do {\n    script_01 = script_00;\n    iVar7 = (**(code **)(puVar16 + 0x13c2c))();\n    if (iVar7 != 0) {\n      if (iStack_45c != **(int **)(puVar16 + 0x13c9c)) {\n        pcVar17 = *(code **)(puVar16 + 0x13c80);\n        (*pcVar17)();\n        puVar13 = (undefined1 *)0x0;\n        iVar1 = 0;\n        iVar2 = 0;\n        iVar15 = *(int *)(pcVar17 + 0x1368c);\n        while( true ) {\n          iVar7 = (**(code **)(pcVar17 + 0x13834))(pcVar12 + 2);\n          puVar13 = (undefined1 *)(**(code **)(pcVar17 + 0x13860))(puVar13,iVar7 + 2 + iVar2);\n          if (puVar13 == (undefined1 *)0x0) {\n            pcVar5 = (char *)(**(code **)(pcVar17 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(pcVar5,pcVar12);\n          }\n          if (iVar1 == 0) {\n            *puVar13 = 0;\n          }\n          (**(code **)(pcVar17 + 0x13878))(puVar13,pcVar12 + 2);\n          iVar1 = (**(code **)(pcVar17 + 0x13834))(puVar13);\n          puVar13[iVar1] = 10;\n          (puVar13 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar17 + 0x13834))(puVar13);\n          get_script_line(script_01,pcVar12);\n          if ((*pcVar12 != ' ') || (iVar2 = (**(code **)(pcVar17 + 0x13840))(script_01), iVar2 != 0)\n             ) break;\n          iVar2 = (**(code **)(pcVar17 + 0x13834))(puVar13);\n        }\n        return;\n      }\n      return;\n    }\n    if (acStack_85d[1] == '*') {\n      piVar8 = (int *)(**(code **)(puVar16 + 0x13c48))(0x10);\n      if (piVar8 == (int *)0x0) {\n        pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(pcVar12,acStack_85d + 1);\n      }\n      pcVar5 = acStack_85d + 1;\n      iVar7 = (**(code **)(puVar16 + 0x13c20))(pcVar5);\n      pcVar12 = pcVar5 + iVar7 + -1;\n      if (pcVar12 != pcVar5) {\n        piVar9 = (int *)(**(code **)(puVar16 + 0x13b6c))();\n        iVar7 = *piVar9;\n        do {\n          if ((*(ushort *)(iVar7 + *pcVar12 * 2) & 0x20) == 0) break;\n          *pcVar12 = '\0';\n          pcVar12 = pcVar12 + -1;\n        } while (pcVar12 != acStack_85d + 1);\n      }\n      pcVar12 = acStack_85d + 3;\n      if (acStack_85d[3] != '\0') {\n        cVar10 = acStack_85d[3];\n        do {\n          if (cVar10 == ' ') {\n            pcVar5 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar2 + -0x36b8,5);\n            fatal_error(pcVar5,acStack_85d + 1);\n          }\n          pcVar12 = pcVar12 + 1;\n          cVar10 = *pcVar12;\n        } while (cVar10 != '\0');\n      }\n      iVar7 = (**(code **)(puVar16 + 0x13c20))(acStack_85d + 3);\n      iVar7 = (**(code **)(puVar16 + 0x13c48))(iVar7 + 1);\n      *piVar8 = iVar7;\n      if (iVar7 == 0) {\n        pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(pcVar12,acStack_85d + 1);\n      }\n      (**(code **)(puVar16 + 0x13c5c))(*piVar8,acStack_85d + 3);\n      iVar7 = (**(code **)(puVar16 + 0x13c04))(script_00);\n      piVar8[1] = iVar7;\n      piVar8[2] = **(int **)(puVar16 + 0x13b20);\n      piVar8[3] = 0;\n      iVar7 = hash_label(acStack_85d + 3);\n      puVar4 = *(undefined4 **)(*(int *)(puVar16 + 0x13b34) + iVar7 * 4);\n      if (puVar4 != (undefined4 *)0x0) {\n        do {\n          iVar6 = (**(code **)(puVar16 + 0x13cd4))(*puVar4,acStack_85d + 3);\n          if (iVar6 == 0) {\n            pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(pcVar12,acStack_85d + 1);\n            puVar4 = (undefined4 *)puVar4[3];\n          }\n          else {\n            puVar4 = (undefined4 *)puVar4[3];\n          }\n        } while (puVar4 != (undefined4 *)0x0);\n      }\n      if (aiStack_8dc[iVar7] == 0) {\n        *(int **)(*(int *)(puVar16 + 0x13b34) + iVar7 * 4) = piVar8;\n      }\n      else {\n        *(int **)(aiStack_8dc[iVar7] + 0xc) = piVar8;\n      }\n      aiStack_8dc[iVar7] = (int)piVar8;\n    }\n    pcVar12 = acStack_85d + 1;\n    get_script_line(script_00,pcVar12);\n  } while( true );" do (compound_statement "{\n    script_01 = script_00;\n    iVar7 = (**(code **)(puVar16 + 0x13c2c))();\n    if (iVar7 != 0) {\n      if (iStack_45c != **(int **)(puVar16 + 0x13c9c)) {\n        pcVar17 = *(code **)(puVar16 + 0x13c80);\n        (*pcVar17)();\n        puVar13 = (undefined1 *)0x0;\n        iVar1 = 0;\n        iVar2 = 0;\n        iVar15 = *(int *)(pcVar17 + 0x1368c);\n        while( true ) {\n          iVar7 = (**(code **)(pcVar17 + 0x13834))(pcVar12 + 2);\n          puVar13 = (undefined1 *)(**(code **)(pcVar17 + 0x13860))(puVar13,iVar7 + 2 + iVar2);\n          if (puVar13 == (undefined1 *)0x0) {\n            pcVar5 = (char *)(**(code **)(pcVar17 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(pcVar5,pcVar12);\n          }\n          if (iVar1 == 0) {\n            *puVar13 = 0;\n          }\n          (**(code **)(pcVar17 + 0x13878))(puVar13,pcVar12 + 2);\n          iVar1 = (**(code **)(pcVar17 + 0x13834))(puVar13);\n          puVar13[iVar1] = 10;\n          (puVar13 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar17 + 0x13834))(puVar13);\n          get_script_line(script_01,pcVar12);\n          if ((*pcVar12 != ' ') || (iVar2 = (**(code **)(pcVar17 + 0x13840))(script_01), iVar2 != 0)\n             ) break;\n          iVar2 = (**(code **)(pcVar17 + 0x13834))(puVar13);\n        }\n        return;\n      }\n      return;\n    }\n    if (acStack_85d[1] == '*') {\n      piVar8 = (int *)(**(code **)(puVar16 + 0x13c48))(0x10);\n      if (piVar8 == (int *)0x0) {\n        pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(pcVar12,acStack_85d + 1);\n      }\n      pcVar5 = acStack_85d + 1;\n      iVar7 = (**(code **)(puVar16 + 0x13c20))(pcVar5);\n      pcVar12 = pcVar5 + iVar7 + -1;\n      if (pcVar12 != pcVar5) {\n        piVar9 = (int *)(**(code **)(puVar16 + 0x13b6c))();\n        iVar7 = *piVar9;\n        do {\n          if ((*(ushort *)(iVar7 + *pcVar12 * 2) & 0x20) == 0) break;\n          *pcVar12 = '\0';\n          pcVar12 = pcVar12 + -1;\n        } while (pcVar12 != acStack_85d + 1);\n      }\n      pcVar12 = acStack_85d + 3;\n      if (acStack_85d[3] != '\0') {\n        cVar10 = acStack_85d[3];\n        do {\n          if (cVar10 == ' ') {\n            pcVar5 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar2 + -0x36b8,5);\n            fatal_error(pcVar5,acStack_85d + 1);\n          }\n          pcVar12 = pcVar12 + 1;\n          cVar10 = *pcVar12;\n        } while (cVar10 != '\0');\n      }\n      iVar7 = (**(code **)(puVar16 + 0x13c20))(acStack_85d + 3);\n      iVar7 = (**(code **)(puVar16 + 0x13c48))(iVar7 + 1);\n      *piVar8 = iVar7;\n      if (iVar7 == 0) {\n        pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(pcVar12,acStack_85d + 1);\n      }\n      (**(code **)(puVar16 + 0x13c5c))(*piVar8,acStack_85d + 3);\n      iVar7 = (**(code **)(puVar16 + 0x13c04))(script_00);\n      piVar8[1] = iVar7;\n      piVar8[2] = **(int **)(puVar16 + 0x13b20);\n      piVar8[3] = 0;\n      iVar7 = hash_label(acStack_85d + 3);\n      puVar4 = *(undefined4 **)(*(int *)(puVar16 + 0x13b34) + iVar7 * 4);\n      if (puVar4 != (undefined4 *)0x0) {\n        do {\n          iVar6 = (**(code **)(puVar16 + 0x13cd4))(*puVar4,acStack_85d + 3);\n          if (iVar6 == 0) {\n            pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(pcVar12,acStack_85d + 1);\n            puVar4 = (undefined4 *)puVar4[3];\n          }\n          else {\n            puVar4 = (undefined4 *)puVar4[3];\n          }\n        } while (puVar4 != (undefined4 *)0x0);\n      }\n      if (aiStack_8dc[iVar7] == 0) {\n        *(int **)(*(int *)(puVar16 + 0x13b34) + iVar7 * 4) = piVar8;\n      }\n      else {\n        *(int **)(aiStack_8dc[iVar7] + 0xc) = piVar8;\n      }\n      aiStack_8dc[iVar7] = (int)piVar8;\n    }\n    pcVar12 = acStack_85d + 1;\n    get_script_line(script_00,pcVar12);\n  }" { (expression_statement "script_01 = script_00;" (assignment_expression "script_01 = script_00" identifier = identifier) ;) (expression_statement "iVar7 = (**(code **)(puVar16 + 0x13c2c))();" (assignment_expression "iVar7 = (**(code **)(puVar16 + 0x13c2c))()" identifier = (call_expression "(**(code **)(puVar16 + 0x13c2c))()" (parenthesized_expression "(**(code **)(puVar16 + 0x13c2c))" ( (pointer_expression "**(code **)(puVar16 + 0x13c2c)" * (pointer_expression "*(code **)(puVar16 + 0x13c2c)" * (cast_expression "(code **)(puVar16 + 0x13c2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x13c2c)" ( (binary_expression "puVar16 + 0x13c2c" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar7 != 0) {\n      if (iStack_45c != **(int **)(puVar16 + 0x13c9c)) {\n        pcVar17 = *(code **)(puVar16 + 0x13c80);\n        (*pcVar17)();\n        puVar13 = (undefined1 *)0x0;\n        iVar1 = 0;\n        iVar2 = 0;\n        iVar15 = *(int *)(pcVar17 + 0x1368c);\n        while( true ) {\n          iVar7 = (**(code **)(pcVar17 + 0x13834))(pcVar12 + 2);\n          puVar13 = (undefined1 *)(**(code **)(pcVar17 + 0x13860))(puVar13,iVar7 + 2 + iVar2);\n          if (puVar13 == (undefined1 *)0x0) {\n            pcVar5 = (char *)(**(code **)(pcVar17 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(pcVar5,pcVar12);\n          }\n          if (iVar1 == 0) {\n            *puVar13 = 0;\n          }\n          (**(code **)(pcVar17 + 0x13878))(puVar13,pcVar12 + 2);\n          iVar1 = (**(code **)(pcVar17 + 0x13834))(puVar13);\n          puVar13[iVar1] = 10;\n          (puVar13 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar17 + 0x13834))(puVar13);\n          get_script_line(script_01,pcVar12);\n          if ((*pcVar12 != ' ') || (iVar2 = (**(code **)(pcVar17 + 0x13840))(script_01), iVar2 != 0)\n             ) break;\n          iVar2 = (**(code **)(pcVar17 + 0x13834))(puVar13);\n        }\n        return;\n      }\n      return;\n    }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n      if (iStack_45c != **(int **)(puVar16 + 0x13c9c)) {\n        pcVar17 = *(code **)(puVar16 + 0x13c80);\n        (*pcVar17)();\n        puVar13 = (undefined1 *)0x0;\n        iVar1 = 0;\n        iVar2 = 0;\n        iVar15 = *(int *)(pcVar17 + 0x1368c);\n        while( true ) {\n          iVar7 = (**(code **)(pcVar17 + 0x13834))(pcVar12 + 2);\n          puVar13 = (undefined1 *)(**(code **)(pcVar17 + 0x13860))(puVar13,iVar7 + 2 + iVar2);\n          if (puVar13 == (undefined1 *)0x0) {\n            pcVar5 = (char *)(**(code **)(pcVar17 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(pcVar5,pcVar12);\n          }\n          if (iVar1 == 0) {\n            *puVar13 = 0;\n          }\n          (**(code **)(pcVar17 + 0x13878))(puVar13,pcVar12 + 2);\n          iVar1 = (**(code **)(pcVar17 + 0x13834))(puVar13);\n          puVar13[iVar1] = 10;\n          (puVar13 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar17 + 0x13834))(puVar13);\n          get_script_line(script_01,pcVar12);\n          if ((*pcVar12 != ' ') || (iVar2 = (**(code **)(pcVar17 + 0x13840))(script_01), iVar2 != 0)\n             ) break;\n          iVar2 = (**(code **)(pcVar17 + 0x13834))(puVar13);\n        }\n        return;\n      }\n      return;\n    }" { (if_statement "if (iStack_45c != **(int **)(puVar16 + 0x13c9c)) {\n        pcVar17 = *(code **)(puVar16 + 0x13c80);\n        (*pcVar17)();\n        puVar13 = (undefined1 *)0x0;\n        iVar1 = 0;\n        iVar2 = 0;\n        iVar15 = *(int *)(pcVar17 + 0x1368c);\n        while( true ) {\n          iVar7 = (**(code **)(pcVar17 + 0x13834))(pcVar12 + 2);\n          puVar13 = (undefined1 *)(**(code **)(pcVar17 + 0x13860))(puVar13,iVar7 + 2 + iVar2);\n          if (puVar13 == (undefined1 *)0x0) {\n            pcVar5 = (char *)(**(code **)(pcVar17 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(pcVar5,pcVar12);\n          }\n          if (iVar1 == 0) {\n            *puVar13 = 0;\n          }\n          (**(code **)(pcVar17 + 0x13878))(puVar13,pcVar12 + 2);\n          iVar1 = (**(code **)(pcVar17 + 0x13834))(puVar13);\n          puVar13[iVar1] = 10;\n          (puVar13 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar17 + 0x13834))(puVar13);\n          get_script_line(script_01,pcVar12);\n          if ((*pcVar12 != ' ') || (iVar2 = (**(code **)(pcVar17 + 0x13840))(script_01), iVar2 != 0)\n             ) break;\n          iVar2 = (**(code **)(pcVar17 + 0x13834))(puVar13);\n        }\n        return;\n      }" if (parenthesized_expression "(iStack_45c != **(int **)(puVar16 + 0x13c9c))" ( (binary_expression "iStack_45c != **(int **)(puVar16 + 0x13c9c)" identifier != (pointer_expression "**(int **)(puVar16 + 0x13c9c)" * (pointer_expression "*(int **)(puVar16 + 0x13c9c)" * (cast_expression "(int **)(puVar16 + 0x13c9c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x13c9c)" ( (binary_expression "puVar16 + 0x13c9c" identifier + number_literal) )))))) )) (compound_statement "{\n        pcVar17 = *(code **)(puVar16 + 0x13c80);\n        (*pcVar17)();\n        puVar13 = (undefined1 *)0x0;\n        iVar1 = 0;\n        iVar2 = 0;\n        iVar15 = *(int *)(pcVar17 + 0x1368c);\n        while( true ) {\n          iVar7 = (**(code **)(pcVar17 + 0x13834))(pcVar12 + 2);\n          puVar13 = (undefined1 *)(**(code **)(pcVar17 + 0x13860))(puVar13,iVar7 + 2 + iVar2);\n          if (puVar13 == (undefined1 *)0x0) {\n            pcVar5 = (char *)(**(code **)(pcVar17 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(pcVar5,pcVar12);\n          }\n          if (iVar1 == 0) {\n            *puVar13 = 0;\n          }\n          (**(code **)(pcVar17 + 0x13878))(puVar13,pcVar12 + 2);\n          iVar1 = (**(code **)(pcVar17 + 0x13834))(puVar13);\n          puVar13[iVar1] = 10;\n          (puVar13 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar17 + 0x13834))(puVar13);\n          get_script_line(script_01,pcVar12);\n          if ((*pcVar12 != ' ') || (iVar2 = (**(code **)(pcVar17 + 0x13840))(script_01), iVar2 != 0)\n             ) break;\n          iVar2 = (**(code **)(pcVar17 + 0x13834))(puVar13);\n        }\n        return;\n      }" { (expression_statement "pcVar17 = *(code **)(puVar16 + 0x13c80);" (assignment_expression "pcVar17 = *(code **)(puVar16 + 0x13c80)" identifier = (pointer_expression "*(code **)(puVar16 + 0x13c80)" * (cast_expression "(code **)(puVar16 + 0x13c80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x13c80)" ( (binary_expression "puVar16 + 0x13c80" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar17)();" (call_expression "(*pcVar17)()" (parenthesized_expression "(*pcVar17)" ( (pointer_expression "*pcVar17" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar13 = (undefined1 *)0x0;" (assignment_expression "puVar13 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (expression_statement "iVar15 = *(int *)(pcVar17 + 0x1368c);" (assignment_expression "iVar15 = *(int *)(pcVar17 + 0x1368c)" identifier = (pointer_expression "*(int *)(pcVar17 + 0x1368c)" * (cast_expression "(int *)(pcVar17 + 0x1368c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x1368c)" ( (binary_expression "pcVar17 + 0x1368c" identifier + number_literal) ))))) ;) (while_statement "while( true ) {\n          iVar7 = (**(code **)(pcVar17 + 0x13834))(pcVar12 + 2);\n          puVar13 = (undefined1 *)(**(code **)(pcVar17 + 0x13860))(puVar13,iVar7 + 2 + iVar2);\n          if (puVar13 == (undefined1 *)0x0) {\n            pcVar5 = (char *)(**(code **)(pcVar17 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(pcVar5,pcVar12);\n          }\n          if (iVar1 == 0) {\n            *puVar13 = 0;\n          }\n          (**(code **)(pcVar17 + 0x13878))(puVar13,pcVar12 + 2);\n          iVar1 = (**(code **)(pcVar17 + 0x13834))(puVar13);\n          puVar13[iVar1] = 10;\n          (puVar13 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar17 + 0x13834))(puVar13);\n          get_script_line(script_01,pcVar12);\n          if ((*pcVar12 != ' ') || (iVar2 = (**(code **)(pcVar17 + 0x13840))(script_01), iVar2 != 0)\n             ) break;\n          iVar2 = (**(code **)(pcVar17 + 0x13834))(puVar13);\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          iVar7 = (**(code **)(pcVar17 + 0x13834))(pcVar12 + 2);\n          puVar13 = (undefined1 *)(**(code **)(pcVar17 + 0x13860))(puVar13,iVar7 + 2 + iVar2);\n          if (puVar13 == (undefined1 *)0x0) {\n            pcVar5 = (char *)(**(code **)(pcVar17 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(pcVar5,pcVar12);\n          }\n          if (iVar1 == 0) {\n            *puVar13 = 0;\n          }\n          (**(code **)(pcVar17 + 0x13878))(puVar13,pcVar12 + 2);\n          iVar1 = (**(code **)(pcVar17 + 0x13834))(puVar13);\n          puVar13[iVar1] = 10;\n          (puVar13 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar17 + 0x13834))(puVar13);\n          get_script_line(script_01,pcVar12);\n          if ((*pcVar12 != ' ') || (iVar2 = (**(code **)(pcVar17 + 0x13840))(script_01), iVar2 != 0)\n             ) break;\n          iVar2 = (**(code **)(pcVar17 + 0x13834))(puVar13);\n        }" { (expression_statement "iVar7 = (**(code **)(pcVar17 + 0x13834))(pcVar12 + 2);" (assignment_expression "iVar7 = (**(code **)(pcVar17 + 0x13834))(pcVar12 + 2)" identifier = (call_expression "(**(code **)(pcVar17 + 0x13834))(pcVar12 + 2)" (parenthesized_expression "(**(code **)(pcVar17 + 0x13834))" ( (pointer_expression "**(code **)(pcVar17 + 0x13834)" * (pointer_expression "*(code **)(pcVar17 + 0x13834)" * (cast_expression "(code **)(pcVar17 + 0x13834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x13834)" ( (binary_expression "pcVar17 + 0x13834" identifier + number_literal) ))))) )) (argument_list "(pcVar12 + 2)" ( (binary_expression "pcVar12 + 2" identifier + number_literal) )))) ;) (expression_statement "puVar13 = (undefined1 *)(**(code **)(pcVar17 + 0x13860))(puVar13,iVar7 + 2 + iVar2);" (assignment_expression "puVar13 = (undefined1 *)(**(code **)(pcVar17 + 0x13860))(puVar13,iVar7 + 2 + iVar2)" identifier = (cast_expression "(undefined1 *)(**(code **)(pcVar17 + 0x13860))(puVar13,iVar7 + 2 + iVar2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar17 + 0x13860))(puVar13,iVar7 + 2 + iVar2)" (parenthesized_expression "(**(code **)(pcVar17 + 0x13860))" ( (pointer_expression "**(code **)(pcVar17 + 0x13860)" * (pointer_expression "*(code **)(pcVar17 + 0x13860)" * (cast_expression "(code **)(pcVar17 + 0x13860)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x13860)" ( (binary_expression "pcVar17 + 0x13860" identifier + number_literal) ))))) )) (argument_list "(puVar13,iVar7 + 2 + iVar2)" ( identifier , (binary_expression "iVar7 + 2 + iVar2" (binary_expression "iVar7 + 2" identifier + number_literal) + identifier) ))))) ;) (if_statement "if (puVar13 == (undefined1 *)0x0) {\n            pcVar5 = (char *)(**(code **)(pcVar17 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(pcVar5,pcVar12);\n          }" if (parenthesized_expression "(puVar13 == (undefined1 *)0x0)" ( (binary_expression "puVar13 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pcVar5 = (char *)(**(code **)(pcVar17 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(pcVar5,pcVar12);\n          }" { (expression_statement "pcVar5 = (char *)(**(code **)(pcVar17 + 0x13898))(0,iVar15 + -0x4d20,5);" (assignment_expression "pcVar5 = (char *)(**(code **)(pcVar17 + 0x13898))(0,iVar15 + -0x4d20,5)" identifier = (cast_expression "(char *)(**(code **)(pcVar17 + 0x13898))(0,iVar15 + -0x4d20,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar17 + 0x13898))(0,iVar15 + -0x4d20,5)" (parenthesized_expression "(**(code **)(pcVar17 + 0x13898))" ( (pointer_expression "**(code **)(pcVar17 + 0x13898)" * (pointer_expression "*(code **)(pcVar17 + 0x13898)" * (cast_expression "(code **)(pcVar17 + 0x13898)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x13898)" ( (binary_expression "pcVar17 + 0x13898" identifier + number_literal) ))))) )) (argument_list "(0,iVar15 + -0x4d20,5)" ( number_literal , (binary_expression "iVar15 + -0x4d20" identifier + number_literal) , number_literal ))))) ;) (expression_statement "fatal_error(pcVar5,pcVar12);" (call_expression "fatal_error(pcVar5,pcVar12)" identifier (argument_list "(pcVar5,pcVar12)" ( identifier , identifier ))) ;) })) (if_statement "if (iVar1 == 0) {\n            *puVar13 = 0;\n          }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n            *puVar13 = 0;\n          }" { (expression_statement "*puVar13 = 0;" (assignment_expression "*puVar13 = 0" (pointer_expression "*puVar13" * identifier) = number_literal) ;) })) (expression_statement "(**(code **)(pcVar17 + 0x13878))(puVar13,pcVar12 + 2);" (call_expression "(**(code **)(pcVar17 + 0x13878))(puVar13,pcVar12 + 2)" (parenthesized_expression "(**(code **)(pcVar17 + 0x13878))" ( (pointer_expression "**(code **)(pcVar17 + 0x13878)" * (pointer_expression "*(code **)(pcVar17 + 0x13878)" * (cast_expression "(code **)(pcVar17 + 0x13878)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x13878)" ( (binary_expression "pcVar17 + 0x13878" identifier + number_literal) ))))) )) (argument_list "(puVar13,pcVar12 + 2)" ( identifier , (binary_expression "pcVar12 + 2" identifier + number_literal) ))) ;) (expression_statement "iVar1 = (**(code **)(pcVar17 + 0x13834))(puVar13);" (assignment_expression "iVar1 = (**(code **)(pcVar17 + 0x13834))(puVar13)" identifier = (call_expression "(**(code **)(pcVar17 + 0x13834))(puVar13)" (parenthesized_expression "(**(code **)(pcVar17 + 0x13834))" ( (pointer_expression "**(code **)(pcVar17 + 0x13834)" * (pointer_expression "*(code **)(pcVar17 + 0x13834)" * (cast_expression "(code **)(pcVar17 + 0x13834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x13834)" ( (binary_expression "pcVar17 + 0x13834" identifier + number_literal) ))))) )) (argument_list "(puVar13)" ( identifier )))) ;) (expression_statement "puVar13[iVar1] = 10;" (assignment_expression "puVar13[iVar1] = 10" (subscript_expression "puVar13[iVar1]" identifier [ identifier ]) = number_literal) ;) (expression_statement "(puVar13 + iVar1)[1] = 0;" (assignment_expression "(puVar13 + iVar1)[1] = 0" (subscript_expression "(puVar13 + iVar1)[1]" (parenthesized_expression "(puVar13 + iVar1)" ( (binary_expression "puVar13 + iVar1" identifier + identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "iVar1 = (**(code **)(pcVar17 + 0x13834))(puVar13);" (assignment_expression "iVar1 = (**(code **)(pcVar17 + 0x13834))(puVar13)" identifier = (call_expression "(**(code **)(pcVar17 + 0x13834))(puVar13)" (parenthesized_expression "(**(code **)(pcVar17 + 0x13834))" ( (pointer_expression "**(code **)(pcVar17 + 0x13834)" * (pointer_expression "*(code **)(pcVar17 + 0x13834)" * (cast_expression "(code **)(pcVar17 + 0x13834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x13834)" ( (binary_expression "pcVar17 + 0x13834" identifier + number_literal) ))))) )) (argument_list "(puVar13)" ( identifier )))) ;) (expression_statement "get_script_line(script_01,pcVar12);" (call_expression "get_script_line(script_01,pcVar12)" identifier (argument_list "(script_01,pcVar12)" ( identifier , identifier ))) ;) (if_statement "if ((*pcVar12 != ' ') || (iVar2 = (**(code **)(pcVar17 + 0x13840))(script_01), iVar2 != 0)\n             ) break;" if (parenthesized_expression "((*pcVar12 != ' ') || (iVar2 = (**(code **)(pcVar17 + 0x13840))(script_01), iVar2 != 0)\n             )" ( (binary_expression "(*pcVar12 != ' ') || (iVar2 = (**(code **)(pcVar17 + 0x13840))(script_01), iVar2 != 0)" (parenthesized_expression "(*pcVar12 != ' ')" ( (binary_expression "*pcVar12 != ' '" (pointer_expression "*pcVar12" * identifier) != (char_literal "' '" ' character ')) )) || (parenthesized_expression "(iVar2 = (**(code **)(pcVar17 + 0x13840))(script_01), iVar2 != 0)" ( (comma_expression "iVar2 = (**(code **)(pcVar17 + 0x13840))(script_01), iVar2 != 0" (assignment_expression "iVar2 = (**(code **)(pcVar17 + 0x13840))(script_01)" identifier = (call_expression "(**(code **)(pcVar17 + 0x13840))(script_01)" (parenthesized_expression "(**(code **)(pcVar17 + 0x13840))" ( (pointer_expression "**(code **)(pcVar17 + 0x13840)" * (pointer_expression "*(code **)(pcVar17 + 0x13840)" * (cast_expression "(code **)(pcVar17 + 0x13840)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x13840)" ( (binary_expression "pcVar17 + 0x13840" identifier + number_literal) ))))) )) (argument_list "(script_01)" ( identifier )))) , (binary_expression "iVar2 != 0" identifier != number_literal)) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar2 = (**(code **)(pcVar17 + 0x13834))(puVar13);" (assignment_expression "iVar2 = (**(code **)(pcVar17 + 0x13834))(puVar13)" identifier = (call_expression "(**(code **)(pcVar17 + 0x13834))(puVar13)" (parenthesized_expression "(**(code **)(pcVar17 + 0x13834))" ( (pointer_expression "**(code **)(pcVar17 + 0x13834)" * (pointer_expression "*(code **)(pcVar17 + 0x13834)" * (cast_expression "(code **)(pcVar17 + 0x13834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x13834)" ( (binary_expression "pcVar17 + 0x13834" identifier + number_literal) ))))) )) (argument_list "(puVar13)" ( identifier )))) ;) })) (return_statement "return;" return ;) })) (return_statement "return;" return ;) })) (if_statement "if (acStack_85d[1] == '*') {\n      piVar8 = (int *)(**(code **)(puVar16 + 0x13c48))(0x10);\n      if (piVar8 == (int *)0x0) {\n        pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(pcVar12,acStack_85d + 1);\n      }\n      pcVar5 = acStack_85d + 1;\n      iVar7 = (**(code **)(puVar16 + 0x13c20))(pcVar5);\n      pcVar12 = pcVar5 + iVar7 + -1;\n      if (pcVar12 != pcVar5) {\n        piVar9 = (int *)(**(code **)(puVar16 + 0x13b6c))();\n        iVar7 = *piVar9;\n        do {\n          if ((*(ushort *)(iVar7 + *pcVar12 * 2) & 0x20) == 0) break;\n          *pcVar12 = '\0';\n          pcVar12 = pcVar12 + -1;\n        } while (pcVar12 != acStack_85d + 1);\n      }\n      pcVar12 = acStack_85d + 3;\n      if (acStack_85d[3] != '\0') {\n        cVar10 = acStack_85d[3];\n        do {\n          if (cVar10 == ' ') {\n            pcVar5 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar2 + -0x36b8,5);\n            fatal_error(pcVar5,acStack_85d + 1);\n          }\n          pcVar12 = pcVar12 + 1;\n          cVar10 = *pcVar12;\n        } while (cVar10 != '\0');\n      }\n      iVar7 = (**(code **)(puVar16 + 0x13c20))(acStack_85d + 3);\n      iVar7 = (**(code **)(puVar16 + 0x13c48))(iVar7 + 1);\n      *piVar8 = iVar7;\n      if (iVar7 == 0) {\n        pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(pcVar12,acStack_85d + 1);\n      }\n      (**(code **)(puVar16 + 0x13c5c))(*piVar8,acStack_85d + 3);\n      iVar7 = (**(code **)(puVar16 + 0x13c04))(script_00);\n      piVar8[1] = iVar7;\n      piVar8[2] = **(int **)(puVar16 + 0x13b20);\n      piVar8[3] = 0;\n      iVar7 = hash_label(acStack_85d + 3);\n      puVar4 = *(undefined4 **)(*(int *)(puVar16 + 0x13b34) + iVar7 * 4);\n      if (puVar4 != (undefined4 *)0x0) {\n        do {\n          iVar6 = (**(code **)(puVar16 + 0x13cd4))(*puVar4,acStack_85d + 3);\n          if (iVar6 == 0) {\n            pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(pcVar12,acStack_85d + 1);\n            puVar4 = (undefined4 *)puVar4[3];\n          }\n          else {\n            puVar4 = (undefined4 *)puVar4[3];\n          }\n        } while (puVar4 != (undefined4 *)0x0);\n      }\n      if (aiStack_8dc[iVar7] == 0) {\n        *(int **)(*(int *)(puVar16 + 0x13b34) + iVar7 * 4) = piVar8;\n      }\n      else {\n        *(int **)(aiStack_8dc[iVar7] + 0xc) = piVar8;\n      }\n      aiStack_8dc[iVar7] = (int)piVar8;\n    }" if (parenthesized_expression "(acStack_85d[1] == '*')" ( (binary_expression "acStack_85d[1] == '*'" (subscript_expression "acStack_85d[1]" identifier [ number_literal ]) == (char_literal "'*'" ' character ')) )) (compound_statement "{\n      piVar8 = (int *)(**(code **)(puVar16 + 0x13c48))(0x10);\n      if (piVar8 == (int *)0x0) {\n        pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(pcVar12,acStack_85d + 1);\n      }\n      pcVar5 = acStack_85d + 1;\n      iVar7 = (**(code **)(puVar16 + 0x13c20))(pcVar5);\n      pcVar12 = pcVar5 + iVar7 + -1;\n      if (pcVar12 != pcVar5) {\n        piVar9 = (int *)(**(code **)(puVar16 + 0x13b6c))();\n        iVar7 = *piVar9;\n        do {\n          if ((*(ushort *)(iVar7 + *pcVar12 * 2) & 0x20) == 0) break;\n          *pcVar12 = '\0';\n          pcVar12 = pcVar12 + -1;\n        } while (pcVar12 != acStack_85d + 1);\n      }\n      pcVar12 = acStack_85d + 3;\n      if (acStack_85d[3] != '\0') {\n        cVar10 = acStack_85d[3];\n        do {\n          if (cVar10 == ' ') {\n            pcVar5 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar2 + -0x36b8,5);\n            fatal_error(pcVar5,acStack_85d + 1);\n          }\n          pcVar12 = pcVar12 + 1;\n          cVar10 = *pcVar12;\n        } while (cVar10 != '\0');\n      }\n      iVar7 = (**(code **)(puVar16 + 0x13c20))(acStack_85d + 3);\n      iVar7 = (**(code **)(puVar16 + 0x13c48))(iVar7 + 1);\n      *piVar8 = iVar7;\n      if (iVar7 == 0) {\n        pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(pcVar12,acStack_85d + 1);\n      }\n      (**(code **)(puVar16 + 0x13c5c))(*piVar8,acStack_85d + 3);\n      iVar7 = (**(code **)(puVar16 + 0x13c04))(script_00);\n      piVar8[1] = iVar7;\n      piVar8[2] = **(int **)(puVar16 + 0x13b20);\n      piVar8[3] = 0;\n      iVar7 = hash_label(acStack_85d + 3);\n      puVar4 = *(undefined4 **)(*(int *)(puVar16 + 0x13b34) + iVar7 * 4);\n      if (puVar4 != (undefined4 *)0x0) {\n        do {\n          iVar6 = (**(code **)(puVar16 + 0x13cd4))(*puVar4,acStack_85d + 3);\n          if (iVar6 == 0) {\n            pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(pcVar12,acStack_85d + 1);\n            puVar4 = (undefined4 *)puVar4[3];\n          }\n          else {\n            puVar4 = (undefined4 *)puVar4[3];\n          }\n        } while (puVar4 != (undefined4 *)0x0);\n      }\n      if (aiStack_8dc[iVar7] == 0) {\n        *(int **)(*(int *)(puVar16 + 0x13b34) + iVar7 * 4) = piVar8;\n      }\n      else {\n        *(int **)(aiStack_8dc[iVar7] + 0xc) = piVar8;\n      }\n      aiStack_8dc[iVar7] = (int)piVar8;\n    }" { (expression_statement "piVar8 = (int *)(**(code **)(puVar16 + 0x13c48))(0x10);" (assignment_expression "piVar8 = (int *)(**(code **)(puVar16 + 0x13c48))(0x10)" identifier = (cast_expression "(int *)(**(code **)(puVar16 + 0x13c48))(0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar16 + 0x13c48))(0x10)" (parenthesized_expression "(**(code **)(puVar16 + 0x13c48))" ( (pointer_expression "**(code **)(puVar16 + 0x13c48)" * (pointer_expression "*(code **)(puVar16 + 0x13c48)" * (cast_expression "(code **)(puVar16 + 0x13c48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x13c48)" ( (binary_expression "puVar16 + 0x13c48" identifier + number_literal) ))))) )) (argument_list "(0x10)" ( number_literal ))))) ;) (if_statement "if (piVar8 == (int *)0x0) {\n        pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(pcVar12,acStack_85d + 1);\n      }" if (parenthesized_expression "(piVar8 == (int *)0x0)" ( (binary_expression "piVar8 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(pcVar12,acStack_85d + 1);\n      }" { (expression_statement "pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar15 + -0x4d20,5);" (assignment_expression "pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar15 + -0x4d20,5)" identifier = (cast_expression "(char *)(**(code **)(puVar16 + 0x13c84))(0,iVar15 + -0x4d20,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar16 + 0x13c84))(0,iVar15 + -0x4d20,5)" (parenthesized_expression "(**(code **)(puVar16 + 0x13c84))" ( (pointer_expression "**(code **)(puVar16 + 0x13c84)" * (pointer_expression "*(code **)(puVar16 + 0x13c84)" * (cast_expression "(code **)(puVar16 + 0x13c84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x13c84)" ( (binary_expression "puVar16 + 0x13c84" identifier + number_literal) ))))) )) (argument_list "(0,iVar15 + -0x4d20,5)" ( number_literal , (binary_expression "iVar15 + -0x4d20" identifier + number_literal) , number_literal ))))) ;) (expression_statement "fatal_error(pcVar12,acStack_85d + 1);" (call_expression "fatal_error(pcVar12,acStack_85d + 1)" identifier (argument_list "(pcVar12,acStack_85d + 1)" ( identifier , (binary_expression "acStack_85d + 1" identifier + number_literal) ))) ;) })) (expression_statement "pcVar5 = acStack_85d + 1;" (assignment_expression "pcVar5 = acStack_85d + 1" identifier = (binary_expression "acStack_85d + 1" identifier + number_literal)) ;) (expression_statement "iVar7 = (**(code **)(puVar16 + 0x13c20))(pcVar5);" (assignment_expression "iVar7 = (**(code **)(puVar16 + 0x13c20))(pcVar5)" identifier = (call_expression "(**(code **)(puVar16 + 0x13c20))(pcVar5)" (parenthesized_expression "(**(code **)(puVar16 + 0x13c20))" ( (pointer_expression "**(code **)(puVar16 + 0x13c20)" * (pointer_expression "*(code **)(puVar16 + 0x13c20)" * (cast_expression "(code **)(puVar16 + 0x13c20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x13c20)" ( (binary_expression "puVar16 + 0x13c20" identifier + number_literal) ))))) )) (argument_list "(pcVar5)" ( identifier )))) ;) (expression_statement "pcVar12 = pcVar5 + iVar7 + -1;" (assignment_expression "pcVar12 = pcVar5 + iVar7 + -1" identifier = (binary_expression "pcVar5 + iVar7 + -1" (binary_expression "pcVar5 + iVar7" identifier + identifier) + number_literal)) ;) (if_statement "if (pcVar12 != pcVar5) {\n        piVar9 = (int *)(**(code **)(puVar16 + 0x13b6c))();\n        iVar7 = *piVar9;\n        do {\n          if ((*(ushort *)(iVar7 + *pcVar12 * 2) & 0x20) == 0) break;\n          *pcVar12 = '\0';\n          pcVar12 = pcVar12 + -1;\n        } while (pcVar12 != acStack_85d + 1);\n      }" if (parenthesized_expression "(pcVar12 != pcVar5)" ( (binary_expression "pcVar12 != pcVar5" identifier != identifier) )) (compound_statement "{\n        piVar9 = (int *)(**(code **)(puVar16 + 0x13b6c))();\n        iVar7 = *piVar9;\n        do {\n          if ((*(ushort *)(iVar7 + *pcVar12 * 2) & 0x20) == 0) break;\n          *pcVar12 = '\0';\n          pcVar12 = pcVar12 + -1;\n        } while (pcVar12 != acStack_85d + 1);\n      }" { (expression_statement "piVar9 = (int *)(**(code **)(puVar16 + 0x13b6c))();" (assignment_expression "piVar9 = (int *)(**(code **)(puVar16 + 0x13b6c))()" identifier = (cast_expression "(int *)(**(code **)(puVar16 + 0x13b6c))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar16 + 0x13b6c))()" (parenthesized_expression "(**(code **)(puVar16 + 0x13b6c))" ( (pointer_expression "**(code **)(puVar16 + 0x13b6c)" * (pointer_expression "*(code **)(puVar16 + 0x13b6c)" * (cast_expression "(code **)(puVar16 + 0x13b6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x13b6c)" ( (binary_expression "puVar16 + 0x13b6c" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar7 = *piVar9;" (assignment_expression "iVar7 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (do_statement "do {\n          if ((*(ushort *)(iVar7 + *pcVar12 * 2) & 0x20) == 0) break;\n          *pcVar12 = '\0';\n          pcVar12 = pcVar12 + -1;\n        } while (pcVar12 != acStack_85d + 1);" do (compound_statement "{\n          if ((*(ushort *)(iVar7 + *pcVar12 * 2) & 0x20) == 0) break;\n          *pcVar12 = '\0';\n          pcVar12 = pcVar12 + -1;\n        }" { (if_statement "if ((*(ushort *)(iVar7 + *pcVar12 * 2) & 0x20) == 0) break;" if (parenthesized_expression "((*(ushort *)(iVar7 + *pcVar12 * 2) & 0x20) == 0)" ( (binary_expression "(*(ushort *)(iVar7 + *pcVar12 * 2) & 0x20) == 0" (parenthesized_expression "(*(ushort *)(iVar7 + *pcVar12 * 2) & 0x20)" ( (binary_expression "*(ushort *)(iVar7 + *pcVar12 * 2) & 0x20" (pointer_expression "*(ushort *)(iVar7 + *pcVar12 * 2)" * (cast_expression "(ushort *)(iVar7 + *pcVar12 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + *pcVar12 * 2)" ( (binary_expression "iVar7 + *pcVar12 * 2" identifier + (binary_expression "*pcVar12 * 2" (pointer_expression "*pcVar12" * identifier) * number_literal)) )))) & number_literal) )) == number_literal) )) (break_statement "break;" break ;)) (expression_statement "*pcVar12 = '\0';" (assignment_expression "*pcVar12 = '\0'" (pointer_expression "*pcVar12" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar12 = pcVar12 + -1;" (assignment_expression "pcVar12 = pcVar12 + -1" identifier = (binary_expression "pcVar12 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pcVar12 != acStack_85d + 1)" ( (binary_expression "pcVar12 != acStack_85d + 1" identifier != (binary_expression "acStack_85d + 1" identifier + number_literal)) )) ;) })) (expression_statement "pcVar12 = acStack_85d + 3;" (assignment_expression "pcVar12 = acStack_85d + 3" identifier = (binary_expression "acStack_85d + 3" identifier + number_literal)) ;) (if_statement "if (acStack_85d[3] != '\0') {\n        cVar10 = acStack_85d[3];\n        do {\n          if (cVar10 == ' ') {\n            pcVar5 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar2 + -0x36b8,5);\n            fatal_error(pcVar5,acStack_85d + 1);\n          }\n          pcVar12 = pcVar12 + 1;\n          cVar10 = *pcVar12;\n        } while (cVar10 != '\0');\n      }" if (parenthesized_expression "(acStack_85d[3] != '\0')" ( (binary_expression "acStack_85d[3] != '\0'" (subscript_expression "acStack_85d[3]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        cVar10 = acStack_85d[3];\n        do {\n          if (cVar10 == ' ') {\n            pcVar5 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar2 + -0x36b8,5);\n            fatal_error(pcVar5,acStack_85d + 1);\n          }\n          pcVar12 = pcVar12 + 1;\n          cVar10 = *pcVar12;\n        } while (cVar10 != '\0');\n      }" { (expression_statement "cVar10 = acStack_85d[3];" (assignment_expression "cVar10 = acStack_85d[3]" identifier = (subscript_expression "acStack_85d[3]" identifier [ number_literal ])) ;) (do_statement "do {\n          if (cVar10 == ' ') {\n            pcVar5 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar2 + -0x36b8,5);\n            fatal_error(pcVar5,acStack_85d + 1);\n          }\n          pcVar12 = pcVar12 + 1;\n          cVar10 = *pcVar12;\n        } while (cVar10 != '\0');" do (compound_statement "{\n          if (cVar10 == ' ') {\n            pcVar5 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar2 + -0x36b8,5);\n            fatal_error(pcVar5,acStack_85d + 1);\n          }\n          pcVar12 = pcVar12 + 1;\n          cVar10 = *pcVar12;\n        }" { (if_statement "if (cVar10 == ' ') {\n            pcVar5 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar2 + -0x36b8,5);\n            fatal_error(pcVar5,acStack_85d + 1);\n          }" if (parenthesized_expression "(cVar10 == ' ')" ( (binary_expression "cVar10 == ' '" identifier == (char_literal "' '" ' character ')) )) (compound_statement "{\n            pcVar5 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar2 + -0x36b8,5);\n            fatal_error(pcVar5,acStack_85d + 1);\n          }" { (expression_statement "pcVar5 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar2 + -0x36b8,5);" (assignment_expression "pcVar5 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar2 + -0x36b8,5)" identifier = (cast_expression "(char *)(**(code **)(puVar16 + 0x13c84))(0,iVar2 + -0x36b8,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar16 + 0x13c84))(0,iVar2 + -0x36b8,5)" (parenthesized_expression "(**(code **)(puVar16 + 0x13c84))" ( (pointer_expression "**(code **)(puVar16 + 0x13c84)" * (pointer_expression "*(code **)(puVar16 + 0x13c84)" * (cast_expression "(code **)(puVar16 + 0x13c84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x13c84)" ( (binary_expression "puVar16 + 0x13c84" identifier + number_literal) ))))) )) (argument_list "(0,iVar2 + -0x36b8,5)" ( number_literal , (binary_expression "iVar2 + -0x36b8" identifier + number_literal) , number_literal ))))) ;) (expression_statement "fatal_error(pcVar5,acStack_85d + 1);" (call_expression "fatal_error(pcVar5,acStack_85d + 1)" identifier (argument_list "(pcVar5,acStack_85d + 1)" ( identifier , (binary_expression "acStack_85d + 1" identifier + number_literal) ))) ;) })) (expression_statement "pcVar12 = pcVar12 + 1;" (assignment_expression "pcVar12 = pcVar12 + 1" identifier = (binary_expression "pcVar12 + 1" identifier + number_literal)) ;) (expression_statement "cVar10 = *pcVar12;" (assignment_expression "cVar10 = *pcVar12" identifier = (pointer_expression "*pcVar12" * identifier)) ;) }) while (parenthesized_expression "(cVar10 != '\0')" ( (binary_expression "cVar10 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) })) (expression_statement "iVar7 = (**(code **)(puVar16 + 0x13c20))(acStack_85d + 3);" (assignment_expression "iVar7 = (**(code **)(puVar16 + 0x13c20))(acStack_85d + 3)" identifier = (call_expression "(**(code **)(puVar16 + 0x13c20))(acStack_85d + 3)" (parenthesized_expression "(**(code **)(puVar16 + 0x13c20))" ( (pointer_expression "**(code **)(puVar16 + 0x13c20)" * (pointer_expression "*(code **)(puVar16 + 0x13c20)" * (cast_expression "(code **)(puVar16 + 0x13c20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x13c20)" ( (binary_expression "puVar16 + 0x13c20" identifier + number_literal) ))))) )) (argument_list "(acStack_85d + 3)" ( (binary_expression "acStack_85d + 3" identifier + number_literal) )))) ;) (expression_statement "iVar7 = (**(code **)(puVar16 + 0x13c48))(iVar7 + 1);" (assignment_expression "iVar7 = (**(code **)(puVar16 + 0x13c48))(iVar7 + 1)" identifier = (call_expression "(**(code **)(puVar16 + 0x13c48))(iVar7 + 1)" (parenthesized_expression "(**(code **)(puVar16 + 0x13c48))" ( (pointer_expression "**(code **)(puVar16 + 0x13c48)" * (pointer_expression "*(code **)(puVar16 + 0x13c48)" * (cast_expression "(code **)(puVar16 + 0x13c48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x13c48)" ( (binary_expression "puVar16 + 0x13c48" identifier + number_literal) ))))) )) (argument_list "(iVar7 + 1)" ( (binary_expression "iVar7 + 1" identifier + number_literal) )))) ;) (expression_statement "*piVar8 = iVar7;" (assignment_expression "*piVar8 = iVar7" (pointer_expression "*piVar8" * identifier) = identifier) ;) (if_statement "if (iVar7 == 0) {\n        pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(pcVar12,acStack_85d + 1);\n      }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(pcVar12,acStack_85d + 1);\n      }" { (expression_statement "pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar15 + -0x4d20,5);" (assignment_expression "pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar15 + -0x4d20,5)" identifier = (cast_expression "(char *)(**(code **)(puVar16 + 0x13c84))(0,iVar15 + -0x4d20,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar16 + 0x13c84))(0,iVar15 + -0x4d20,5)" (parenthesized_expression "(**(code **)(puVar16 + 0x13c84))" ( (pointer_expression "**(code **)(puVar16 + 0x13c84)" * (pointer_expression "*(code **)(puVar16 + 0x13c84)" * (cast_expression "(code **)(puVar16 + 0x13c84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x13c84)" ( (binary_expression "puVar16 + 0x13c84" identifier + number_literal) ))))) )) (argument_list "(0,iVar15 + -0x4d20,5)" ( number_literal , (binary_expression "iVar15 + -0x4d20" identifier + number_literal) , number_literal ))))) ;) (expression_statement "fatal_error(pcVar12,acStack_85d + 1);" (call_expression "fatal_error(pcVar12,acStack_85d + 1)" identifier (argument_list "(pcVar12,acStack_85d + 1)" ( identifier , (binary_expression "acStack_85d + 1" identifier + number_literal) ))) ;) })) (expression_statement "(**(code **)(puVar16 + 0x13c5c))(*piVar8,acStack_85d + 3);" (call_expression "(**(code **)(puVar16 + 0x13c5c))(*piVar8,acStack_85d + 3)" (parenthesized_expression "(**(code **)(puVar16 + 0x13c5c))" ( (pointer_expression "**(code **)(puVar16 + 0x13c5c)" * (pointer_expression "*(code **)(puVar16 + 0x13c5c)" * (cast_expression "(code **)(puVar16 + 0x13c5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x13c5c)" ( (binary_expression "puVar16 + 0x13c5c" identifier + number_literal) ))))) )) (argument_list "(*piVar8,acStack_85d + 3)" ( (pointer_expression "*piVar8" * identifier) , (binary_expression "acStack_85d + 3" identifier + number_literal) ))) ;) (expression_statement "iVar7 = (**(code **)(puVar16 + 0x13c04))(script_00);" (assignment_expression "iVar7 = (**(code **)(puVar16 + 0x13c04))(script_00)" identifier = (call_expression "(**(code **)(puVar16 + 0x13c04))(script_00)" (parenthesized_expression "(**(code **)(puVar16 + 0x13c04))" ( (pointer_expression "**(code **)(puVar16 + 0x13c04)" * (pointer_expression "*(code **)(puVar16 + 0x13c04)" * (cast_expression "(code **)(puVar16 + 0x13c04)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x13c04)" ( (binary_expression "puVar16 + 0x13c04" identifier + number_literal) ))))) )) (argument_list "(script_00)" ( identifier )))) ;) (expression_statement "piVar8[1] = iVar7;" (assignment_expression "piVar8[1] = iVar7" (subscript_expression "piVar8[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar8[2] = **(int **)(puVar16 + 0x13b20);" (assignment_expression "piVar8[2] = **(int **)(puVar16 + 0x13b20)" (subscript_expression "piVar8[2]" identifier [ number_literal ]) = (pointer_expression "**(int **)(puVar16 + 0x13b20)" * (pointer_expression "*(int **)(puVar16 + 0x13b20)" * (cast_expression "(int **)(puVar16 + 0x13b20)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x13b20)" ( (binary_expression "puVar16 + 0x13b20" identifier + number_literal) )))))) ;) (expression_statement "piVar8[3] = 0;" (assignment_expression "piVar8[3] = 0" (subscript_expression "piVar8[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar7 = hash_label(acStack_85d + 3);" (assignment_expression "iVar7 = hash_label(acStack_85d + 3)" identifier = (call_expression "hash_label(acStack_85d + 3)" identifier (argument_list "(acStack_85d + 3)" ( (binary_expression "acStack_85d + 3" identifier + number_literal) )))) ;) (expression_statement "puVar4 = *(undefined4 **)(*(int *)(puVar16 + 0x13b34) + iVar7 * 4);" (assignment_expression "puVar4 = *(undefined4 **)(*(int *)(puVar16 + 0x13b34) + iVar7 * 4)" identifier = (pointer_expression "*(undefined4 **)(*(int *)(puVar16 + 0x13b34) + iVar7 * 4)" * (cast_expression "(undefined4 **)(*(int *)(puVar16 + 0x13b34) + iVar7 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(puVar16 + 0x13b34) + iVar7 * 4)" ( (binary_expression "*(int *)(puVar16 + 0x13b34) + iVar7 * 4" (pointer_expression "*(int *)(puVar16 + 0x13b34)" * (cast_expression "(int *)(puVar16 + 0x13b34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x13b34)" ( (binary_expression "puVar16 + 0x13b34" identifier + number_literal) )))) + (binary_expression "iVar7 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (puVar4 != (undefined4 *)0x0) {\n        do {\n          iVar6 = (**(code **)(puVar16 + 0x13cd4))(*puVar4,acStack_85d + 3);\n          if (iVar6 == 0) {\n            pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(pcVar12,acStack_85d + 1);\n            puVar4 = (undefined4 *)puVar4[3];\n          }\n          else {\n            puVar4 = (undefined4 *)puVar4[3];\n          }\n        } while (puVar4 != (undefined4 *)0x0);\n      }" if (parenthesized_expression "(puVar4 != (undefined4 *)0x0)" ( (binary_expression "puVar4 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        do {\n          iVar6 = (**(code **)(puVar16 + 0x13cd4))(*puVar4,acStack_85d + 3);\n          if (iVar6 == 0) {\n            pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(pcVar12,acStack_85d + 1);\n            puVar4 = (undefined4 *)puVar4[3];\n          }\n          else {\n            puVar4 = (undefined4 *)puVar4[3];\n          }\n        } while (puVar4 != (undefined4 *)0x0);\n      }" { (do_statement "do {\n          iVar6 = (**(code **)(puVar16 + 0x13cd4))(*puVar4,acStack_85d + 3);\n          if (iVar6 == 0) {\n            pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(pcVar12,acStack_85d + 1);\n            puVar4 = (undefined4 *)puVar4[3];\n          }\n          else {\n            puVar4 = (undefined4 *)puVar4[3];\n          }\n        } while (puVar4 != (undefined4 *)0x0);" do (compound_statement "{\n          iVar6 = (**(code **)(puVar16 + 0x13cd4))(*puVar4,acStack_85d + 3);\n          if (iVar6 == 0) {\n            pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(pcVar12,acStack_85d + 1);\n            puVar4 = (undefined4 *)puVar4[3];\n          }\n          else {\n            puVar4 = (undefined4 *)puVar4[3];\n          }\n        }" { (expression_statement "iVar6 = (**(code **)(puVar16 + 0x13cd4))(*puVar4,acStack_85d + 3);" (assignment_expression "iVar6 = (**(code **)(puVar16 + 0x13cd4))(*puVar4,acStack_85d + 3)" identifier = (call_expression "(**(code **)(puVar16 + 0x13cd4))(*puVar4,acStack_85d + 3)" (parenthesized_expression "(**(code **)(puVar16 + 0x13cd4))" ( (pointer_expression "**(code **)(puVar16 + 0x13cd4)" * (pointer_expression "*(code **)(puVar16 + 0x13cd4)" * (cast_expression "(code **)(puVar16 + 0x13cd4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x13cd4)" ( (binary_expression "puVar16 + 0x13cd4" identifier + number_literal) ))))) )) (argument_list "(*puVar4,acStack_85d + 3)" ( (pointer_expression "*puVar4" * identifier) , (binary_expression "acStack_85d + 3" identifier + number_literal) )))) ;) (if_statement "if (iVar6 == 0) {\n            pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(pcVar12,acStack_85d + 1);\n            puVar4 = (undefined4 *)puVar4[3];\n          }\n          else {\n            puVar4 = (undefined4 *)puVar4[3];\n          }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n            pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(pcVar12,acStack_85d + 1);\n            puVar4 = (undefined4 *)puVar4[3];\n          }" { (expression_statement "pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar1 + -0x36a0,5);" (assignment_expression "pcVar12 = (char *)(**(code **)(puVar16 + 0x13c84))(0,iVar1 + -0x36a0,5)" identifier = (cast_expression "(char *)(**(code **)(puVar16 + 0x13c84))(0,iVar1 + -0x36a0,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar16 + 0x13c84))(0,iVar1 + -0x36a0,5)" (parenthesized_expression "(**(code **)(puVar16 + 0x13c84))" ( (pointer_expression "**(code **)(puVar16 + 0x13c84)" * (pointer_expression "*(code **)(puVar16 + 0x13c84)" * (cast_expression "(code **)(puVar16 + 0x13c84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x13c84)" ( (binary_expression "puVar16 + 0x13c84" identifier + number_literal) ))))) )) (argument_list "(0,iVar1 + -0x36a0,5)" ( number_literal , (binary_expression "iVar1 + -0x36a0" identifier + number_literal) , number_literal ))))) ;) (expression_statement "fatal_error(pcVar12,acStack_85d + 1);" (call_expression "fatal_error(pcVar12,acStack_85d + 1)" identifier (argument_list "(pcVar12,acStack_85d + 1)" ( identifier , (binary_expression "acStack_85d + 1" identifier + number_literal) ))) ;) (expression_statement "puVar4 = (undefined4 *)puVar4[3];" (assignment_expression "puVar4 = (undefined4 *)puVar4[3]" identifier = (cast_expression "(undefined4 *)puVar4[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar4[3]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n            puVar4 = (undefined4 *)puVar4[3];\n          }" else (compound_statement "{\n            puVar4 = (undefined4 *)puVar4[3];\n          }" { (expression_statement "puVar4 = (undefined4 *)puVar4[3];" (assignment_expression "puVar4 = (undefined4 *)puVar4[3]" identifier = (cast_expression "(undefined4 *)puVar4[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar4[3]" identifier [ number_literal ]))) ;) }))) }) while (parenthesized_expression "(puVar4 != (undefined4 *)0x0)" ( (binary_expression "puVar4 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (if_statement "if (aiStack_8dc[iVar7] == 0) {\n        *(int **)(*(int *)(puVar16 + 0x13b34) + iVar7 * 4) = piVar8;\n      }\n      else {\n        *(int **)(aiStack_8dc[iVar7] + 0xc) = piVar8;\n      }" if (parenthesized_expression "(aiStack_8dc[iVar7] == 0)" ( (binary_expression "aiStack_8dc[iVar7] == 0" (subscript_expression "aiStack_8dc[iVar7]" identifier [ identifier ]) == number_literal) )) (compound_statement "{\n        *(int **)(*(int *)(puVar16 + 0x13b34) + iVar7 * 4) = piVar8;\n      }" { (expression_statement "*(int **)(*(int *)(puVar16 + 0x13b34) + iVar7 * 4) = piVar8;" (assignment_expression "*(int **)(*(int *)(puVar16 + 0x13b34) + iVar7 * 4) = piVar8" (pointer_expression "*(int **)(*(int *)(puVar16 + 0x13b34) + iVar7 * 4)" * (cast_expression "(int **)(*(int *)(puVar16 + 0x13b34) + iVar7 * 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(puVar16 + 0x13b34) + iVar7 * 4)" ( (binary_expression "*(int *)(puVar16 + 0x13b34) + iVar7 * 4" (pointer_expression "*(int *)(puVar16 + 0x13b34)" * (cast_expression "(int *)(puVar16 + 0x13b34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 0x13b34)" ( (binary_expression "puVar16 + 0x13b34" identifier + number_literal) )))) + (binary_expression "iVar7 * 4" identifier * number_literal)) )))) = identifier) ;) }) (else_clause "else {\n        *(int **)(aiStack_8dc[iVar7] + 0xc) = piVar8;\n      }" else (compound_statement "{\n        *(int **)(aiStack_8dc[iVar7] + 0xc) = piVar8;\n      }" { (expression_statement "*(int **)(aiStack_8dc[iVar7] + 0xc) = piVar8;" (assignment_expression "*(int **)(aiStack_8dc[iVar7] + 0xc) = piVar8" (pointer_expression "*(int **)(aiStack_8dc[iVar7] + 0xc)" * (cast_expression "(int **)(aiStack_8dc[iVar7] + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(aiStack_8dc[iVar7] + 0xc)" ( (binary_expression "aiStack_8dc[iVar7] + 0xc" (subscript_expression "aiStack_8dc[iVar7]" identifier [ identifier ]) + number_literal) )))) = identifier) ;) }))) (expression_statement "aiStack_8dc[iVar7] = (int)piVar8;" (assignment_expression "aiStack_8dc[iVar7] = (int)piVar8" (subscript_expression "aiStack_8dc[iVar7]" identifier [ identifier ]) = (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) })) (expression_statement "pcVar12 = acStack_85d + 1;" (assignment_expression "pcVar12 = acStack_85d + 1" identifier = (binary_expression "acStack_85d + 1" identifier + number_literal)) ;) (expression_statement "get_script_line(script_00,pcVar12);" (call_expression "get_script_line(script_00,pcVar12)" identifier (argument_list "(script_00,pcVar12)" ( identifier , identifier ))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "undefined1 * check_script_file_with_current_encoding(undefined4 param_1)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 *puVar3;\n  char cVar8;\n  int iVar4;\n  int iVar5;\n  int *piVar6;\n  int *piVar7;\n  undefined4 *puVar9;\n  undefined1 *puVar10;\n  char *pcVar11;\n  undefined1 *puVar12;\n  undefined *puVar13;\n  int iVar14;\n  int iVar15;\n  char *pcVar16;\n  undefined *puVar17;\n  code *pcVar18;\n  int aiStack_8dc [31];\n  char acStack_85d [1025];\n  undefined1 *puStack_45c;\n  undefined4 uStack_458;\n  undefined1 *puStack_454;\n  undefined *puStack_450;\n  undefined1 auStack_414 [1024];\n  undefined1 *local_14;\n  \n  local_14 = *(undefined1 **)PTR___stack_chk_guard_0002d45c;\n  get_script_line(param_1,auStack_414);\n  puVar13 = PTR_get_script_line_0002d240;\n  while (iVar1 = (*(code *)PTR_feof_0002d3ec)(param_1), iVar1 == 0) {\n    uVar2 = convertFromUTF8();\n    (*(code *)PTR_free_0002d46c)(uVar2);\n    get_script_line(param_1,auStack_414);\n  }\n  if (local_14 == *(undefined1 **)PTR___stack_chk_guard_0002d45c) {\n    return *(undefined1 **)PTR___stack_chk_guard_0002d45c;\n  }\n  puVar12 = auStack_414;\n  puVar17 = PTR___stack_chk_fail_0002d440;\n  (*(code *)PTR___stack_chk_fail_0002d440)();\n  puStack_45c = (undefined1 *)**(int **)(puVar17 + 0x13c9c);\n  uStack_458 = param_1;\n  puStack_454 = auStack_414;\n  puStack_450 = puVar13;\n  (**(code **)(puVar17 + 0x13c7c))();\n  **(undefined4 **)(puVar17 + 0x13b20) = 0;\n  puVar3 = *(undefined4 **)(puVar17 + 0x13b34);\n  piVar6 = aiStack_8dc;\n  puVar9 = puVar3 + 0x20;\n  do {\n    *puVar3 = 0;\n    *piVar6 = 0;\n    puVar3 = puVar3 + 1;\n    piVar6 = piVar6 + 1;\n  } while (puVar9 != puVar3);\n  pcVar11 = acStack_85d + 1;\n  get_script_line(puVar12);\n  iVar14 = *(int *)(puVar17 + 0x13a78);\n  iVar1 = *(int *)(puVar17 + 0x13a78);\n  iVar15 = *(int *)(puVar17 + 0x13a78);\n  do {\n    puVar10 = puVar12;\n    iVar5 = (**(code **)(puVar17 + 0x13c2c))(puVar12);\n    if (iVar5 != 0) {\n      if (puStack_45c != (undefined1 *)**(int **)(puVar17 + 0x13c9c)) {\n        pcVar18 = *(code **)(puVar17 + 0x13c80);\n        (*pcVar18)();\n        puVar12 = (undefined1 *)0x0;\n        iVar1 = 0;\n        iVar14 = 0;\n        iVar15 = *(int *)(pcVar18 + 0x1368c);\n        while( true ) {\n          iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2);\n          puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14);\n          if (puVar12 == (undefined1 *)0x0) {\n            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(uVar2,pcVar11);\n          }\n          if (iVar1 == 0) {\n            *puVar12 = 0;\n          }\n          (**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2);\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          puVar12[iVar1] = 10;\n          (puVar12 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          get_script_line(puVar10,pcVar11);\n          if ((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)\n             ) break;\n          iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n        }\n        return puVar12;\n      }\n      return (undefined1 *)**(int **)(puVar17 + 0x13c9c);\n    }\n    if (acStack_85d[1] == '*') {\n      piVar6 = (int *)(**(code **)(puVar17 + 0x13c48))(0x10);\n      if (piVar6 == (int *)0x0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      pcVar16 = acStack_85d + 1;\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(pcVar16);\n      pcVar11 = pcVar16 + iVar5 + -1;\n      if (pcVar11 != pcVar16) {\n        piVar7 = (int *)(**(code **)(puVar17 + 0x13b6c))();\n        iVar5 = *piVar7;\n        do {\n          if ((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0) break;\n          *pcVar11 = '\0';\n          pcVar11 = pcVar11 + -1;\n        } while (pcVar11 != acStack_85d + 1);\n      }\n      pcVar11 = acStack_85d + 3;\n      if (acStack_85d[3] != '\0') {\n        cVar8 = acStack_85d[3];\n        do {\n          if (cVar8 == ' ') {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);\n            fatal_error(uVar2,acStack_85d + 1);\n          }\n          pcVar11 = pcVar11 + 1;\n          cVar8 = *pcVar11;\n        } while (cVar8 != '\0');\n      }\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c48))(iVar5 + 1);\n      *piVar6 = iVar5;\n      if (iVar5 == 0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      (**(code **)(puVar17 + 0x13c5c))(*piVar6,acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c04))(puVar12);\n      piVar6[1] = iVar5;\n      piVar6[2] = **(int **)(puVar17 + 0x13b20);\n      piVar6[3] = 0;\n      iVar5 = hash_label(acStack_85d + 3);\n      puVar3 = *(undefined4 **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4);\n      if (puVar3 != (undefined4 *)0x0) {\n        do {\n          iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3);\n          if (iVar4 == 0) {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(uVar2,acStack_85d + 1);\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n          else {\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n        } while (puVar3 != (undefined4 *)0x0);\n      }\n      if (aiStack_8dc[iVar5] == 0) {\n        *(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4) = piVar6;\n      }\n      else {\n        *(int **)(aiStack_8dc[iVar5] + 0xc) = piVar6;\n      }\n      aiStack_8dc[iVar5] = (int)piVar6;\n    }\n    pcVar11 = acStack_85d + 1;\n    get_script_line(puVar12);\n  } while( true );\n}\n\n" (function_definition "undefined1 * check_script_file_with_current_encoding(undefined4 param_1)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 *puVar3;\n  char cVar8;\n  int iVar4;\n  int iVar5;\n  int *piVar6;\n  int *piVar7;\n  undefined4 *puVar9;\n  undefined1 *puVar10;\n  char *pcVar11;\n  undefined1 *puVar12;\n  undefined *puVar13;\n  int iVar14;\n  int iVar15;\n  char *pcVar16;\n  undefined *puVar17;\n  code *pcVar18;\n  int aiStack_8dc [31];\n  char acStack_85d [1025];\n  undefined1 *puStack_45c;\n  undefined4 uStack_458;\n  undefined1 *puStack_454;\n  undefined *puStack_450;\n  undefined1 auStack_414 [1024];\n  undefined1 *local_14;\n  \n  local_14 = *(undefined1 **)PTR___stack_chk_guard_0002d45c;\n  get_script_line(param_1,auStack_414);\n  puVar13 = PTR_get_script_line_0002d240;\n  while (iVar1 = (*(code *)PTR_feof_0002d3ec)(param_1), iVar1 == 0) {\n    uVar2 = convertFromUTF8();\n    (*(code *)PTR_free_0002d46c)(uVar2);\n    get_script_line(param_1,auStack_414);\n  }\n  if (local_14 == *(undefined1 **)PTR___stack_chk_guard_0002d45c) {\n    return *(undefined1 **)PTR___stack_chk_guard_0002d45c;\n  }\n  puVar12 = auStack_414;\n  puVar17 = PTR___stack_chk_fail_0002d440;\n  (*(code *)PTR___stack_chk_fail_0002d440)();\n  puStack_45c = (undefined1 *)**(int **)(puVar17 + 0x13c9c);\n  uStack_458 = param_1;\n  puStack_454 = auStack_414;\n  puStack_450 = puVar13;\n  (**(code **)(puVar17 + 0x13c7c))();\n  **(undefined4 **)(puVar17 + 0x13b20) = 0;\n  puVar3 = *(undefined4 **)(puVar17 + 0x13b34);\n  piVar6 = aiStack_8dc;\n  puVar9 = puVar3 + 0x20;\n  do {\n    *puVar3 = 0;\n    *piVar6 = 0;\n    puVar3 = puVar3 + 1;\n    piVar6 = piVar6 + 1;\n  } while (puVar9 != puVar3);\n  pcVar11 = acStack_85d + 1;\n  get_script_line(puVar12);\n  iVar14 = *(int *)(puVar17 + 0x13a78);\n  iVar1 = *(int *)(puVar17 + 0x13a78);\n  iVar15 = *(int *)(puVar17 + 0x13a78);\n  do {\n    puVar10 = puVar12;\n    iVar5 = (**(code **)(puVar17 + 0x13c2c))(puVar12);\n    if (iVar5 != 0) {\n      if (puStack_45c != (undefined1 *)**(int **)(puVar17 + 0x13c9c)) {\n        pcVar18 = *(code **)(puVar17 + 0x13c80);\n        (*pcVar18)();\n        puVar12 = (undefined1 *)0x0;\n        iVar1 = 0;\n        iVar14 = 0;\n        iVar15 = *(int *)(pcVar18 + 0x1368c);\n        while( true ) {\n          iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2);\n          puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14);\n          if (puVar12 == (undefined1 *)0x0) {\n            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(uVar2,pcVar11);\n          }\n          if (iVar1 == 0) {\n            *puVar12 = 0;\n          }\n          (**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2);\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          puVar12[iVar1] = 10;\n          (puVar12 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          get_script_line(puVar10,pcVar11);\n          if ((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)\n             ) break;\n          iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n        }\n        return puVar12;\n      }\n      return (undefined1 *)**(int **)(puVar17 + 0x13c9c);\n    }\n    if (acStack_85d[1] == '*') {\n      piVar6 = (int *)(**(code **)(puVar17 + 0x13c48))(0x10);\n      if (piVar6 == (int *)0x0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      pcVar16 = acStack_85d + 1;\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(pcVar16);\n      pcVar11 = pcVar16 + iVar5 + -1;\n      if (pcVar11 != pcVar16) {\n        piVar7 = (int *)(**(code **)(puVar17 + 0x13b6c))();\n        iVar5 = *piVar7;\n        do {\n          if ((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0) break;\n          *pcVar11 = '\0';\n          pcVar11 = pcVar11 + -1;\n        } while (pcVar11 != acStack_85d + 1);\n      }\n      pcVar11 = acStack_85d + 3;\n      if (acStack_85d[3] != '\0') {\n        cVar8 = acStack_85d[3];\n        do {\n          if (cVar8 == ' ') {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);\n            fatal_error(uVar2,acStack_85d + 1);\n          }\n          pcVar11 = pcVar11 + 1;\n          cVar8 = *pcVar11;\n        } while (cVar8 != '\0');\n      }\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c48))(iVar5 + 1);\n      *piVar6 = iVar5;\n      if (iVar5 == 0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      (**(code **)(puVar17 + 0x13c5c))(*piVar6,acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c04))(puVar12);\n      piVar6[1] = iVar5;\n      piVar6[2] = **(int **)(puVar17 + 0x13b20);\n      piVar6[3] = 0;\n      iVar5 = hash_label(acStack_85d + 3);\n      puVar3 = *(undefined4 **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4);\n      if (puVar3 != (undefined4 *)0x0) {\n        do {\n          iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3);\n          if (iVar4 == 0) {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(uVar2,acStack_85d + 1);\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n          else {\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n        } while (puVar3 != (undefined4 *)0x0);\n      }\n      if (aiStack_8dc[iVar5] == 0) {\n        *(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4) = piVar6;\n      }\n      else {\n        *(int **)(aiStack_8dc[iVar5] + 0xc) = piVar6;\n      }\n      aiStack_8dc[iVar5] = (int)piVar6;\n    }\n    pcVar11 = acStack_85d + 1;\n    get_script_line(puVar12);\n  } while( true );\n}" type_identifier (pointer_declarator "* check_script_file_with_current_encoding(undefined4 param_1)" * (function_declarator "check_script_file_with_current_encoding(undefined4 param_1)" identifier (parameter_list "(undefined4 param_1)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) )))) (compound_statement "{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 *puVar3;\n  char cVar8;\n  int iVar4;\n  int iVar5;\n  int *piVar6;\n  int *piVar7;\n  undefined4 *puVar9;\n  undefined1 *puVar10;\n  char *pcVar11;\n  undefined1 *puVar12;\n  undefined *puVar13;\n  int iVar14;\n  int iVar15;\n  char *pcVar16;\n  undefined *puVar17;\n  code *pcVar18;\n  int aiStack_8dc [31];\n  char acStack_85d [1025];\n  undefined1 *puStack_45c;\n  undefined4 uStack_458;\n  undefined1 *puStack_454;\n  undefined *puStack_450;\n  undefined1 auStack_414 [1024];\n  undefined1 *local_14;\n  \n  local_14 = *(undefined1 **)PTR___stack_chk_guard_0002d45c;\n  get_script_line(param_1,auStack_414);\n  puVar13 = PTR_get_script_line_0002d240;\n  while (iVar1 = (*(code *)PTR_feof_0002d3ec)(param_1), iVar1 == 0) {\n    uVar2 = convertFromUTF8();\n    (*(code *)PTR_free_0002d46c)(uVar2);\n    get_script_line(param_1,auStack_414);\n  }\n  if (local_14 == *(undefined1 **)PTR___stack_chk_guard_0002d45c) {\n    return *(undefined1 **)PTR___stack_chk_guard_0002d45c;\n  }\n  puVar12 = auStack_414;\n  puVar17 = PTR___stack_chk_fail_0002d440;\n  (*(code *)PTR___stack_chk_fail_0002d440)();\n  puStack_45c = (undefined1 *)**(int **)(puVar17 + 0x13c9c);\n  uStack_458 = param_1;\n  puStack_454 = auStack_414;\n  puStack_450 = puVar13;\n  (**(code **)(puVar17 + 0x13c7c))();\n  **(undefined4 **)(puVar17 + 0x13b20) = 0;\n  puVar3 = *(undefined4 **)(puVar17 + 0x13b34);\n  piVar6 = aiStack_8dc;\n  puVar9 = puVar3 + 0x20;\n  do {\n    *puVar3 = 0;\n    *piVar6 = 0;\n    puVar3 = puVar3 + 1;\n    piVar6 = piVar6 + 1;\n  } while (puVar9 != puVar3);\n  pcVar11 = acStack_85d + 1;\n  get_script_line(puVar12);\n  iVar14 = *(int *)(puVar17 + 0x13a78);\n  iVar1 = *(int *)(puVar17 + 0x13a78);\n  iVar15 = *(int *)(puVar17 + 0x13a78);\n  do {\n    puVar10 = puVar12;\n    iVar5 = (**(code **)(puVar17 + 0x13c2c))(puVar12);\n    if (iVar5 != 0) {\n      if (puStack_45c != (undefined1 *)**(int **)(puVar17 + 0x13c9c)) {\n        pcVar18 = *(code **)(puVar17 + 0x13c80);\n        (*pcVar18)();\n        puVar12 = (undefined1 *)0x0;\n        iVar1 = 0;\n        iVar14 = 0;\n        iVar15 = *(int *)(pcVar18 + 0x1368c);\n        while( true ) {\n          iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2);\n          puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14);\n          if (puVar12 == (undefined1 *)0x0) {\n            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(uVar2,pcVar11);\n          }\n          if (iVar1 == 0) {\n            *puVar12 = 0;\n          }\n          (**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2);\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          puVar12[iVar1] = 10;\n          (puVar12 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          get_script_line(puVar10,pcVar11);\n          if ((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)\n             ) break;\n          iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n        }\n        return puVar12;\n      }\n      return (undefined1 *)**(int **)(puVar17 + 0x13c9c);\n    }\n    if (acStack_85d[1] == '*') {\n      piVar6 = (int *)(**(code **)(puVar17 + 0x13c48))(0x10);\n      if (piVar6 == (int *)0x0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      pcVar16 = acStack_85d + 1;\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(pcVar16);\n      pcVar11 = pcVar16 + iVar5 + -1;\n      if (pcVar11 != pcVar16) {\n        piVar7 = (int *)(**(code **)(puVar17 + 0x13b6c))();\n        iVar5 = *piVar7;\n        do {\n          if ((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0) break;\n          *pcVar11 = '\0';\n          pcVar11 = pcVar11 + -1;\n        } while (pcVar11 != acStack_85d + 1);\n      }\n      pcVar11 = acStack_85d + 3;\n      if (acStack_85d[3] != '\0') {\n        cVar8 = acStack_85d[3];\n        do {\n          if (cVar8 == ' ') {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);\n            fatal_error(uVar2,acStack_85d + 1);\n          }\n          pcVar11 = pcVar11 + 1;\n          cVar8 = *pcVar11;\n        } while (cVar8 != '\0');\n      }\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c48))(iVar5 + 1);\n      *piVar6 = iVar5;\n      if (iVar5 == 0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      (**(code **)(puVar17 + 0x13c5c))(*piVar6,acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c04))(puVar12);\n      piVar6[1] = iVar5;\n      piVar6[2] = **(int **)(puVar17 + 0x13b20);\n      piVar6[3] = 0;\n      iVar5 = hash_label(acStack_85d + 3);\n      puVar3 = *(undefined4 **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4);\n      if (puVar3 != (undefined4 *)0x0) {\n        do {\n          iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3);\n          if (iVar4 == 0) {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(uVar2,acStack_85d + 1);\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n          else {\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n        } while (puVar3 != (undefined4 *)0x0);\n      }\n      if (aiStack_8dc[iVar5] == 0) {\n        *(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4) = piVar6;\n      }\n      else {\n        *(int **)(aiStack_8dc[iVar5] + 0xc) = piVar6;\n      }\n      aiStack_8dc[iVar5] = (int)piVar6;\n    }\n    pcVar11 = acStack_85d + 1;\n    get_script_line(puVar12);\n  } while( true );\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "char cVar8;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined1 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "undefined1 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "undefined *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "code *pcVar18;" type_identifier (pointer_declarator "*pcVar18" * identifier) ;) (declaration "int aiStack_8dc [31];" primitive_type (array_declarator "aiStack_8dc [31]" identifier [ number_literal ]) ;) (declaration "char acStack_85d [1025];" primitive_type (array_declarator "acStack_85d [1025]" identifier [ number_literal ]) ;) (declaration "undefined1 *puStack_45c;" type_identifier (pointer_declarator "*puStack_45c" * identifier) ;) (declaration "undefined4 uStack_458;" type_identifier identifier ;) (declaration "undefined1 *puStack_454;" type_identifier (pointer_declarator "*puStack_454" * identifier) ;) (declaration "undefined *puStack_450;" type_identifier (pointer_declarator "*puStack_450" * identifier) ;) (declaration "undefined1 auStack_414 [1024];" type_identifier (array_declarator "auStack_414 [1024]" identifier [ number_literal ]) ;) (declaration "undefined1 *local_14;" type_identifier (pointer_declarator "*local_14" * identifier) ;) (expression_statement "local_14 = *(undefined1 **)PTR___stack_chk_guard_0002d45c;" (assignment_expression "local_14 = *(undefined1 **)PTR___stack_chk_guard_0002d45c" identifier = (pointer_expression "*(undefined1 **)PTR___stack_chk_guard_0002d45c" * (cast_expression "(undefined1 **)PTR___stack_chk_guard_0002d45c" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "get_script_line(param_1,auStack_414);" (call_expression "get_script_line(param_1,auStack_414)" identifier (argument_list "(param_1,auStack_414)" ( identifier , identifier ))) ;) (expression_statement "puVar13 = PTR_get_script_line_0002d240;" (assignment_expression "puVar13 = PTR_get_script_line_0002d240" identifier = identifier) ;) (while_statement "while (iVar1 = (*(code *)PTR_feof_0002d3ec)(param_1), iVar1 == 0) {\n    uVar2 = convertFromUTF8();\n    (*(code *)PTR_free_0002d46c)(uVar2);\n    get_script_line(param_1,auStack_414);\n  }" while (parenthesized_expression "(iVar1 = (*(code *)PTR_feof_0002d3ec)(param_1), iVar1 == 0)" ( (comma_expression "iVar1 = (*(code *)PTR_feof_0002d3ec)(param_1), iVar1 == 0" (assignment_expression "iVar1 = (*(code *)PTR_feof_0002d3ec)(param_1)" identifier = (call_expression "(*(code *)PTR_feof_0002d3ec)(param_1)" (parenthesized_expression "(*(code *)PTR_feof_0002d3ec)" ( (pointer_expression "*(code *)PTR_feof_0002d3ec" * (cast_expression "(code *)PTR_feof_0002d3ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier )))) , (binary_expression "iVar1 == 0" identifier == number_literal)) )) (compound_statement "{\n    uVar2 = convertFromUTF8();\n    (*(code *)PTR_free_0002d46c)(uVar2);\n    get_script_line(param_1,auStack_414);\n  }" { (expression_statement "uVar2 = convertFromUTF8();" (assignment_expression "uVar2 = convertFromUTF8()" identifier = (call_expression "convertFromUTF8()" identifier (argument_list "()" ( )))) ;) (expression_statement "(*(code *)PTR_free_0002d46c)(uVar2);" (call_expression "(*(code *)PTR_free_0002d46c)(uVar2)" (parenthesized_expression "(*(code *)PTR_free_0002d46c)" ( (pointer_expression "*(code *)PTR_free_0002d46c" * (cast_expression "(code *)PTR_free_0002d46c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar2)" ( identifier ))) ;) (expression_statement "get_script_line(param_1,auStack_414);" (call_expression "get_script_line(param_1,auStack_414)" identifier (argument_list "(param_1,auStack_414)" ( identifier , identifier ))) ;) })) (if_statement "if (local_14 == *(undefined1 **)PTR___stack_chk_guard_0002d45c) {\n    return *(undefined1 **)PTR___stack_chk_guard_0002d45c;\n  }" if (parenthesized_expression "(local_14 == *(undefined1 **)PTR___stack_chk_guard_0002d45c)" ( (binary_expression "local_14 == *(undefined1 **)PTR___stack_chk_guard_0002d45c" identifier == (pointer_expression "*(undefined1 **)PTR___stack_chk_guard_0002d45c" * (cast_expression "(undefined1 **)PTR___stack_chk_guard_0002d45c" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return *(undefined1 **)PTR___stack_chk_guard_0002d45c;\n  }" { (return_statement "return *(undefined1 **)PTR___stack_chk_guard_0002d45c;" return (pointer_expression "*(undefined1 **)PTR___stack_chk_guard_0002d45c" * (cast_expression "(undefined1 **)PTR___stack_chk_guard_0002d45c" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) })) (expression_statement "puVar12 = auStack_414;" (assignment_expression "puVar12 = auStack_414" identifier = identifier) ;) (expression_statement "puVar17 = PTR___stack_chk_fail_0002d440;" (assignment_expression "puVar17 = PTR___stack_chk_fail_0002d440" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0002d440)();" (call_expression "(*(code *)PTR___stack_chk_fail_0002d440)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0002d440)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0002d440" * (cast_expression "(code *)PTR___stack_chk_fail_0002d440" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_45c = (undefined1 *)**(int **)(puVar17 + 0x13c9c);" (assignment_expression "puStack_45c = (undefined1 *)**(int **)(puVar17 + 0x13c9c)" identifier = (cast_expression "(undefined1 *)**(int **)(puVar17 + 0x13c9c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(puVar17 + 0x13c9c)" * (pointer_expression "*(int **)(puVar17 + 0x13c9c)" * (cast_expression "(int **)(puVar17 + 0x13c9c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13c9c)" ( (binary_expression "puVar17 + 0x13c9c" identifier + number_literal) ))))))) ;) (expression_statement "uStack_458 = param_1;" (assignment_expression "uStack_458 = param_1" identifier = identifier) ;) (expression_statement "puStack_454 = auStack_414;" (assignment_expression "puStack_454 = auStack_414" identifier = identifier) ;) (expression_statement "puStack_450 = puVar13;" (assignment_expression "puStack_450 = puVar13" identifier = identifier) ;) (expression_statement "(**(code **)(puVar17 + 0x13c7c))();" (call_expression "(**(code **)(puVar17 + 0x13c7c))()" (parenthesized_expression "(**(code **)(puVar17 + 0x13c7c))" ( (pointer_expression "**(code **)(puVar17 + 0x13c7c)" * (pointer_expression "*(code **)(puVar17 + 0x13c7c)" * (cast_expression "(code **)(puVar17 + 0x13c7c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13c7c)" ( (binary_expression "puVar17 + 0x13c7c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "**(undefined4 **)(puVar17 + 0x13b20) = 0;" (assignment_expression "**(undefined4 **)(puVar17 + 0x13b20) = 0" (pointer_expression "**(undefined4 **)(puVar17 + 0x13b20)" * (pointer_expression "*(undefined4 **)(puVar17 + 0x13b20)" * (cast_expression "(undefined4 **)(puVar17 + 0x13b20)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13b20)" ( (binary_expression "puVar17 + 0x13b20" identifier + number_literal) ))))) = number_literal) ;) (expression_statement "puVar3 = *(undefined4 **)(puVar17 + 0x13b34);" (assignment_expression "puVar3 = *(undefined4 **)(puVar17 + 0x13b34)" identifier = (pointer_expression "*(undefined4 **)(puVar17 + 0x13b34)" * (cast_expression "(undefined4 **)(puVar17 + 0x13b34)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13b34)" ( (binary_expression "puVar17 + 0x13b34" identifier + number_literal) ))))) ;) (expression_statement "piVar6 = aiStack_8dc;" (assignment_expression "piVar6 = aiStack_8dc" identifier = identifier) ;) (expression_statement "puVar9 = puVar3 + 0x20;" (assignment_expression "puVar9 = puVar3 + 0x20" identifier = (binary_expression "puVar3 + 0x20" identifier + number_literal)) ;) (do_statement "do {\n    *puVar3 = 0;\n    *piVar6 = 0;\n    puVar3 = puVar3 + 1;\n    piVar6 = piVar6 + 1;\n  } while (puVar9 != puVar3);" do (compound_statement "{\n    *puVar3 = 0;\n    *piVar6 = 0;\n    puVar3 = puVar3 + 1;\n    piVar6 = piVar6 + 1;\n  }" { (expression_statement "*puVar3 = 0;" (assignment_expression "*puVar3 = 0" (pointer_expression "*puVar3" * identifier) = number_literal) ;) (expression_statement "*piVar6 = 0;" (assignment_expression "*piVar6 = 0" (pointer_expression "*piVar6" * identifier) = number_literal) ;) (expression_statement "puVar3 = puVar3 + 1;" (assignment_expression "puVar3 = puVar3 + 1" identifier = (binary_expression "puVar3 + 1" identifier + number_literal)) ;) (expression_statement "piVar6 = piVar6 + 1;" (assignment_expression "piVar6 = piVar6 + 1" identifier = (binary_expression "piVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar9 != puVar3)" ( (binary_expression "puVar9 != puVar3" identifier != identifier) )) ;) (expression_statement "pcVar11 = acStack_85d + 1;" (assignment_expression "pcVar11 = acStack_85d + 1" identifier = (binary_expression "acStack_85d + 1" identifier + number_literal)) ;) (expression_statement "get_script_line(puVar12);" (call_expression "get_script_line(puVar12)" identifier (argument_list "(puVar12)" ( identifier ))) ;) (expression_statement "iVar14 = *(int *)(puVar17 + 0x13a78);" (assignment_expression "iVar14 = *(int *)(puVar17 + 0x13a78)" identifier = (pointer_expression "*(int *)(puVar17 + 0x13a78)" * (cast_expression "(int *)(puVar17 + 0x13a78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x13a78)" ( (binary_expression "puVar17 + 0x13a78" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = *(int *)(puVar17 + 0x13a78);" (assignment_expression "iVar1 = *(int *)(puVar17 + 0x13a78)" identifier = (pointer_expression "*(int *)(puVar17 + 0x13a78)" * (cast_expression "(int *)(puVar17 + 0x13a78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x13a78)" ( (binary_expression "puVar17 + 0x13a78" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = *(int *)(puVar17 + 0x13a78);" (assignment_expression "iVar15 = *(int *)(puVar17 + 0x13a78)" identifier = (pointer_expression "*(int *)(puVar17 + 0x13a78)" * (cast_expression "(int *)(puVar17 + 0x13a78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x13a78)" ( (binary_expression "puVar17 + 0x13a78" identifier + number_literal) ))))) ;) (do_statement "do {\n    puVar10 = puVar12;\n    iVar5 = (**(code **)(puVar17 + 0x13c2c))(puVar12);\n    if (iVar5 != 0) {\n      if (puStack_45c != (undefined1 *)**(int **)(puVar17 + 0x13c9c)) {\n        pcVar18 = *(code **)(puVar17 + 0x13c80);\n        (*pcVar18)();\n        puVar12 = (undefined1 *)0x0;\n        iVar1 = 0;\n        iVar14 = 0;\n        iVar15 = *(int *)(pcVar18 + 0x1368c);\n        while( true ) {\n          iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2);\n          puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14);\n          if (puVar12 == (undefined1 *)0x0) {\n            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(uVar2,pcVar11);\n          }\n          if (iVar1 == 0) {\n            *puVar12 = 0;\n          }\n          (**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2);\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          puVar12[iVar1] = 10;\n          (puVar12 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          get_script_line(puVar10,pcVar11);\n          if ((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)\n             ) break;\n          iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n        }\n        return puVar12;\n      }\n      return (undefined1 *)**(int **)(puVar17 + 0x13c9c);\n    }\n    if (acStack_85d[1] == '*') {\n      piVar6 = (int *)(**(code **)(puVar17 + 0x13c48))(0x10);\n      if (piVar6 == (int *)0x0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      pcVar16 = acStack_85d + 1;\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(pcVar16);\n      pcVar11 = pcVar16 + iVar5 + -1;\n      if (pcVar11 != pcVar16) {\n        piVar7 = (int *)(**(code **)(puVar17 + 0x13b6c))();\n        iVar5 = *piVar7;\n        do {\n          if ((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0) break;\n          *pcVar11 = '\0';\n          pcVar11 = pcVar11 + -1;\n        } while (pcVar11 != acStack_85d + 1);\n      }\n      pcVar11 = acStack_85d + 3;\n      if (acStack_85d[3] != '\0') {\n        cVar8 = acStack_85d[3];\n        do {\n          if (cVar8 == ' ') {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);\n            fatal_error(uVar2,acStack_85d + 1);\n          }\n          pcVar11 = pcVar11 + 1;\n          cVar8 = *pcVar11;\n        } while (cVar8 != '\0');\n      }\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c48))(iVar5 + 1);\n      *piVar6 = iVar5;\n      if (iVar5 == 0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      (**(code **)(puVar17 + 0x13c5c))(*piVar6,acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c04))(puVar12);\n      piVar6[1] = iVar5;\n      piVar6[2] = **(int **)(puVar17 + 0x13b20);\n      piVar6[3] = 0;\n      iVar5 = hash_label(acStack_85d + 3);\n      puVar3 = *(undefined4 **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4);\n      if (puVar3 != (undefined4 *)0x0) {\n        do {\n          iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3);\n          if (iVar4 == 0) {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(uVar2,acStack_85d + 1);\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n          else {\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n        } while (puVar3 != (undefined4 *)0x0);\n      }\n      if (aiStack_8dc[iVar5] == 0) {\n        *(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4) = piVar6;\n      }\n      else {\n        *(int **)(aiStack_8dc[iVar5] + 0xc) = piVar6;\n      }\n      aiStack_8dc[iVar5] = (int)piVar6;\n    }\n    pcVar11 = acStack_85d + 1;\n    get_script_line(puVar12);\n  } while( true );" do (compound_statement "{\n    puVar10 = puVar12;\n    iVar5 = (**(code **)(puVar17 + 0x13c2c))(puVar12);\n    if (iVar5 != 0) {\n      if (puStack_45c != (undefined1 *)**(int **)(puVar17 + 0x13c9c)) {\n        pcVar18 = *(code **)(puVar17 + 0x13c80);\n        (*pcVar18)();\n        puVar12 = (undefined1 *)0x0;\n        iVar1 = 0;\n        iVar14 = 0;\n        iVar15 = *(int *)(pcVar18 + 0x1368c);\n        while( true ) {\n          iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2);\n          puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14);\n          if (puVar12 == (undefined1 *)0x0) {\n            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(uVar2,pcVar11);\n          }\n          if (iVar1 == 0) {\n            *puVar12 = 0;\n          }\n          (**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2);\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          puVar12[iVar1] = 10;\n          (puVar12 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          get_script_line(puVar10,pcVar11);\n          if ((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)\n             ) break;\n          iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n        }\n        return puVar12;\n      }\n      return (undefined1 *)**(int **)(puVar17 + 0x13c9c);\n    }\n    if (acStack_85d[1] == '*') {\n      piVar6 = (int *)(**(code **)(puVar17 + 0x13c48))(0x10);\n      if (piVar6 == (int *)0x0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      pcVar16 = acStack_85d + 1;\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(pcVar16);\n      pcVar11 = pcVar16 + iVar5 + -1;\n      if (pcVar11 != pcVar16) {\n        piVar7 = (int *)(**(code **)(puVar17 + 0x13b6c))();\n        iVar5 = *piVar7;\n        do {\n          if ((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0) break;\n          *pcVar11 = '\0';\n          pcVar11 = pcVar11 + -1;\n        } while (pcVar11 != acStack_85d + 1);\n      }\n      pcVar11 = acStack_85d + 3;\n      if (acStack_85d[3] != '\0') {\n        cVar8 = acStack_85d[3];\n        do {\n          if (cVar8 == ' ') {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);\n            fatal_error(uVar2,acStack_85d + 1);\n          }\n          pcVar11 = pcVar11 + 1;\n          cVar8 = *pcVar11;\n        } while (cVar8 != '\0');\n      }\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c48))(iVar5 + 1);\n      *piVar6 = iVar5;\n      if (iVar5 == 0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      (**(code **)(puVar17 + 0x13c5c))(*piVar6,acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c04))(puVar12);\n      piVar6[1] = iVar5;\n      piVar6[2] = **(int **)(puVar17 + 0x13b20);\n      piVar6[3] = 0;\n      iVar5 = hash_label(acStack_85d + 3);\n      puVar3 = *(undefined4 **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4);\n      if (puVar3 != (undefined4 *)0x0) {\n        do {\n          iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3);\n          if (iVar4 == 0) {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(uVar2,acStack_85d + 1);\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n          else {\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n        } while (puVar3 != (undefined4 *)0x0);\n      }\n      if (aiStack_8dc[iVar5] == 0) {\n        *(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4) = piVar6;\n      }\n      else {\n        *(int **)(aiStack_8dc[iVar5] + 0xc) = piVar6;\n      }\n      aiStack_8dc[iVar5] = (int)piVar6;\n    }\n    pcVar11 = acStack_85d + 1;\n    get_script_line(puVar12);\n  }" { (expression_statement "puVar10 = puVar12;" (assignment_expression "puVar10 = puVar12" identifier = identifier) ;) (expression_statement "iVar5 = (**(code **)(puVar17 + 0x13c2c))(puVar12);" (assignment_expression "iVar5 = (**(code **)(puVar17 + 0x13c2c))(puVar12)" identifier = (call_expression "(**(code **)(puVar17 + 0x13c2c))(puVar12)" (parenthesized_expression "(**(code **)(puVar17 + 0x13c2c))" ( (pointer_expression "**(code **)(puVar17 + 0x13c2c)" * (pointer_expression "*(code **)(puVar17 + 0x13c2c)" * (cast_expression "(code **)(puVar17 + 0x13c2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13c2c)" ( (binary_expression "puVar17 + 0x13c2c" identifier + number_literal) ))))) )) (argument_list "(puVar12)" ( identifier )))) ;) (if_statement "if (iVar5 != 0) {\n      if (puStack_45c != (undefined1 *)**(int **)(puVar17 + 0x13c9c)) {\n        pcVar18 = *(code **)(puVar17 + 0x13c80);\n        (*pcVar18)();\n        puVar12 = (undefined1 *)0x0;\n        iVar1 = 0;\n        iVar14 = 0;\n        iVar15 = *(int *)(pcVar18 + 0x1368c);\n        while( true ) {\n          iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2);\n          puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14);\n          if (puVar12 == (undefined1 *)0x0) {\n            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(uVar2,pcVar11);\n          }\n          if (iVar1 == 0) {\n            *puVar12 = 0;\n          }\n          (**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2);\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          puVar12[iVar1] = 10;\n          (puVar12 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          get_script_line(puVar10,pcVar11);\n          if ((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)\n             ) break;\n          iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n        }\n        return puVar12;\n      }\n      return (undefined1 *)**(int **)(puVar17 + 0x13c9c);\n    }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n      if (puStack_45c != (undefined1 *)**(int **)(puVar17 + 0x13c9c)) {\n        pcVar18 = *(code **)(puVar17 + 0x13c80);\n        (*pcVar18)();\n        puVar12 = (undefined1 *)0x0;\n        iVar1 = 0;\n        iVar14 = 0;\n        iVar15 = *(int *)(pcVar18 + 0x1368c);\n        while( true ) {\n          iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2);\n          puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14);\n          if (puVar12 == (undefined1 *)0x0) {\n            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(uVar2,pcVar11);\n          }\n          if (iVar1 == 0) {\n            *puVar12 = 0;\n          }\n          (**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2);\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          puVar12[iVar1] = 10;\n          (puVar12 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          get_script_line(puVar10,pcVar11);\n          if ((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)\n             ) break;\n          iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n        }\n        return puVar12;\n      }\n      return (undefined1 *)**(int **)(puVar17 + 0x13c9c);\n    }" { (if_statement "if (puStack_45c != (undefined1 *)**(int **)(puVar17 + 0x13c9c)) {\n        pcVar18 = *(code **)(puVar17 + 0x13c80);\n        (*pcVar18)();\n        puVar12 = (undefined1 *)0x0;\n        iVar1 = 0;\n        iVar14 = 0;\n        iVar15 = *(int *)(pcVar18 + 0x1368c);\n        while( true ) {\n          iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2);\n          puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14);\n          if (puVar12 == (undefined1 *)0x0) {\n            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(uVar2,pcVar11);\n          }\n          if (iVar1 == 0) {\n            *puVar12 = 0;\n          }\n          (**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2);\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          puVar12[iVar1] = 10;\n          (puVar12 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          get_script_line(puVar10,pcVar11);\n          if ((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)\n             ) break;\n          iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n        }\n        return puVar12;\n      }" if (parenthesized_expression "(puStack_45c != (undefined1 *)**(int **)(puVar17 + 0x13c9c))" ( (binary_expression "puStack_45c != (undefined1 *)**(int **)(puVar17 + 0x13c9c)" identifier != (cast_expression "(undefined1 *)**(int **)(puVar17 + 0x13c9c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(puVar17 + 0x13c9c)" * (pointer_expression "*(int **)(puVar17 + 0x13c9c)" * (cast_expression "(int **)(puVar17 + 0x13c9c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13c9c)" ( (binary_expression "puVar17 + 0x13c9c" identifier + number_literal) ))))))) )) (compound_statement "{\n        pcVar18 = *(code **)(puVar17 + 0x13c80);\n        (*pcVar18)();\n        puVar12 = (undefined1 *)0x0;\n        iVar1 = 0;\n        iVar14 = 0;\n        iVar15 = *(int *)(pcVar18 + 0x1368c);\n        while( true ) {\n          iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2);\n          puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14);\n          if (puVar12 == (undefined1 *)0x0) {\n            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(uVar2,pcVar11);\n          }\n          if (iVar1 == 0) {\n            *puVar12 = 0;\n          }\n          (**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2);\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          puVar12[iVar1] = 10;\n          (puVar12 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          get_script_line(puVar10,pcVar11);\n          if ((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)\n             ) break;\n          iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n        }\n        return puVar12;\n      }" { (expression_statement "pcVar18 = *(code **)(puVar17 + 0x13c80);" (assignment_expression "pcVar18 = *(code **)(puVar17 + 0x13c80)" identifier = (pointer_expression "*(code **)(puVar17 + 0x13c80)" * (cast_expression "(code **)(puVar17 + 0x13c80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13c80)" ( (binary_expression "puVar17 + 0x13c80" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar18)();" (call_expression "(*pcVar18)()" (parenthesized_expression "(*pcVar18)" ( (pointer_expression "*pcVar18" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar12 = (undefined1 *)0x0;" (assignment_expression "puVar12 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (expression_statement "iVar15 = *(int *)(pcVar18 + 0x1368c);" (assignment_expression "iVar15 = *(int *)(pcVar18 + 0x1368c)" identifier = (pointer_expression "*(int *)(pcVar18 + 0x1368c)" * (cast_expression "(int *)(pcVar18 + 0x1368c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar18 + 0x1368c)" ( (binary_expression "pcVar18 + 0x1368c" identifier + number_literal) ))))) ;) (while_statement "while( true ) {\n          iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2);\n          puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14);\n          if (puVar12 == (undefined1 *)0x0) {\n            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(uVar2,pcVar11);\n          }\n          if (iVar1 == 0) {\n            *puVar12 = 0;\n          }\n          (**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2);\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          puVar12[iVar1] = 10;\n          (puVar12 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          get_script_line(puVar10,pcVar11);\n          if ((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)\n             ) break;\n          iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2);\n          puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14);\n          if (puVar12 == (undefined1 *)0x0) {\n            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(uVar2,pcVar11);\n          }\n          if (iVar1 == 0) {\n            *puVar12 = 0;\n          }\n          (**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2);\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          puVar12[iVar1] = 10;\n          (puVar12 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          get_script_line(puVar10,pcVar11);\n          if ((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)\n             ) break;\n          iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n        }" { (expression_statement "iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2);" (assignment_expression "iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2)" identifier = (call_expression "(**(code **)(pcVar18 + 0x13834))(pcVar11 + 2)" (parenthesized_expression "(**(code **)(pcVar18 + 0x13834))" ( (pointer_expression "**(code **)(pcVar18 + 0x13834)" * (pointer_expression "*(code **)(pcVar18 + 0x13834)" * (cast_expression "(code **)(pcVar18 + 0x13834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x13834)" ( (binary_expression "pcVar18 + 0x13834" identifier + number_literal) ))))) )) (argument_list "(pcVar11 + 2)" ( (binary_expression "pcVar11 + 2" identifier + number_literal) )))) ;) (expression_statement "puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14);" (assignment_expression "puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14)" identifier = (cast_expression "(undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14)" (parenthesized_expression "(**(code **)(pcVar18 + 0x13860))" ( (pointer_expression "**(code **)(pcVar18 + 0x13860)" * (pointer_expression "*(code **)(pcVar18 + 0x13860)" * (cast_expression "(code **)(pcVar18 + 0x13860)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x13860)" ( (binary_expression "pcVar18 + 0x13860" identifier + number_literal) ))))) )) (argument_list "(puVar12,iVar5 + 2 + iVar14)" ( identifier , (binary_expression "iVar5 + 2 + iVar14" (binary_expression "iVar5 + 2" identifier + number_literal) + identifier) ))))) ;) (if_statement "if (puVar12 == (undefined1 *)0x0) {\n            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(uVar2,pcVar11);\n          }" if (parenthesized_expression "(puVar12 == (undefined1 *)0x0)" ( (binary_expression "puVar12 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(uVar2,pcVar11);\n          }" { (expression_statement "uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);" (assignment_expression "uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5)" identifier = (call_expression "(**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5)" (parenthesized_expression "(**(code **)(pcVar18 + 0x13898))" ( (pointer_expression "**(code **)(pcVar18 + 0x13898)" * (pointer_expression "*(code **)(pcVar18 + 0x13898)" * (cast_expression "(code **)(pcVar18 + 0x13898)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x13898)" ( (binary_expression "pcVar18 + 0x13898" identifier + number_literal) ))))) )) (argument_list "(0,iVar15 + -0x4d20,5)" ( number_literal , (binary_expression "iVar15 + -0x4d20" identifier + number_literal) , number_literal )))) ;) (expression_statement "fatal_error(uVar2,pcVar11);" (call_expression "fatal_error(uVar2,pcVar11)" identifier (argument_list "(uVar2,pcVar11)" ( identifier , identifier ))) ;) })) (if_statement "if (iVar1 == 0) {\n            *puVar12 = 0;\n          }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n            *puVar12 = 0;\n          }" { (expression_statement "*puVar12 = 0;" (assignment_expression "*puVar12 = 0" (pointer_expression "*puVar12" * identifier) = number_literal) ;) })) (expression_statement "(**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2);" (call_expression "(**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2)" (parenthesized_expression "(**(code **)(pcVar18 + 0x13878))" ( (pointer_expression "**(code **)(pcVar18 + 0x13878)" * (pointer_expression "*(code **)(pcVar18 + 0x13878)" * (cast_expression "(code **)(pcVar18 + 0x13878)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x13878)" ( (binary_expression "pcVar18 + 0x13878" identifier + number_literal) ))))) )) (argument_list "(puVar12,pcVar11 + 2)" ( identifier , (binary_expression "pcVar11 + 2" identifier + number_literal) ))) ;) (expression_statement "iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);" (assignment_expression "iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12)" identifier = (call_expression "(**(code **)(pcVar18 + 0x13834))(puVar12)" (parenthesized_expression "(**(code **)(pcVar18 + 0x13834))" ( (pointer_expression "**(code **)(pcVar18 + 0x13834)" * (pointer_expression "*(code **)(pcVar18 + 0x13834)" * (cast_expression "(code **)(pcVar18 + 0x13834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x13834)" ( (binary_expression "pcVar18 + 0x13834" identifier + number_literal) ))))) )) (argument_list "(puVar12)" ( identifier )))) ;) (expression_statement "puVar12[iVar1] = 10;" (assignment_expression "puVar12[iVar1] = 10" (subscript_expression "puVar12[iVar1]" identifier [ identifier ]) = number_literal) ;) (expression_statement "(puVar12 + iVar1)[1] = 0;" (assignment_expression "(puVar12 + iVar1)[1] = 0" (subscript_expression "(puVar12 + iVar1)[1]" (parenthesized_expression "(puVar12 + iVar1)" ( (binary_expression "puVar12 + iVar1" identifier + identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);" (assignment_expression "iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12)" identifier = (call_expression "(**(code **)(pcVar18 + 0x13834))(puVar12)" (parenthesized_expression "(**(code **)(pcVar18 + 0x13834))" ( (pointer_expression "**(code **)(pcVar18 + 0x13834)" * (pointer_expression "*(code **)(pcVar18 + 0x13834)" * (cast_expression "(code **)(pcVar18 + 0x13834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x13834)" ( (binary_expression "pcVar18 + 0x13834" identifier + number_literal) ))))) )) (argument_list "(puVar12)" ( identifier )))) ;) (expression_statement "get_script_line(puVar10,pcVar11);" (call_expression "get_script_line(puVar10,pcVar11)" identifier (argument_list "(puVar10,pcVar11)" ( identifier , identifier ))) ;) (if_statement "if ((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)\n             ) break;" if (parenthesized_expression "((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)\n             )" ( (binary_expression "(*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)" (parenthesized_expression "(*pcVar11 != ' ')" ( (binary_expression "*pcVar11 != ' '" (pointer_expression "*pcVar11" * identifier) != (char_literal "' '" ' character ')) )) || (parenthesized_expression "(iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)" ( (comma_expression "iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0" (assignment_expression "iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10)" identifier = (call_expression "(**(code **)(pcVar18 + 0x13840))(puVar10)" (parenthesized_expression "(**(code **)(pcVar18 + 0x13840))" ( (pointer_expression "**(code **)(pcVar18 + 0x13840)" * (pointer_expression "*(code **)(pcVar18 + 0x13840)" * (cast_expression "(code **)(pcVar18 + 0x13840)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x13840)" ( (binary_expression "pcVar18 + 0x13840" identifier + number_literal) ))))) )) (argument_list "(puVar10)" ( identifier )))) , (binary_expression "iVar14 != 0" identifier != number_literal)) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12);" (assignment_expression "iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12)" identifier = (call_expression "(**(code **)(pcVar18 + 0x13834))(puVar12)" (parenthesized_expression "(**(code **)(pcVar18 + 0x13834))" ( (pointer_expression "**(code **)(pcVar18 + 0x13834)" * (pointer_expression "*(code **)(pcVar18 + 0x13834)" * (cast_expression "(code **)(pcVar18 + 0x13834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + 0x13834)" ( (binary_expression "pcVar18 + 0x13834" identifier + number_literal) ))))) )) (argument_list "(puVar12)" ( identifier )))) ;) })) (return_statement "return puVar12;" return identifier ;) })) (return_statement "return (undefined1 *)**(int **)(puVar17 + 0x13c9c);" return (cast_expression "(undefined1 *)**(int **)(puVar17 + 0x13c9c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(puVar17 + 0x13c9c)" * (pointer_expression "*(int **)(puVar17 + 0x13c9c)" * (cast_expression "(int **)(puVar17 + 0x13c9c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13c9c)" ( (binary_expression "puVar17 + 0x13c9c" identifier + number_literal) )))))) ;) })) (if_statement "if (acStack_85d[1] == '*') {\n      piVar6 = (int *)(**(code **)(puVar17 + 0x13c48))(0x10);\n      if (piVar6 == (int *)0x0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      pcVar16 = acStack_85d + 1;\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(pcVar16);\n      pcVar11 = pcVar16 + iVar5 + -1;\n      if (pcVar11 != pcVar16) {\n        piVar7 = (int *)(**(code **)(puVar17 + 0x13b6c))();\n        iVar5 = *piVar7;\n        do {\n          if ((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0) break;\n          *pcVar11 = '\0';\n          pcVar11 = pcVar11 + -1;\n        } while (pcVar11 != acStack_85d + 1);\n      }\n      pcVar11 = acStack_85d + 3;\n      if (acStack_85d[3] != '\0') {\n        cVar8 = acStack_85d[3];\n        do {\n          if (cVar8 == ' ') {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);\n            fatal_error(uVar2,acStack_85d + 1);\n          }\n          pcVar11 = pcVar11 + 1;\n          cVar8 = *pcVar11;\n        } while (cVar8 != '\0');\n      }\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c48))(iVar5 + 1);\n      *piVar6 = iVar5;\n      if (iVar5 == 0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      (**(code **)(puVar17 + 0x13c5c))(*piVar6,acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c04))(puVar12);\n      piVar6[1] = iVar5;\n      piVar6[2] = **(int **)(puVar17 + 0x13b20);\n      piVar6[3] = 0;\n      iVar5 = hash_label(acStack_85d + 3);\n      puVar3 = *(undefined4 **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4);\n      if (puVar3 != (undefined4 *)0x0) {\n        do {\n          iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3);\n          if (iVar4 == 0) {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(uVar2,acStack_85d + 1);\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n          else {\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n        } while (puVar3 != (undefined4 *)0x0);\n      }\n      if (aiStack_8dc[iVar5] == 0) {\n        *(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4) = piVar6;\n      }\n      else {\n        *(int **)(aiStack_8dc[iVar5] + 0xc) = piVar6;\n      }\n      aiStack_8dc[iVar5] = (int)piVar6;\n    }" if (parenthesized_expression "(acStack_85d[1] == '*')" ( (binary_expression "acStack_85d[1] == '*'" (subscript_expression "acStack_85d[1]" identifier [ number_literal ]) == (char_literal "'*'" ' character ')) )) (compound_statement "{\n      piVar6 = (int *)(**(code **)(puVar17 + 0x13c48))(0x10);\n      if (piVar6 == (int *)0x0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      pcVar16 = acStack_85d + 1;\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(pcVar16);\n      pcVar11 = pcVar16 + iVar5 + -1;\n      if (pcVar11 != pcVar16) {\n        piVar7 = (int *)(**(code **)(puVar17 + 0x13b6c))();\n        iVar5 = *piVar7;\n        do {\n          if ((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0) break;\n          *pcVar11 = '\0';\n          pcVar11 = pcVar11 + -1;\n        } while (pcVar11 != acStack_85d + 1);\n      }\n      pcVar11 = acStack_85d + 3;\n      if (acStack_85d[3] != '\0') {\n        cVar8 = acStack_85d[3];\n        do {\n          if (cVar8 == ' ') {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);\n            fatal_error(uVar2,acStack_85d + 1);\n          }\n          pcVar11 = pcVar11 + 1;\n          cVar8 = *pcVar11;\n        } while (cVar8 != '\0');\n      }\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c48))(iVar5 + 1);\n      *piVar6 = iVar5;\n      if (iVar5 == 0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      (**(code **)(puVar17 + 0x13c5c))(*piVar6,acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c04))(puVar12);\n      piVar6[1] = iVar5;\n      piVar6[2] = **(int **)(puVar17 + 0x13b20);\n      piVar6[3] = 0;\n      iVar5 = hash_label(acStack_85d + 3);\n      puVar3 = *(undefined4 **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4);\n      if (puVar3 != (undefined4 *)0x0) {\n        do {\n          iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3);\n          if (iVar4 == 0) {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(uVar2,acStack_85d + 1);\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n          else {\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n        } while (puVar3 != (undefined4 *)0x0);\n      }\n      if (aiStack_8dc[iVar5] == 0) {\n        *(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4) = piVar6;\n      }\n      else {\n        *(int **)(aiStack_8dc[iVar5] + 0xc) = piVar6;\n      }\n      aiStack_8dc[iVar5] = (int)piVar6;\n    }" { (expression_statement "piVar6 = (int *)(**(code **)(puVar17 + 0x13c48))(0x10);" (assignment_expression "piVar6 = (int *)(**(code **)(puVar17 + 0x13c48))(0x10)" identifier = (cast_expression "(int *)(**(code **)(puVar17 + 0x13c48))(0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar17 + 0x13c48))(0x10)" (parenthesized_expression "(**(code **)(puVar17 + 0x13c48))" ( (pointer_expression "**(code **)(puVar17 + 0x13c48)" * (pointer_expression "*(code **)(puVar17 + 0x13c48)" * (cast_expression "(code **)(puVar17 + 0x13c48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13c48)" ( (binary_expression "puVar17 + 0x13c48" identifier + number_literal) ))))) )) (argument_list "(0x10)" ( number_literal ))))) ;) (if_statement "if (piVar6 == (int *)0x0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }" if (parenthesized_expression "(piVar6 == (int *)0x0)" ( (binary_expression "piVar6 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }" { (expression_statement "uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);" (assignment_expression "uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5)" identifier = (call_expression "(**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5)" (parenthesized_expression "(**(code **)(puVar17 + 0x13c84))" ( (pointer_expression "**(code **)(puVar17 + 0x13c84)" * (pointer_expression "*(code **)(puVar17 + 0x13c84)" * (cast_expression "(code **)(puVar17 + 0x13c84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13c84)" ( (binary_expression "puVar17 + 0x13c84" identifier + number_literal) ))))) )) (argument_list "(0,iVar15 + -0x4d20,5)" ( number_literal , (binary_expression "iVar15 + -0x4d20" identifier + number_literal) , number_literal )))) ;) (expression_statement "fatal_error(uVar2,acStack_85d + 1);" (call_expression "fatal_error(uVar2,acStack_85d + 1)" identifier (argument_list "(uVar2,acStack_85d + 1)" ( identifier , (binary_expression "acStack_85d + 1" identifier + number_literal) ))) ;) })) (expression_statement "pcVar16 = acStack_85d + 1;" (assignment_expression "pcVar16 = acStack_85d + 1" identifier = (binary_expression "acStack_85d + 1" identifier + number_literal)) ;) (expression_statement "iVar5 = (**(code **)(puVar17 + 0x13c20))(pcVar16);" (assignment_expression "iVar5 = (**(code **)(puVar17 + 0x13c20))(pcVar16)" identifier = (call_expression "(**(code **)(puVar17 + 0x13c20))(pcVar16)" (parenthesized_expression "(**(code **)(puVar17 + 0x13c20))" ( (pointer_expression "**(code **)(puVar17 + 0x13c20)" * (pointer_expression "*(code **)(puVar17 + 0x13c20)" * (cast_expression "(code **)(puVar17 + 0x13c20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13c20)" ( (binary_expression "puVar17 + 0x13c20" identifier + number_literal) ))))) )) (argument_list "(pcVar16)" ( identifier )))) ;) (expression_statement "pcVar11 = pcVar16 + iVar5 + -1;" (assignment_expression "pcVar11 = pcVar16 + iVar5 + -1" identifier = (binary_expression "pcVar16 + iVar5 + -1" (binary_expression "pcVar16 + iVar5" identifier + identifier) + number_literal)) ;) (if_statement "if (pcVar11 != pcVar16) {\n        piVar7 = (int *)(**(code **)(puVar17 + 0x13b6c))();\n        iVar5 = *piVar7;\n        do {\n          if ((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0) break;\n          *pcVar11 = '\0';\n          pcVar11 = pcVar11 + -1;\n        } while (pcVar11 != acStack_85d + 1);\n      }" if (parenthesized_expression "(pcVar11 != pcVar16)" ( (binary_expression "pcVar11 != pcVar16" identifier != identifier) )) (compound_statement "{\n        piVar7 = (int *)(**(code **)(puVar17 + 0x13b6c))();\n        iVar5 = *piVar7;\n        do {\n          if ((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0) break;\n          *pcVar11 = '\0';\n          pcVar11 = pcVar11 + -1;\n        } while (pcVar11 != acStack_85d + 1);\n      }" { (expression_statement "piVar7 = (int *)(**(code **)(puVar17 + 0x13b6c))();" (assignment_expression "piVar7 = (int *)(**(code **)(puVar17 + 0x13b6c))()" identifier = (cast_expression "(int *)(**(code **)(puVar17 + 0x13b6c))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar17 + 0x13b6c))()" (parenthesized_expression "(**(code **)(puVar17 + 0x13b6c))" ( (pointer_expression "**(code **)(puVar17 + 0x13b6c)" * (pointer_expression "*(code **)(puVar17 + 0x13b6c)" * (cast_expression "(code **)(puVar17 + 0x13b6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13b6c)" ( (binary_expression "puVar17 + 0x13b6c" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar5 = *piVar7;" (assignment_expression "iVar5 = *piVar7" identifier = (pointer_expression "*piVar7" * identifier)) ;) (do_statement "do {\n          if ((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0) break;\n          *pcVar11 = '\0';\n          pcVar11 = pcVar11 + -1;\n        } while (pcVar11 != acStack_85d + 1);" do (compound_statement "{\n          if ((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0) break;\n          *pcVar11 = '\0';\n          pcVar11 = pcVar11 + -1;\n        }" { (if_statement "if ((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0) break;" if (parenthesized_expression "((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0)" ( (binary_expression "(*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0" (parenthesized_expression "(*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20)" ( (binary_expression "*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20" (pointer_expression "*(ushort *)(iVar5 + *pcVar11 * 2)" * (cast_expression "(ushort *)(iVar5 + *pcVar11 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + *pcVar11 * 2)" ( (binary_expression "iVar5 + *pcVar11 * 2" identifier + (binary_expression "*pcVar11 * 2" (pointer_expression "*pcVar11" * identifier) * number_literal)) )))) & number_literal) )) == number_literal) )) (break_statement "break;" break ;)) (expression_statement "*pcVar11 = '\0';" (assignment_expression "*pcVar11 = '\0'" (pointer_expression "*pcVar11" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar11 = pcVar11 + -1;" (assignment_expression "pcVar11 = pcVar11 + -1" identifier = (binary_expression "pcVar11 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pcVar11 != acStack_85d + 1)" ( (binary_expression "pcVar11 != acStack_85d + 1" identifier != (binary_expression "acStack_85d + 1" identifier + number_literal)) )) ;) })) (expression_statement "pcVar11 = acStack_85d + 3;" (assignment_expression "pcVar11 = acStack_85d + 3" identifier = (binary_expression "acStack_85d + 3" identifier + number_literal)) ;) (if_statement "if (acStack_85d[3] != '\0') {\n        cVar8 = acStack_85d[3];\n        do {\n          if (cVar8 == ' ') {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);\n            fatal_error(uVar2,acStack_85d + 1);\n          }\n          pcVar11 = pcVar11 + 1;\n          cVar8 = *pcVar11;\n        } while (cVar8 != '\0');\n      }" if (parenthesized_expression "(acStack_85d[3] != '\0')" ( (binary_expression "acStack_85d[3] != '\0'" (subscript_expression "acStack_85d[3]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        cVar8 = acStack_85d[3];\n        do {\n          if (cVar8 == ' ') {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);\n            fatal_error(uVar2,acStack_85d + 1);\n          }\n          pcVar11 = pcVar11 + 1;\n          cVar8 = *pcVar11;\n        } while (cVar8 != '\0');\n      }" { (expression_statement "cVar8 = acStack_85d[3];" (assignment_expression "cVar8 = acStack_85d[3]" identifier = (subscript_expression "acStack_85d[3]" identifier [ number_literal ])) ;) (do_statement "do {\n          if (cVar8 == ' ') {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);\n            fatal_error(uVar2,acStack_85d + 1);\n          }\n          pcVar11 = pcVar11 + 1;\n          cVar8 = *pcVar11;\n        } while (cVar8 != '\0');" do (compound_statement "{\n          if (cVar8 == ' ') {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);\n            fatal_error(uVar2,acStack_85d + 1);\n          }\n          pcVar11 = pcVar11 + 1;\n          cVar8 = *pcVar11;\n        }" { (if_statement "if (cVar8 == ' ') {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);\n            fatal_error(uVar2,acStack_85d + 1);\n          }" if (parenthesized_expression "(cVar8 == ' ')" ( (binary_expression "cVar8 == ' '" identifier == (char_literal "' '" ' character ')) )) (compound_statement "{\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);\n            fatal_error(uVar2,acStack_85d + 1);\n          }" { (expression_statement "uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);" (assignment_expression "uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5)" identifier = (call_expression "(**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5)" (parenthesized_expression "(**(code **)(puVar17 + 0x13c84))" ( (pointer_expression "**(code **)(puVar17 + 0x13c84)" * (pointer_expression "*(code **)(puVar17 + 0x13c84)" * (cast_expression "(code **)(puVar17 + 0x13c84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13c84)" ( (binary_expression "puVar17 + 0x13c84" identifier + number_literal) ))))) )) (argument_list "(0,iVar14 + -0x36b8,5)" ( number_literal , (binary_expression "iVar14 + -0x36b8" identifier + number_literal) , number_literal )))) ;) (expression_statement "fatal_error(uVar2,acStack_85d + 1);" (call_expression "fatal_error(uVar2,acStack_85d + 1)" identifier (argument_list "(uVar2,acStack_85d + 1)" ( identifier , (binary_expression "acStack_85d + 1" identifier + number_literal) ))) ;) })) (expression_statement "pcVar11 = pcVar11 + 1;" (assignment_expression "pcVar11 = pcVar11 + 1" identifier = (binary_expression "pcVar11 + 1" identifier + number_literal)) ;) (expression_statement "cVar8 = *pcVar11;" (assignment_expression "cVar8 = *pcVar11" identifier = (pointer_expression "*pcVar11" * identifier)) ;) }) while (parenthesized_expression "(cVar8 != '\0')" ( (binary_expression "cVar8 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) })) (expression_statement "iVar5 = (**(code **)(puVar17 + 0x13c20))(acStack_85d + 3);" (assignment_expression "iVar5 = (**(code **)(puVar17 + 0x13c20))(acStack_85d + 3)" identifier = (call_expression "(**(code **)(puVar17 + 0x13c20))(acStack_85d + 3)" (parenthesized_expression "(**(code **)(puVar17 + 0x13c20))" ( (pointer_expression "**(code **)(puVar17 + 0x13c20)" * (pointer_expression "*(code **)(puVar17 + 0x13c20)" * (cast_expression "(code **)(puVar17 + 0x13c20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13c20)" ( (binary_expression "puVar17 + 0x13c20" identifier + number_literal) ))))) )) (argument_list "(acStack_85d + 3)" ( (binary_expression "acStack_85d + 3" identifier + number_literal) )))) ;) (expression_statement "iVar5 = (**(code **)(puVar17 + 0x13c48))(iVar5 + 1);" (assignment_expression "iVar5 = (**(code **)(puVar17 + 0x13c48))(iVar5 + 1)" identifier = (call_expression "(**(code **)(puVar17 + 0x13c48))(iVar5 + 1)" (parenthesized_expression "(**(code **)(puVar17 + 0x13c48))" ( (pointer_expression "**(code **)(puVar17 + 0x13c48)" * (pointer_expression "*(code **)(puVar17 + 0x13c48)" * (cast_expression "(code **)(puVar17 + 0x13c48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13c48)" ( (binary_expression "puVar17 + 0x13c48" identifier + number_literal) ))))) )) (argument_list "(iVar5 + 1)" ( (binary_expression "iVar5 + 1" identifier + number_literal) )))) ;) (expression_statement "*piVar6 = iVar5;" (assignment_expression "*piVar6 = iVar5" (pointer_expression "*piVar6" * identifier) = identifier) ;) (if_statement "if (iVar5 == 0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }" { (expression_statement "uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);" (assignment_expression "uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5)" identifier = (call_expression "(**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5)" (parenthesized_expression "(**(code **)(puVar17 + 0x13c84))" ( (pointer_expression "**(code **)(puVar17 + 0x13c84)" * (pointer_expression "*(code **)(puVar17 + 0x13c84)" * (cast_expression "(code **)(puVar17 + 0x13c84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13c84)" ( (binary_expression "puVar17 + 0x13c84" identifier + number_literal) ))))) )) (argument_list "(0,iVar15 + -0x4d20,5)" ( number_literal , (binary_expression "iVar15 + -0x4d20" identifier + number_literal) , number_literal )))) ;) (expression_statement "fatal_error(uVar2,acStack_85d + 1);" (call_expression "fatal_error(uVar2,acStack_85d + 1)" identifier (argument_list "(uVar2,acStack_85d + 1)" ( identifier , (binary_expression "acStack_85d + 1" identifier + number_literal) ))) ;) })) (expression_statement "(**(code **)(puVar17 + 0x13c5c))(*piVar6,acStack_85d + 3);" (call_expression "(**(code **)(puVar17 + 0x13c5c))(*piVar6,acStack_85d + 3)" (parenthesized_expression "(**(code **)(puVar17 + 0x13c5c))" ( (pointer_expression "**(code **)(puVar17 + 0x13c5c)" * (pointer_expression "*(code **)(puVar17 + 0x13c5c)" * (cast_expression "(code **)(puVar17 + 0x13c5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13c5c)" ( (binary_expression "puVar17 + 0x13c5c" identifier + number_literal) ))))) )) (argument_list "(*piVar6,acStack_85d + 3)" ( (pointer_expression "*piVar6" * identifier) , (binary_expression "acStack_85d + 3" identifier + number_literal) ))) ;) (expression_statement "iVar5 = (**(code **)(puVar17 + 0x13c04))(puVar12);" (assignment_expression "iVar5 = (**(code **)(puVar17 + 0x13c04))(puVar12)" identifier = (call_expression "(**(code **)(puVar17 + 0x13c04))(puVar12)" (parenthesized_expression "(**(code **)(puVar17 + 0x13c04))" ( (pointer_expression "**(code **)(puVar17 + 0x13c04)" * (pointer_expression "*(code **)(puVar17 + 0x13c04)" * (cast_expression "(code **)(puVar17 + 0x13c04)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13c04)" ( (binary_expression "puVar17 + 0x13c04" identifier + number_literal) ))))) )) (argument_list "(puVar12)" ( identifier )))) ;) (expression_statement "piVar6[1] = iVar5;" (assignment_expression "piVar6[1] = iVar5" (subscript_expression "piVar6[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar6[2] = **(int **)(puVar17 + 0x13b20);" (assignment_expression "piVar6[2] = **(int **)(puVar17 + 0x13b20)" (subscript_expression "piVar6[2]" identifier [ number_literal ]) = (pointer_expression "**(int **)(puVar17 + 0x13b20)" * (pointer_expression "*(int **)(puVar17 + 0x13b20)" * (cast_expression "(int **)(puVar17 + 0x13b20)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13b20)" ( (binary_expression "puVar17 + 0x13b20" identifier + number_literal) )))))) ;) (expression_statement "piVar6[3] = 0;" (assignment_expression "piVar6[3] = 0" (subscript_expression "piVar6[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar5 = hash_label(acStack_85d + 3);" (assignment_expression "iVar5 = hash_label(acStack_85d + 3)" identifier = (call_expression "hash_label(acStack_85d + 3)" identifier (argument_list "(acStack_85d + 3)" ( (binary_expression "acStack_85d + 3" identifier + number_literal) )))) ;) (expression_statement "puVar3 = *(undefined4 **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4);" (assignment_expression "puVar3 = *(undefined4 **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4)" identifier = (pointer_expression "*(undefined4 **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4)" * (cast_expression "(undefined4 **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(puVar17 + 0x13b34) + iVar5 * 4)" ( (binary_expression "*(int *)(puVar17 + 0x13b34) + iVar5 * 4" (pointer_expression "*(int *)(puVar17 + 0x13b34)" * (cast_expression "(int *)(puVar17 + 0x13b34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x13b34)" ( (binary_expression "puVar17 + 0x13b34" identifier + number_literal) )))) + (binary_expression "iVar5 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (puVar3 != (undefined4 *)0x0) {\n        do {\n          iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3);\n          if (iVar4 == 0) {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(uVar2,acStack_85d + 1);\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n          else {\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n        } while (puVar3 != (undefined4 *)0x0);\n      }" if (parenthesized_expression "(puVar3 != (undefined4 *)0x0)" ( (binary_expression "puVar3 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        do {\n          iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3);\n          if (iVar4 == 0) {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(uVar2,acStack_85d + 1);\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n          else {\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n        } while (puVar3 != (undefined4 *)0x0);\n      }" { (do_statement "do {\n          iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3);\n          if (iVar4 == 0) {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(uVar2,acStack_85d + 1);\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n          else {\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n        } while (puVar3 != (undefined4 *)0x0);" do (compound_statement "{\n          iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3);\n          if (iVar4 == 0) {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(uVar2,acStack_85d + 1);\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n          else {\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n        }" { (expression_statement "iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3);" (assignment_expression "iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3)" identifier = (call_expression "(**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3)" (parenthesized_expression "(**(code **)(puVar17 + 0x13cd4))" ( (pointer_expression "**(code **)(puVar17 + 0x13cd4)" * (pointer_expression "*(code **)(puVar17 + 0x13cd4)" * (cast_expression "(code **)(puVar17 + 0x13cd4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13cd4)" ( (binary_expression "puVar17 + 0x13cd4" identifier + number_literal) ))))) )) (argument_list "(*puVar3,acStack_85d + 3)" ( (pointer_expression "*puVar3" * identifier) , (binary_expression "acStack_85d + 3" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(uVar2,acStack_85d + 1);\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n          else {\n            puVar3 = (undefined4 *)puVar3[3];\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(uVar2,acStack_85d + 1);\n            puVar3 = (undefined4 *)puVar3[3];\n          }" { (expression_statement "uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);" (assignment_expression "uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5)" identifier = (call_expression "(**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5)" (parenthesized_expression "(**(code **)(puVar17 + 0x13c84))" ( (pointer_expression "**(code **)(puVar17 + 0x13c84)" * (pointer_expression "*(code **)(puVar17 + 0x13c84)" * (cast_expression "(code **)(puVar17 + 0x13c84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x13c84)" ( (binary_expression "puVar17 + 0x13c84" identifier + number_literal) ))))) )) (argument_list "(0,iVar1 + -0x36a0,5)" ( number_literal , (binary_expression "iVar1 + -0x36a0" identifier + number_literal) , number_literal )))) ;) (expression_statement "fatal_error(uVar2,acStack_85d + 1);" (call_expression "fatal_error(uVar2,acStack_85d + 1)" identifier (argument_list "(uVar2,acStack_85d + 1)" ( identifier , (binary_expression "acStack_85d + 1" identifier + number_literal) ))) ;) (expression_statement "puVar3 = (undefined4 *)puVar3[3];" (assignment_expression "puVar3 = (undefined4 *)puVar3[3]" identifier = (cast_expression "(undefined4 *)puVar3[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar3[3]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n            puVar3 = (undefined4 *)puVar3[3];\n          }" else (compound_statement "{\n            puVar3 = (undefined4 *)puVar3[3];\n          }" { (expression_statement "puVar3 = (undefined4 *)puVar3[3];" (assignment_expression "puVar3 = (undefined4 *)puVar3[3]" identifier = (cast_expression "(undefined4 *)puVar3[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar3[3]" identifier [ number_literal ]))) ;) }))) }) while (parenthesized_expression "(puVar3 != (undefined4 *)0x0)" ( (binary_expression "puVar3 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (if_statement "if (aiStack_8dc[iVar5] == 0) {\n        *(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4) = piVar6;\n      }\n      else {\n        *(int **)(aiStack_8dc[iVar5] + 0xc) = piVar6;\n      }" if (parenthesized_expression "(aiStack_8dc[iVar5] == 0)" ( (binary_expression "aiStack_8dc[iVar5] == 0" (subscript_expression "aiStack_8dc[iVar5]" identifier [ identifier ]) == number_literal) )) (compound_statement "{\n        *(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4) = piVar6;\n      }" { (expression_statement "*(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4) = piVar6;" (assignment_expression "*(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4) = piVar6" (pointer_expression "*(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4)" * (cast_expression "(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(puVar17 + 0x13b34) + iVar5 * 4)" ( (binary_expression "*(int *)(puVar17 + 0x13b34) + iVar5 * 4" (pointer_expression "*(int *)(puVar17 + 0x13b34)" * (cast_expression "(int *)(puVar17 + 0x13b34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x13b34)" ( (binary_expression "puVar17 + 0x13b34" identifier + number_literal) )))) + (binary_expression "iVar5 * 4" identifier * number_literal)) )))) = identifier) ;) }) (else_clause "else {\n        *(int **)(aiStack_8dc[iVar5] + 0xc) = piVar6;\n      }" else (compound_statement "{\n        *(int **)(aiStack_8dc[iVar5] + 0xc) = piVar6;\n      }" { (expression_statement "*(int **)(aiStack_8dc[iVar5] + 0xc) = piVar6;" (assignment_expression "*(int **)(aiStack_8dc[iVar5] + 0xc) = piVar6" (pointer_expression "*(int **)(aiStack_8dc[iVar5] + 0xc)" * (cast_expression "(int **)(aiStack_8dc[iVar5] + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(aiStack_8dc[iVar5] + 0xc)" ( (binary_expression "aiStack_8dc[iVar5] + 0xc" (subscript_expression "aiStack_8dc[iVar5]" identifier [ identifier ]) + number_literal) )))) = identifier) ;) }))) (expression_statement "aiStack_8dc[iVar5] = (int)piVar6;" (assignment_expression "aiStack_8dc[iVar5] = (int)piVar6" (subscript_expression "aiStack_8dc[iVar5]" identifier [ identifier ]) = (cast_expression "(int)piVar6" ( (type_descriptor "int" primitive_type) ) identifier)) ;) })) (expression_statement "pcVar11 = acStack_85d + 1;" (assignment_expression "pcVar11 = acStack_85d + 1" identifier = (binary_expression "acStack_85d + 1" identifier + number_literal)) ;) (expression_statement "get_script_line(puVar12);" (call_expression "get_script_line(puVar12)" identifier (argument_list "(puVar12)" ( identifier ))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE 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 (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 (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) )) (compound_statement { (return_statement return (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( 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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (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) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (binary_expression IDENT + LIT) + IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (binary_expression IDENT + IDENT) )) [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' character ')) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) , (binary_expression IDENT != LIT)) ))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) })) (return_statement return IDENT ;) })) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (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 (subscript_expression IDENT [ LIT ]) == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * IDENT) * LIT)) )))) & LIT) )) == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + LIT)) )) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * IDENT) , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (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 != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * IDENT) , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }))) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ IDENT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) )))) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ IDENT ]) + LIT) )))) = IDENT) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }) while (parenthesized_expression ( BOOL )) ;) })))
(function_definition "undefined1 * check_script_file_with_current_encoding(undefined4 param_1)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 *puVar3;\n  char cVar8;\n  int iVar4;\n  int iVar5;\n  int *piVar6;\n  int *piVar7;\n  undefined4 *puVar9;\n  undefined1 *puVar10;\n  char *pcVar11;\n  undefined1 *puVar12;\n  undefined *puVar13;\n  int iVar14;\n  int iVar15;\n  char *pcVar16;\n  undefined *puVar17;\n  code *pcVar18;\n  int aiStack_8dc [31];\n  char acStack_85d [1025];\n  undefined1 *puStack_45c;\n  undefined4 uStack_458;\n  undefined1 *puStack_454;\n  undefined *puStack_450;\n  undefined1 auStack_414 [1024];\n  undefined1 *local_14;\n  \n  local_14 = *(undefined1 **)PTR___stack_chk_guard_0002d45c;\n  get_script_line(param_1,auStack_414);\n  puVar13 = PTR_get_script_line_0002d240;\n  while (iVar1 = (*(code *)PTR_feof_0002d3ec)(param_1), iVar1 == 0) {\n    uVar2 = convertFromUTF8();\n    (*(code *)PTR_free_0002d46c)(uVar2);\n    get_script_line(param_1,auStack_414);\n  }\n  if (local_14 == *(undefined1 **)PTR___stack_chk_guard_0002d45c) {\n    return *(undefined1 **)PTR___stack_chk_guard_0002d45c;\n  }\n  puVar12 = auStack_414;\n  puVar17 = PTR___stack_chk_fail_0002d440;\n  (*(code *)PTR___stack_chk_fail_0002d440)();\n  puStack_45c = (undefined1 *)**(int **)(puVar17 + 0x13c9c);\n  uStack_458 = param_1;\n  puStack_454 = auStack_414;\n  puStack_450 = puVar13;\n  (**(code **)(puVar17 + 0x13c7c))();\n  **(undefined4 **)(puVar17 + 0x13b20) = 0;\n  puVar3 = *(undefined4 **)(puVar17 + 0x13b34);\n  piVar6 = aiStack_8dc;\n  puVar9 = puVar3 + 0x20;\n  do {\n    *puVar3 = 0;\n    *piVar6 = 0;\n    puVar3 = puVar3 + 1;\n    piVar6 = piVar6 + 1;\n  } while (puVar9 != puVar3);\n  pcVar11 = acStack_85d + 1;\n  get_script_line(puVar12);\n  iVar14 = *(int *)(puVar17 + 0x13a78);\n  iVar1 = *(int *)(puVar17 + 0x13a78);\n  iVar15 = *(int *)(puVar17 + 0x13a78);\n  do {\n    puVar10 = puVar12;\n    iVar5 = (**(code **)(puVar17 + 0x13c2c))(puVar12);\n    if (iVar5 != 0) {\n      if (puStack_45c != (undefined1 *)**(int **)(puVar17 + 0x13c9c)) {\n        pcVar18 = *(code **)(puVar17 + 0x13c80);\n        (*pcVar18)();\n        puVar12 = (undefined1 *)0x0;\n        iVar1 = 0;\n        iVar14 = 0;\n        iVar15 = *(int *)(pcVar18 + 0x1368c);\n        while( true ) {\n          iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2);\n          puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14);\n          if (puVar12 == (undefined1 *)0x0) {\n            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(uVar2,pcVar11);\n          }\n          if (iVar1 == 0) {\n            *puVar12 = 0;\n          }\n          (**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2);\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          puVar12[iVar1] = 10;\n          (puVar12 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          get_script_line(puVar10,pcVar11);\n          if ((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)\n             ) break;\n          iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n        }\n        return puVar12;\n      }\n      return (undefined1 *)**(int **)(puVar17 + 0x13c9c);\n    }\n    if (acStack_85d[1] == '*') {\n      piVar6 = (int *)(**(code **)(puVar17 + 0x13c48))(0x10);\n      if (piVar6 == (int *)0x0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      pcVar16 = acStack_85d + 1;\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(pcVar16);\n      pcVar11 = pcVar16 + iVar5 + -1;\n      if (pcVar11 != pcVar16) {\n        piVar7 = (int *)(**(code **)(puVar17 + 0x13b6c))();\n        iVar5 = *piVar7;\n        do {\n          if ((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0) break;\n          *pcVar11 = '\0';\n          pcVar11 = pcVar11 + -1;\n        } while (pcVar11 != acStack_85d + 1);\n      }\n      pcVar11 = acStack_85d + 3;\n      if (acStack_85d[3] != '\0') {\n        cVar8 = acStack_85d[3];\n        do {\n          if (cVar8 == ' ') {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);\n            fatal_error(uVar2,acStack_85d + 1);\n          }\n          pcVar11 = pcVar11 + 1;\n          cVar8 = *pcVar11;\n        } while (cVar8 != '\0');\n      }\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c48))(iVar5 + 1);\n      *piVar6 = iVar5;\n      if (iVar5 == 0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      (**(code **)(puVar17 + 0x13c5c))(*piVar6,acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c04))(puVar12);\n      piVar6[1] = iVar5;\n      piVar6[2] = **(int **)(puVar17 + 0x13b20);\n      piVar6[3] = 0;\n      iVar5 = hash_label(acStack_85d + 3);\n      puVar3 = *(undefined4 **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4);\n      if (puVar3 != (undefined4 *)0x0) {\n        do {\n          iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3);\n          if (iVar4 == 0) {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(uVar2,acStack_85d + 1);\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n          else {\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n        } while (puVar3 != (undefined4 *)0x0);\n      }\n      if (aiStack_8dc[iVar5] == 0) {\n        *(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4) = piVar6;\n      }\n      else {\n        *(int **)(aiStack_8dc[iVar5] + 0xc) = piVar6;\n      }\n      aiStack_8dc[iVar5] = (int)piVar6;\n    }\n    pcVar11 = acStack_85d + 1;\n    get_script_line(puVar12);\n  } while( true );\n}" (type_identifier "undefined1") (pointer_declarator "* check_script_file_with_current_encoding(undefined4 param_1)" (* "*") (function_declarator "check_script_file_with_current_encoding(undefined4 param_1)" (identifier "check_script_file_with_current_encoding") (parameter_list "(undefined4 param_1)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) () ")")))) (compound_statement "{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 *puVar3;\n  char cVar8;\n  int iVar4;\n  int iVar5;\n  int *piVar6;\n  int *piVar7;\n  undefined4 *puVar9;\n  undefined1 *puVar10;\n  char *pcVar11;\n  undefined1 *puVar12;\n  undefined *puVar13;\n  int iVar14;\n  int iVar15;\n  char *pcVar16;\n  undefined *puVar17;\n  code *pcVar18;\n  int aiStack_8dc [31];\n  char acStack_85d [1025];\n  undefined1 *puStack_45c;\n  undefined4 uStack_458;\n  undefined1 *puStack_454;\n  undefined *puStack_450;\n  undefined1 auStack_414 [1024];\n  undefined1 *local_14;\n  \n  local_14 = *(undefined1 **)PTR___stack_chk_guard_0002d45c;\n  get_script_line(param_1,auStack_414);\n  puVar13 = PTR_get_script_line_0002d240;\n  while (iVar1 = (*(code *)PTR_feof_0002d3ec)(param_1), iVar1 == 0) {\n    uVar2 = convertFromUTF8();\n    (*(code *)PTR_free_0002d46c)(uVar2);\n    get_script_line(param_1,auStack_414);\n  }\n  if (local_14 == *(undefined1 **)PTR___stack_chk_guard_0002d45c) {\n    return *(undefined1 **)PTR___stack_chk_guard_0002d45c;\n  }\n  puVar12 = auStack_414;\n  puVar17 = PTR___stack_chk_fail_0002d440;\n  (*(code *)PTR___stack_chk_fail_0002d440)();\n  puStack_45c = (undefined1 *)**(int **)(puVar17 + 0x13c9c);\n  uStack_458 = param_1;\n  puStack_454 = auStack_414;\n  puStack_450 = puVar13;\n  (**(code **)(puVar17 + 0x13c7c))();\n  **(undefined4 **)(puVar17 + 0x13b20) = 0;\n  puVar3 = *(undefined4 **)(puVar17 + 0x13b34);\n  piVar6 = aiStack_8dc;\n  puVar9 = puVar3 + 0x20;\n  do {\n    *puVar3 = 0;\n    *piVar6 = 0;\n    puVar3 = puVar3 + 1;\n    piVar6 = piVar6 + 1;\n  } while (puVar9 != puVar3);\n  pcVar11 = acStack_85d + 1;\n  get_script_line(puVar12);\n  iVar14 = *(int *)(puVar17 + 0x13a78);\n  iVar1 = *(int *)(puVar17 + 0x13a78);\n  iVar15 = *(int *)(puVar17 + 0x13a78);\n  do {\n    puVar10 = puVar12;\n    iVar5 = (**(code **)(puVar17 + 0x13c2c))(puVar12);\n    if (iVar5 != 0) {\n      if (puStack_45c != (undefined1 *)**(int **)(puVar17 + 0x13c9c)) {\n        pcVar18 = *(code **)(puVar17 + 0x13c80);\n        (*pcVar18)();\n        puVar12 = (undefined1 *)0x0;\n        iVar1 = 0;\n        iVar14 = 0;\n        iVar15 = *(int *)(pcVar18 + 0x1368c);\n        while( true ) {\n          iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2);\n          puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14);\n          if (puVar12 == (undefined1 *)0x0) {\n            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(uVar2,pcVar11);\n          }\n          if (iVar1 == 0) {\n            *puVar12 = 0;\n          }\n          (**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2);\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          puVar12[iVar1] = 10;\n          (puVar12 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          get_script_line(puVar10,pcVar11);\n          if ((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)\n             ) break;\n          iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n        }\n        return puVar12;\n      }\n      return (undefined1 *)**(int **)(puVar17 + 0x13c9c);\n    }\n    if (acStack_85d[1] == '*') {\n      piVar6 = (int *)(**(code **)(puVar17 + 0x13c48))(0x10);\n      if (piVar6 == (int *)0x0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      pcVar16 = acStack_85d + 1;\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(pcVar16);\n      pcVar11 = pcVar16 + iVar5 + -1;\n      if (pcVar11 != pcVar16) {\n        piVar7 = (int *)(**(code **)(puVar17 + 0x13b6c))();\n        iVar5 = *piVar7;\n        do {\n          if ((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0) break;\n          *pcVar11 = '\0';\n          pcVar11 = pcVar11 + -1;\n        } while (pcVar11 != acStack_85d + 1);\n      }\n      pcVar11 = acStack_85d + 3;\n      if (acStack_85d[3] != '\0') {\n        cVar8 = acStack_85d[3];\n        do {\n          if (cVar8 == ' ') {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);\n            fatal_error(uVar2,acStack_85d + 1);\n          }\n          pcVar11 = pcVar11 + 1;\n          cVar8 = *pcVar11;\n        } while (cVar8 != '\0');\n      }\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c48))(iVar5 + 1);\n      *piVar6 = iVar5;\n      if (iVar5 == 0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      (**(code **)(puVar17 + 0x13c5c))(*piVar6,acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c04))(puVar12);\n      piVar6[1] = iVar5;\n      piVar6[2] = **(int **)(puVar17 + 0x13b20);\n      piVar6[3] = 0;\n      iVar5 = hash_label(acStack_85d + 3);\n      puVar3 = *(undefined4 **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4);\n      if (puVar3 != (undefined4 *)0x0) {\n        do {\n          iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3);\n          if (iVar4 == 0) {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(uVar2,acStack_85d + 1);\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n          else {\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n        } while (puVar3 != (undefined4 *)0x0);\n      }\n      if (aiStack_8dc[iVar5] == 0) {\n        *(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4) = piVar6;\n      }\n      else {\n        *(int **)(aiStack_8dc[iVar5] + 0xc) = piVar6;\n      }\n      aiStack_8dc[iVar5] = (int)piVar6;\n    }\n    pcVar11 = acStack_85d + 1;\n    get_script_line(puVar12);\n  } while( true );\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "undefined4 *puVar3;" (type_identifier "undefined4") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "char cVar8;" (primitive_type "char") (identifier "cVar8") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "int *piVar6;" (primitive_type "int") (pointer_declarator "*piVar6" (* "*") (identifier "piVar6")) (; ";")) (declaration "int *piVar7;" (primitive_type "int") (pointer_declarator "*piVar7" (* "*") (identifier "piVar7")) (; ";")) (declaration "undefined4 *puVar9;" (type_identifier "undefined4") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "undefined1 *puVar10;" (type_identifier "undefined1") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "char *pcVar11;" (primitive_type "char") (pointer_declarator "*pcVar11" (* "*") (identifier "pcVar11")) (; ";")) (declaration "undefined1 *puVar12;" (type_identifier "undefined1") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "undefined *puVar13;" (type_identifier "undefined") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "int iVar15;" (primitive_type "int") (identifier "iVar15") (; ";")) (declaration "char *pcVar16;" (primitive_type "char") (pointer_declarator "*pcVar16" (* "*") (identifier "pcVar16")) (; ";")) (declaration "undefined *puVar17;" (type_identifier "undefined") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "code *pcVar18;" (type_identifier "code") (pointer_declarator "*pcVar18" (* "*") (identifier "pcVar18")) (; ";")) (declaration "int aiStack_8dc [31];" (primitive_type "int") (array_declarator "aiStack_8dc [31]" (identifier "aiStack_8dc") ([ "[") (number_literal "31") (] "]")) (; ";")) (declaration "char acStack_85d [1025];" (primitive_type "char") (array_declarator "acStack_85d [1025]" (identifier "acStack_85d") ([ "[") (number_literal "1025") (] "]")) (; ";")) (declaration "undefined1 *puStack_45c;" (type_identifier "undefined1") (pointer_declarator "*puStack_45c" (* "*") (identifier "puStack_45c")) (; ";")) (declaration "undefined4 uStack_458;" (type_identifier "undefined4") (identifier "uStack_458") (; ";")) (declaration "undefined1 *puStack_454;" (type_identifier "undefined1") (pointer_declarator "*puStack_454" (* "*") (identifier "puStack_454")) (; ";")) (declaration "undefined *puStack_450;" (type_identifier "undefined") (pointer_declarator "*puStack_450" (* "*") (identifier "puStack_450")) (; ";")) (declaration "undefined1 auStack_414 [1024];" (type_identifier "undefined1") (array_declarator "auStack_414 [1024]" (identifier "auStack_414") ([ "[") (number_literal "1024") (] "]")) (; ";")) (declaration "undefined1 *local_14;" (type_identifier "undefined1") (pointer_declarator "*local_14" (* "*") (identifier "local_14")) (; ";")) (expression_statement "local_14 = *(undefined1 **)PTR___stack_chk_guard_0002d45c;" (assignment_expression "local_14 = *(undefined1 **)PTR___stack_chk_guard_0002d45c" (identifier "local_14") (= "=") (pointer_expression "*(undefined1 **)PTR___stack_chk_guard_0002d45c" (* "*") (cast_expression "(undefined1 **)PTR___stack_chk_guard_0002d45c" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR___stack_chk_guard_0002d45c")))) (; ";")) (expression_statement "get_script_line(param_1,auStack_414);" (call_expression "get_script_line(param_1,auStack_414)" (identifier "get_script_line") (argument_list "(param_1,auStack_414)" (( "(") (identifier "param_1") (, ",") (identifier "auStack_414") () ")"))) (; ";")) (expression_statement "puVar13 = PTR_get_script_line_0002d240;" (assignment_expression "puVar13 = PTR_get_script_line_0002d240" (identifier "puVar13") (= "=") (identifier "PTR_get_script_line_0002d240")) (; ";")) (while_statement "while (iVar1 = (*(code *)PTR_feof_0002d3ec)(param_1), iVar1 == 0) {\n    uVar2 = convertFromUTF8();\n    (*(code *)PTR_free_0002d46c)(uVar2);\n    get_script_line(param_1,auStack_414);\n  }" (while "while") (parenthesized_expression "(iVar1 = (*(code *)PTR_feof_0002d3ec)(param_1), iVar1 == 0)" (( "(") (comma_expression "iVar1 = (*(code *)PTR_feof_0002d3ec)(param_1), iVar1 == 0" (assignment_expression "iVar1 = (*(code *)PTR_feof_0002d3ec)(param_1)" (identifier "iVar1") (= "=") (call_expression "(*(code *)PTR_feof_0002d3ec)(param_1)" (parenthesized_expression "(*(code *)PTR_feof_0002d3ec)" (( "(") (pointer_expression "*(code *)PTR_feof_0002d3ec" (* "*") (cast_expression "(code *)PTR_feof_0002d3ec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_feof_0002d3ec"))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (, ",") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n    uVar2 = convertFromUTF8();\n    (*(code *)PTR_free_0002d46c)(uVar2);\n    get_script_line(param_1,auStack_414);\n  }" ({ "{") (expression_statement "uVar2 = convertFromUTF8();" (assignment_expression "uVar2 = convertFromUTF8()" (identifier "uVar2") (= "=") (call_expression "convertFromUTF8()" (identifier "convertFromUTF8") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_free_0002d46c)(uVar2);" (call_expression "(*(code *)PTR_free_0002d46c)(uVar2)" (parenthesized_expression "(*(code *)PTR_free_0002d46c)" (( "(") (pointer_expression "*(code *)PTR_free_0002d46c" (* "*") (cast_expression "(code *)PTR_free_0002d46c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_0002d46c"))) () ")")) (argument_list "(uVar2)" (( "(") (identifier "uVar2") () ")"))) (; ";")) (expression_statement "get_script_line(param_1,auStack_414);" (call_expression "get_script_line(param_1,auStack_414)" (identifier "get_script_line") (argument_list "(param_1,auStack_414)" (( "(") (identifier "param_1") (, ",") (identifier "auStack_414") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_14 == *(undefined1 **)PTR___stack_chk_guard_0002d45c) {\n    return *(undefined1 **)PTR___stack_chk_guard_0002d45c;\n  }" (if "if") (parenthesized_expression "(local_14 == *(undefined1 **)PTR___stack_chk_guard_0002d45c)" (( "(") (binary_expression "local_14 == *(undefined1 **)PTR___stack_chk_guard_0002d45c" (identifier "local_14") (== "==") (pointer_expression "*(undefined1 **)PTR___stack_chk_guard_0002d45c" (* "*") (cast_expression "(undefined1 **)PTR___stack_chk_guard_0002d45c" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR___stack_chk_guard_0002d45c")))) () ")")) (compound_statement "{\n    return *(undefined1 **)PTR___stack_chk_guard_0002d45c;\n  }" ({ "{") (return_statement "return *(undefined1 **)PTR___stack_chk_guard_0002d45c;" (return "return") (pointer_expression "*(undefined1 **)PTR___stack_chk_guard_0002d45c" (* "*") (cast_expression "(undefined1 **)PTR___stack_chk_guard_0002d45c" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR___stack_chk_guard_0002d45c"))) (; ";")) (} "}"))) (expression_statement "puVar12 = auStack_414;" (assignment_expression "puVar12 = auStack_414" (identifier "puVar12") (= "=") (identifier "auStack_414")) (; ";")) (expression_statement "puVar17 = PTR___stack_chk_fail_0002d440;" (assignment_expression "puVar17 = PTR___stack_chk_fail_0002d440" (identifier "puVar17") (= "=") (identifier "PTR___stack_chk_fail_0002d440")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_0002d440)();" (call_expression "(*(code *)PTR___stack_chk_fail_0002d440)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0002d440)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_0002d440" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_0002d440" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_0002d440"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puStack_45c = (undefined1 *)**(int **)(puVar17 + 0x13c9c);" (assignment_expression "puStack_45c = (undefined1 *)**(int **)(puVar17 + 0x13c9c)" (identifier "puStack_45c") (= "=") (cast_expression "(undefined1 *)**(int **)(puVar17 + 0x13c9c)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(int **)(puVar17 + 0x13c9c)" (* "*") (pointer_expression "*(int **)(puVar17 + 0x13c9c)" (* "*") (cast_expression "(int **)(puVar17 + 0x13c9c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + 0x13c9c)" (( "(") (binary_expression "puVar17 + 0x13c9c" (identifier "puVar17") (+ "+") (number_literal "0x13c9c")) () ")"))))))) (; ";")) (expression_statement "uStack_458 = param_1;" (assignment_expression "uStack_458 = param_1" (identifier "uStack_458") (= "=") (identifier "param_1")) (; ";")) (expression_statement "puStack_454 = auStack_414;" (assignment_expression "puStack_454 = auStack_414" (identifier "puStack_454") (= "=") (identifier "auStack_414")) (; ";")) (expression_statement "puStack_450 = puVar13;" (assignment_expression "puStack_450 = puVar13" (identifier "puStack_450") (= "=") (identifier "puVar13")) (; ";")) (expression_statement "(**(code **)(puVar17 + 0x13c7c))();" (call_expression "(**(code **)(puVar17 + 0x13c7c))()" (parenthesized_expression "(**(code **)(puVar17 + 0x13c7c))" (( "(") (pointer_expression "**(code **)(puVar17 + 0x13c7c)" (* "*") (pointer_expression "*(code **)(puVar17 + 0x13c7c)" (* "*") (cast_expression "(code **)(puVar17 + 0x13c7c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + 0x13c7c)" (( "(") (binary_expression "puVar17 + 0x13c7c" (identifier "puVar17") (+ "+") (number_literal "0x13c7c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "**(undefined4 **)(puVar17 + 0x13b20) = 0;" (assignment_expression "**(undefined4 **)(puVar17 + 0x13b20) = 0" (pointer_expression "**(undefined4 **)(puVar17 + 0x13b20)" (* "*") (pointer_expression "*(undefined4 **)(puVar17 + 0x13b20)" (* "*") (cast_expression "(undefined4 **)(puVar17 + 0x13b20)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + 0x13b20)" (( "(") (binary_expression "puVar17 + 0x13b20" (identifier "puVar17") (+ "+") (number_literal "0x13b20")) () ")"))))) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar3 = *(undefined4 **)(puVar17 + 0x13b34);" (assignment_expression "puVar3 = *(undefined4 **)(puVar17 + 0x13b34)" (identifier "puVar3") (= "=") (pointer_expression "*(undefined4 **)(puVar17 + 0x13b34)" (* "*") (cast_expression "(undefined4 **)(puVar17 + 0x13b34)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + 0x13b34)" (( "(") (binary_expression "puVar17 + 0x13b34" (identifier "puVar17") (+ "+") (number_literal "0x13b34")) () ")"))))) (; ";")) (expression_statement "piVar6 = aiStack_8dc;" (assignment_expression "piVar6 = aiStack_8dc" (identifier "piVar6") (= "=") (identifier "aiStack_8dc")) (; ";")) (expression_statement "puVar9 = puVar3 + 0x20;" (assignment_expression "puVar9 = puVar3 + 0x20" (identifier "puVar9") (= "=") (binary_expression "puVar3 + 0x20" (identifier "puVar3") (+ "+") (number_literal "0x20"))) (; ";")) (do_statement "do {\n    *puVar3 = 0;\n    *piVar6 = 0;\n    puVar3 = puVar3 + 1;\n    piVar6 = piVar6 + 1;\n  } while (puVar9 != puVar3);" (do "do") (compound_statement "{\n    *puVar3 = 0;\n    *piVar6 = 0;\n    puVar3 = puVar3 + 1;\n    piVar6 = piVar6 + 1;\n  }" ({ "{") (expression_statement "*puVar3 = 0;" (assignment_expression "*puVar3 = 0" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*piVar6 = 0;" (assignment_expression "*piVar6 = 0" (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar3 = puVar3 + 1;" (assignment_expression "puVar3 = puVar3 + 1" (identifier "puVar3") (= "=") (binary_expression "puVar3 + 1" (identifier "puVar3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar6 = piVar6 + 1;" (assignment_expression "piVar6 = piVar6 + 1" (identifier "piVar6") (= "=") (binary_expression "piVar6 + 1" (identifier "piVar6") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar9 != puVar3)" (( "(") (binary_expression "puVar9 != puVar3" (identifier "puVar9") (!= "!=") (identifier "puVar3")) () ")")) (; ";")) (expression_statement "pcVar11 = acStack_85d + 1;" (assignment_expression "pcVar11 = acStack_85d + 1" (identifier "pcVar11") (= "=") (binary_expression "acStack_85d + 1" (identifier "acStack_85d") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "get_script_line(puVar12);" (call_expression "get_script_line(puVar12)" (identifier "get_script_line") (argument_list "(puVar12)" (( "(") (identifier "puVar12") () ")"))) (; ";")) (expression_statement "iVar14 = *(int *)(puVar17 + 0x13a78);" (assignment_expression "iVar14 = *(int *)(puVar17 + 0x13a78)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(puVar17 + 0x13a78)" (* "*") (cast_expression "(int *)(puVar17 + 0x13a78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + 0x13a78)" (( "(") (binary_expression "puVar17 + 0x13a78" (identifier "puVar17") (+ "+") (number_literal "0x13a78")) () ")"))))) (; ";")) (expression_statement "iVar1 = *(int *)(puVar17 + 0x13a78);" (assignment_expression "iVar1 = *(int *)(puVar17 + 0x13a78)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(puVar17 + 0x13a78)" (* "*") (cast_expression "(int *)(puVar17 + 0x13a78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + 0x13a78)" (( "(") (binary_expression "puVar17 + 0x13a78" (identifier "puVar17") (+ "+") (number_literal "0x13a78")) () ")"))))) (; ";")) (expression_statement "iVar15 = *(int *)(puVar17 + 0x13a78);" (assignment_expression "iVar15 = *(int *)(puVar17 + 0x13a78)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(puVar17 + 0x13a78)" (* "*") (cast_expression "(int *)(puVar17 + 0x13a78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + 0x13a78)" (( "(") (binary_expression "puVar17 + 0x13a78" (identifier "puVar17") (+ "+") (number_literal "0x13a78")) () ")"))))) (; ";")) (do_statement "do {\n    puVar10 = puVar12;\n    iVar5 = (**(code **)(puVar17 + 0x13c2c))(puVar12);\n    if (iVar5 != 0) {\n      if (puStack_45c != (undefined1 *)**(int **)(puVar17 + 0x13c9c)) {\n        pcVar18 = *(code **)(puVar17 + 0x13c80);\n        (*pcVar18)();\n        puVar12 = (undefined1 *)0x0;\n        iVar1 = 0;\n        iVar14 = 0;\n        iVar15 = *(int *)(pcVar18 + 0x1368c);\n        while( true ) {\n          iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2);\n          puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14);\n          if (puVar12 == (undefined1 *)0x0) {\n            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(uVar2,pcVar11);\n          }\n          if (iVar1 == 0) {\n            *puVar12 = 0;\n          }\n          (**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2);\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          puVar12[iVar1] = 10;\n          (puVar12 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          get_script_line(puVar10,pcVar11);\n          if ((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)\n             ) break;\n          iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n        }\n        return puVar12;\n      }\n      return (undefined1 *)**(int **)(puVar17 + 0x13c9c);\n    }\n    if (acStack_85d[1] == '*') {\n      piVar6 = (int *)(**(code **)(puVar17 + 0x13c48))(0x10);\n      if (piVar6 == (int *)0x0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      pcVar16 = acStack_85d + 1;\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(pcVar16);\n      pcVar11 = pcVar16 + iVar5 + -1;\n      if (pcVar11 != pcVar16) {\n        piVar7 = (int *)(**(code **)(puVar17 + 0x13b6c))();\n        iVar5 = *piVar7;\n        do {\n          if ((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0) break;\n          *pcVar11 = '\0';\n          pcVar11 = pcVar11 + -1;\n        } while (pcVar11 != acStack_85d + 1);\n      }\n      pcVar11 = acStack_85d + 3;\n      if (acStack_85d[3] != '\0') {\n        cVar8 = acStack_85d[3];\n        do {\n          if (cVar8 == ' ') {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);\n            fatal_error(uVar2,acStack_85d + 1);\n          }\n          pcVar11 = pcVar11 + 1;\n          cVar8 = *pcVar11;\n        } while (cVar8 != '\0');\n      }\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c48))(iVar5 + 1);\n      *piVar6 = iVar5;\n      if (iVar5 == 0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      (**(code **)(puVar17 + 0x13c5c))(*piVar6,acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c04))(puVar12);\n      piVar6[1] = iVar5;\n      piVar6[2] = **(int **)(puVar17 + 0x13b20);\n      piVar6[3] = 0;\n      iVar5 = hash_label(acStack_85d + 3);\n      puVar3 = *(undefined4 **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4);\n      if (puVar3 != (undefined4 *)0x0) {\n        do {\n          iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3);\n          if (iVar4 == 0) {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(uVar2,acStack_85d + 1);\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n          else {\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n        } while (puVar3 != (undefined4 *)0x0);\n      }\n      if (aiStack_8dc[iVar5] == 0) {\n        *(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4) = piVar6;\n      }\n      else {\n        *(int **)(aiStack_8dc[iVar5] + 0xc) = piVar6;\n      }\n      aiStack_8dc[iVar5] = (int)piVar6;\n    }\n    pcVar11 = acStack_85d + 1;\n    get_script_line(puVar12);\n  } while( true );" (do "do") (compound_statement "{\n    puVar10 = puVar12;\n    iVar5 = (**(code **)(puVar17 + 0x13c2c))(puVar12);\n    if (iVar5 != 0) {\n      if (puStack_45c != (undefined1 *)**(int **)(puVar17 + 0x13c9c)) {\n        pcVar18 = *(code **)(puVar17 + 0x13c80);\n        (*pcVar18)();\n        puVar12 = (undefined1 *)0x0;\n        iVar1 = 0;\n        iVar14 = 0;\n        iVar15 = *(int *)(pcVar18 + 0x1368c);\n        while( true ) {\n          iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2);\n          puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14);\n          if (puVar12 == (undefined1 *)0x0) {\n            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(uVar2,pcVar11);\n          }\n          if (iVar1 == 0) {\n            *puVar12 = 0;\n          }\n          (**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2);\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          puVar12[iVar1] = 10;\n          (puVar12 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          get_script_line(puVar10,pcVar11);\n          if ((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)\n             ) break;\n          iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n        }\n        return puVar12;\n      }\n      return (undefined1 *)**(int **)(puVar17 + 0x13c9c);\n    }\n    if (acStack_85d[1] == '*') {\n      piVar6 = (int *)(**(code **)(puVar17 + 0x13c48))(0x10);\n      if (piVar6 == (int *)0x0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      pcVar16 = acStack_85d + 1;\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(pcVar16);\n      pcVar11 = pcVar16 + iVar5 + -1;\n      if (pcVar11 != pcVar16) {\n        piVar7 = (int *)(**(code **)(puVar17 + 0x13b6c))();\n        iVar5 = *piVar7;\n        do {\n          if ((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0) break;\n          *pcVar11 = '\0';\n          pcVar11 = pcVar11 + -1;\n        } while (pcVar11 != acStack_85d + 1);\n      }\n      pcVar11 = acStack_85d + 3;\n      if (acStack_85d[3] != '\0') {\n        cVar8 = acStack_85d[3];\n        do {\n          if (cVar8 == ' ') {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);\n            fatal_error(uVar2,acStack_85d + 1);\n          }\n          pcVar11 = pcVar11 + 1;\n          cVar8 = *pcVar11;\n        } while (cVar8 != '\0');\n      }\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c48))(iVar5 + 1);\n      *piVar6 = iVar5;\n      if (iVar5 == 0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      (**(code **)(puVar17 + 0x13c5c))(*piVar6,acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c04))(puVar12);\n      piVar6[1] = iVar5;\n      piVar6[2] = **(int **)(puVar17 + 0x13b20);\n      piVar6[3] = 0;\n      iVar5 = hash_label(acStack_85d + 3);\n      puVar3 = *(undefined4 **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4);\n      if (puVar3 != (undefined4 *)0x0) {\n        do {\n          iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3);\n          if (iVar4 == 0) {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(uVar2,acStack_85d + 1);\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n          else {\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n        } while (puVar3 != (undefined4 *)0x0);\n      }\n      if (aiStack_8dc[iVar5] == 0) {\n        *(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4) = piVar6;\n      }\n      else {\n        *(int **)(aiStack_8dc[iVar5] + 0xc) = piVar6;\n      }\n      aiStack_8dc[iVar5] = (int)piVar6;\n    }\n    pcVar11 = acStack_85d + 1;\n    get_script_line(puVar12);\n  }" ({ "{") (expression_statement "puVar10 = puVar12;" (assignment_expression "puVar10 = puVar12" (identifier "puVar10") (= "=") (identifier "puVar12")) (; ";")) (expression_statement "iVar5 = (**(code **)(puVar17 + 0x13c2c))(puVar12);" (assignment_expression "iVar5 = (**(code **)(puVar17 + 0x13c2c))(puVar12)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(puVar17 + 0x13c2c))(puVar12)" (parenthesized_expression "(**(code **)(puVar17 + 0x13c2c))" (( "(") (pointer_expression "**(code **)(puVar17 + 0x13c2c)" (* "*") (pointer_expression "*(code **)(puVar17 + 0x13c2c)" (* "*") (cast_expression "(code **)(puVar17 + 0x13c2c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + 0x13c2c)" (( "(") (binary_expression "puVar17 + 0x13c2c" (identifier "puVar17") (+ "+") (number_literal "0x13c2c")) () ")"))))) () ")")) (argument_list "(puVar12)" (( "(") (identifier "puVar12") () ")")))) (; ";")) (if_statement "if (iVar5 != 0) {\n      if (puStack_45c != (undefined1 *)**(int **)(puVar17 + 0x13c9c)) {\n        pcVar18 = *(code **)(puVar17 + 0x13c80);\n        (*pcVar18)();\n        puVar12 = (undefined1 *)0x0;\n        iVar1 = 0;\n        iVar14 = 0;\n        iVar15 = *(int *)(pcVar18 + 0x1368c);\n        while( true ) {\n          iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2);\n          puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14);\n          if (puVar12 == (undefined1 *)0x0) {\n            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(uVar2,pcVar11);\n          }\n          if (iVar1 == 0) {\n            *puVar12 = 0;\n          }\n          (**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2);\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          puVar12[iVar1] = 10;\n          (puVar12 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          get_script_line(puVar10,pcVar11);\n          if ((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)\n             ) break;\n          iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n        }\n        return puVar12;\n      }\n      return (undefined1 *)**(int **)(puVar17 + 0x13c9c);\n    }" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      if (puStack_45c != (undefined1 *)**(int **)(puVar17 + 0x13c9c)) {\n        pcVar18 = *(code **)(puVar17 + 0x13c80);\n        (*pcVar18)();\n        puVar12 = (undefined1 *)0x0;\n        iVar1 = 0;\n        iVar14 = 0;\n        iVar15 = *(int *)(pcVar18 + 0x1368c);\n        while( true ) {\n          iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2);\n          puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14);\n          if (puVar12 == (undefined1 *)0x0) {\n            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(uVar2,pcVar11);\n          }\n          if (iVar1 == 0) {\n            *puVar12 = 0;\n          }\n          (**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2);\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          puVar12[iVar1] = 10;\n          (puVar12 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          get_script_line(puVar10,pcVar11);\n          if ((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)\n             ) break;\n          iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n        }\n        return puVar12;\n      }\n      return (undefined1 *)**(int **)(puVar17 + 0x13c9c);\n    }" ({ "{") (if_statement "if (puStack_45c != (undefined1 *)**(int **)(puVar17 + 0x13c9c)) {\n        pcVar18 = *(code **)(puVar17 + 0x13c80);\n        (*pcVar18)();\n        puVar12 = (undefined1 *)0x0;\n        iVar1 = 0;\n        iVar14 = 0;\n        iVar15 = *(int *)(pcVar18 + 0x1368c);\n        while( true ) {\n          iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2);\n          puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14);\n          if (puVar12 == (undefined1 *)0x0) {\n            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(uVar2,pcVar11);\n          }\n          if (iVar1 == 0) {\n            *puVar12 = 0;\n          }\n          (**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2);\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          puVar12[iVar1] = 10;\n          (puVar12 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          get_script_line(puVar10,pcVar11);\n          if ((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)\n             ) break;\n          iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n        }\n        return puVar12;\n      }" (if "if") (parenthesized_expression "(puStack_45c != (undefined1 *)**(int **)(puVar17 + 0x13c9c))" (( "(") (binary_expression "puStack_45c != (undefined1 *)**(int **)(puVar17 + 0x13c9c)" (identifier "puStack_45c") (!= "!=") (cast_expression "(undefined1 *)**(int **)(puVar17 + 0x13c9c)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(int **)(puVar17 + 0x13c9c)" (* "*") (pointer_expression "*(int **)(puVar17 + 0x13c9c)" (* "*") (cast_expression "(int **)(puVar17 + 0x13c9c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + 0x13c9c)" (( "(") (binary_expression "puVar17 + 0x13c9c" (identifier "puVar17") (+ "+") (number_literal "0x13c9c")) () ")"))))))) () ")")) (compound_statement "{\n        pcVar18 = *(code **)(puVar17 + 0x13c80);\n        (*pcVar18)();\n        puVar12 = (undefined1 *)0x0;\n        iVar1 = 0;\n        iVar14 = 0;\n        iVar15 = *(int *)(pcVar18 + 0x1368c);\n        while( true ) {\n          iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2);\n          puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14);\n          if (puVar12 == (undefined1 *)0x0) {\n            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(uVar2,pcVar11);\n          }\n          if (iVar1 == 0) {\n            *puVar12 = 0;\n          }\n          (**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2);\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          puVar12[iVar1] = 10;\n          (puVar12 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          get_script_line(puVar10,pcVar11);\n          if ((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)\n             ) break;\n          iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n        }\n        return puVar12;\n      }" ({ "{") (expression_statement "pcVar18 = *(code **)(puVar17 + 0x13c80);" (assignment_expression "pcVar18 = *(code **)(puVar17 + 0x13c80)" (identifier "pcVar18") (= "=") (pointer_expression "*(code **)(puVar17 + 0x13c80)" (* "*") (cast_expression "(code **)(puVar17 + 0x13c80)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + 0x13c80)" (( "(") (binary_expression "puVar17 + 0x13c80" (identifier "puVar17") (+ "+") (number_literal "0x13c80")) () ")"))))) (; ";")) (expression_statement "(*pcVar18)();" (call_expression "(*pcVar18)()" (parenthesized_expression "(*pcVar18)" (( "(") (pointer_expression "*pcVar18" (* "*") (identifier "pcVar18")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar12 = (undefined1 *)0x0;" (assignment_expression "puVar12 = (undefined1 *)0x0" (identifier "puVar12") (= "=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" (identifier "iVar1") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" (identifier "iVar14") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar15 = *(int *)(pcVar18 + 0x1368c);" (assignment_expression "iVar15 = *(int *)(pcVar18 + 0x1368c)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(pcVar18 + 0x1368c)" (* "*") (cast_expression "(int *)(pcVar18 + 0x1368c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar18 + 0x1368c)" (( "(") (binary_expression "pcVar18 + 0x1368c" (identifier "pcVar18") (+ "+") (number_literal "0x1368c")) () ")"))))) (; ";")) (while_statement "while( true ) {\n          iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2);\n          puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14);\n          if (puVar12 == (undefined1 *)0x0) {\n            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(uVar2,pcVar11);\n          }\n          if (iVar1 == 0) {\n            *puVar12 = 0;\n          }\n          (**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2);\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          puVar12[iVar1] = 10;\n          (puVar12 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          get_script_line(puVar10,pcVar11);\n          if ((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)\n             ) break;\n          iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n        }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n          iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2);\n          puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14);\n          if (puVar12 == (undefined1 *)0x0) {\n            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(uVar2,pcVar11);\n          }\n          if (iVar1 == 0) {\n            *puVar12 = 0;\n          }\n          (**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2);\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          puVar12[iVar1] = 10;\n          (puVar12 + iVar1)[1] = 0;\n          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n          get_script_line(puVar10,pcVar11);\n          if ((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)\n             ) break;\n          iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12);\n        }" ({ "{") (expression_statement "iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2);" (assignment_expression "iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcVar18 + 0x13834))(pcVar11 + 2)" (parenthesized_expression "(**(code **)(pcVar18 + 0x13834))" (( "(") (pointer_expression "**(code **)(pcVar18 + 0x13834)" (* "*") (pointer_expression "*(code **)(pcVar18 + 0x13834)" (* "*") (cast_expression "(code **)(pcVar18 + 0x13834)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar18 + 0x13834)" (( "(") (binary_expression "pcVar18 + 0x13834" (identifier "pcVar18") (+ "+") (number_literal "0x13834")) () ")"))))) () ")")) (argument_list "(pcVar11 + 2)" (( "(") (binary_expression "pcVar11 + 2" (identifier "pcVar11") (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14);" (assignment_expression "puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14)" (identifier "puVar12") (= "=") (cast_expression "(undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14)" (parenthesized_expression "(**(code **)(pcVar18 + 0x13860))" (( "(") (pointer_expression "**(code **)(pcVar18 + 0x13860)" (* "*") (pointer_expression "*(code **)(pcVar18 + 0x13860)" (* "*") (cast_expression "(code **)(pcVar18 + 0x13860)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar18 + 0x13860)" (( "(") (binary_expression "pcVar18 + 0x13860" (identifier "pcVar18") (+ "+") (number_literal "0x13860")) () ")"))))) () ")")) (argument_list "(puVar12,iVar5 + 2 + iVar14)" (( "(") (identifier "puVar12") (, ",") (binary_expression "iVar5 + 2 + iVar14" (binary_expression "iVar5 + 2" (identifier "iVar5") (+ "+") (number_literal "2")) (+ "+") (identifier "iVar14")) () ")"))))) (; ";")) (if_statement "if (puVar12 == (undefined1 *)0x0) {\n            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(uVar2,pcVar11);\n          }" (if "if") (parenthesized_expression "(puVar12 == (undefined1 *)0x0)" (( "(") (binary_expression "puVar12 == (undefined1 *)0x0" (identifier "puVar12") (== "==") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);\n            fatal_error(uVar2,pcVar11);\n          }" ({ "{") (expression_statement "uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);" (assignment_expression "uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5)" (identifier "uVar2") (= "=") (call_expression "(**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5)" (parenthesized_expression "(**(code **)(pcVar18 + 0x13898))" (( "(") (pointer_expression "**(code **)(pcVar18 + 0x13898)" (* "*") (pointer_expression "*(code **)(pcVar18 + 0x13898)" (* "*") (cast_expression "(code **)(pcVar18 + 0x13898)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar18 + 0x13898)" (( "(") (binary_expression "pcVar18 + 0x13898" (identifier "pcVar18") (+ "+") (number_literal "0x13898")) () ")"))))) () ")")) (argument_list "(0,iVar15 + -0x4d20,5)" (( "(") (number_literal "0") (, ",") (binary_expression "iVar15 + -0x4d20" (identifier "iVar15") (+ "+") (number_literal "-0x4d20")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "fatal_error(uVar2,pcVar11);" (call_expression "fatal_error(uVar2,pcVar11)" (identifier "fatal_error") (argument_list "(uVar2,pcVar11)" (( "(") (identifier "uVar2") (, ",") (identifier "pcVar11") () ")"))) (; ";")) (} "}"))) (if_statement "if (iVar1 == 0) {\n            *puVar12 = 0;\n          }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            *puVar12 = 0;\n          }" ({ "{") (expression_statement "*puVar12 = 0;" (assignment_expression "*puVar12 = 0" (pointer_expression "*puVar12" (* "*") (identifier "puVar12")) (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2);" (call_expression "(**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2)" (parenthesized_expression "(**(code **)(pcVar18 + 0x13878))" (( "(") (pointer_expression "**(code **)(pcVar18 + 0x13878)" (* "*") (pointer_expression "*(code **)(pcVar18 + 0x13878)" (* "*") (cast_expression "(code **)(pcVar18 + 0x13878)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar18 + 0x13878)" (( "(") (binary_expression "pcVar18 + 0x13878" (identifier "pcVar18") (+ "+") (number_literal "0x13878")) () ")"))))) () ")")) (argument_list "(puVar12,pcVar11 + 2)" (( "(") (identifier "puVar12") (, ",") (binary_expression "pcVar11 + 2" (identifier "pcVar11") (+ "+") (number_literal "2")) () ")"))) (; ";")) (expression_statement "iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);" (assignment_expression "iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12)" (identifier "iVar1") (= "=") (call_expression "(**(code **)(pcVar18 + 0x13834))(puVar12)" (parenthesized_expression "(**(code **)(pcVar18 + 0x13834))" (( "(") (pointer_expression "**(code **)(pcVar18 + 0x13834)" (* "*") (pointer_expression "*(code **)(pcVar18 + 0x13834)" (* "*") (cast_expression "(code **)(pcVar18 + 0x13834)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar18 + 0x13834)" (( "(") (binary_expression "pcVar18 + 0x13834" (identifier "pcVar18") (+ "+") (number_literal "0x13834")) () ")"))))) () ")")) (argument_list "(puVar12)" (( "(") (identifier "puVar12") () ")")))) (; ";")) (expression_statement "puVar12[iVar1] = 10;" (assignment_expression "puVar12[iVar1] = 10" (subscript_expression "puVar12[iVar1]" (identifier "puVar12") ([ "[") (identifier "iVar1") (] "]")) (= "=") (number_literal "10")) (; ";")) (expression_statement "(puVar12 + iVar1)[1] = 0;" (assignment_expression "(puVar12 + iVar1)[1] = 0" (subscript_expression "(puVar12 + iVar1)[1]" (parenthesized_expression "(puVar12 + iVar1)" (( "(") (binary_expression "puVar12 + iVar1" (identifier "puVar12") (+ "+") (identifier "iVar1")) () ")")) ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);" (assignment_expression "iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12)" (identifier "iVar1") (= "=") (call_expression "(**(code **)(pcVar18 + 0x13834))(puVar12)" (parenthesized_expression "(**(code **)(pcVar18 + 0x13834))" (( "(") (pointer_expression "**(code **)(pcVar18 + 0x13834)" (* "*") (pointer_expression "*(code **)(pcVar18 + 0x13834)" (* "*") (cast_expression "(code **)(pcVar18 + 0x13834)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar18 + 0x13834)" (( "(") (binary_expression "pcVar18 + 0x13834" (identifier "pcVar18") (+ "+") (number_literal "0x13834")) () ")"))))) () ")")) (argument_list "(puVar12)" (( "(") (identifier "puVar12") () ")")))) (; ";")) (expression_statement "get_script_line(puVar10,pcVar11);" (call_expression "get_script_line(puVar10,pcVar11)" (identifier "get_script_line") (argument_list "(puVar10,pcVar11)" (( "(") (identifier "puVar10") (, ",") (identifier "pcVar11") () ")"))) (; ";")) (if_statement "if ((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)\n             ) break;" (if "if") (parenthesized_expression "((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)\n             )" (( "(") (binary_expression "(*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)" (parenthesized_expression "(*pcVar11 != ' ')" (( "(") (binary_expression "*pcVar11 != ' '" (pointer_expression "*pcVar11" (* "*") (identifier "pcVar11")) (!= "!=") (char_literal "' '" (' "'") (character " ") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)" (( "(") (comma_expression "iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0" (assignment_expression "iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10)" (identifier "iVar14") (= "=") (call_expression "(**(code **)(pcVar18 + 0x13840))(puVar10)" (parenthesized_expression "(**(code **)(pcVar18 + 0x13840))" (( "(") (pointer_expression "**(code **)(pcVar18 + 0x13840)" (* "*") (pointer_expression "*(code **)(pcVar18 + 0x13840)" (* "*") (cast_expression "(code **)(pcVar18 + 0x13840)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar18 + 0x13840)" (( "(") (binary_expression "pcVar18 + 0x13840" (identifier "pcVar18") (+ "+") (number_literal "0x13840")) () ")"))))) () ")")) (argument_list "(puVar10)" (( "(") (identifier "puVar10") () ")")))) (, ",") (binary_expression "iVar14 != 0" (identifier "iVar14") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12);" (assignment_expression "iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12)" (identifier "iVar14") (= "=") (call_expression "(**(code **)(pcVar18 + 0x13834))(puVar12)" (parenthesized_expression "(**(code **)(pcVar18 + 0x13834))" (( "(") (pointer_expression "**(code **)(pcVar18 + 0x13834)" (* "*") (pointer_expression "*(code **)(pcVar18 + 0x13834)" (* "*") (cast_expression "(code **)(pcVar18 + 0x13834)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar18 + 0x13834)" (( "(") (binary_expression "pcVar18 + 0x13834" (identifier "pcVar18") (+ "+") (number_literal "0x13834")) () ")"))))) () ")")) (argument_list "(puVar12)" (( "(") (identifier "puVar12") () ")")))) (; ";")) (} "}"))) (return_statement "return puVar12;" (return "return") (identifier "puVar12") (; ";")) (} "}"))) (return_statement "return (undefined1 *)**(int **)(puVar17 + 0x13c9c);" (return "return") (cast_expression "(undefined1 *)**(int **)(puVar17 + 0x13c9c)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(int **)(puVar17 + 0x13c9c)" (* "*") (pointer_expression "*(int **)(puVar17 + 0x13c9c)" (* "*") (cast_expression "(int **)(puVar17 + 0x13c9c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + 0x13c9c)" (( "(") (binary_expression "puVar17 + 0x13c9c" (identifier "puVar17") (+ "+") (number_literal "0x13c9c")) () ")")))))) (; ";")) (} "}"))) (if_statement "if (acStack_85d[1] == '*') {\n      piVar6 = (int *)(**(code **)(puVar17 + 0x13c48))(0x10);\n      if (piVar6 == (int *)0x0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      pcVar16 = acStack_85d + 1;\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(pcVar16);\n      pcVar11 = pcVar16 + iVar5 + -1;\n      if (pcVar11 != pcVar16) {\n        piVar7 = (int *)(**(code **)(puVar17 + 0x13b6c))();\n        iVar5 = *piVar7;\n        do {\n          if ((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0) break;\n          *pcVar11 = '\0';\n          pcVar11 = pcVar11 + -1;\n        } while (pcVar11 != acStack_85d + 1);\n      }\n      pcVar11 = acStack_85d + 3;\n      if (acStack_85d[3] != '\0') {\n        cVar8 = acStack_85d[3];\n        do {\n          if (cVar8 == ' ') {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);\n            fatal_error(uVar2,acStack_85d + 1);\n          }\n          pcVar11 = pcVar11 + 1;\n          cVar8 = *pcVar11;\n        } while (cVar8 != '\0');\n      }\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c48))(iVar5 + 1);\n      *piVar6 = iVar5;\n      if (iVar5 == 0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      (**(code **)(puVar17 + 0x13c5c))(*piVar6,acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c04))(puVar12);\n      piVar6[1] = iVar5;\n      piVar6[2] = **(int **)(puVar17 + 0x13b20);\n      piVar6[3] = 0;\n      iVar5 = hash_label(acStack_85d + 3);\n      puVar3 = *(undefined4 **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4);\n      if (puVar3 != (undefined4 *)0x0) {\n        do {\n          iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3);\n          if (iVar4 == 0) {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(uVar2,acStack_85d + 1);\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n          else {\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n        } while (puVar3 != (undefined4 *)0x0);\n      }\n      if (aiStack_8dc[iVar5] == 0) {\n        *(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4) = piVar6;\n      }\n      else {\n        *(int **)(aiStack_8dc[iVar5] + 0xc) = piVar6;\n      }\n      aiStack_8dc[iVar5] = (int)piVar6;\n    }" (if "if") (parenthesized_expression "(acStack_85d[1] == '*')" (( "(") (binary_expression "acStack_85d[1] == '*'" (subscript_expression "acStack_85d[1]" (identifier "acStack_85d") ([ "[") (number_literal "1") (] "]")) (== "==") (char_literal "'*'" (' "'") (character "*") (' "'"))) () ")")) (compound_statement "{\n      piVar6 = (int *)(**(code **)(puVar17 + 0x13c48))(0x10);\n      if (piVar6 == (int *)0x0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      pcVar16 = acStack_85d + 1;\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(pcVar16);\n      pcVar11 = pcVar16 + iVar5 + -1;\n      if (pcVar11 != pcVar16) {\n        piVar7 = (int *)(**(code **)(puVar17 + 0x13b6c))();\n        iVar5 = *piVar7;\n        do {\n          if ((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0) break;\n          *pcVar11 = '\0';\n          pcVar11 = pcVar11 + -1;\n        } while (pcVar11 != acStack_85d + 1);\n      }\n      pcVar11 = acStack_85d + 3;\n      if (acStack_85d[3] != '\0') {\n        cVar8 = acStack_85d[3];\n        do {\n          if (cVar8 == ' ') {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);\n            fatal_error(uVar2,acStack_85d + 1);\n          }\n          pcVar11 = pcVar11 + 1;\n          cVar8 = *pcVar11;\n        } while (cVar8 != '\0');\n      }\n      iVar5 = (**(code **)(puVar17 + 0x13c20))(acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c48))(iVar5 + 1);\n      *piVar6 = iVar5;\n      if (iVar5 == 0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }\n      (**(code **)(puVar17 + 0x13c5c))(*piVar6,acStack_85d + 3);\n      iVar5 = (**(code **)(puVar17 + 0x13c04))(puVar12);\n      piVar6[1] = iVar5;\n      piVar6[2] = **(int **)(puVar17 + 0x13b20);\n      piVar6[3] = 0;\n      iVar5 = hash_label(acStack_85d + 3);\n      puVar3 = *(undefined4 **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4);\n      if (puVar3 != (undefined4 *)0x0) {\n        do {\n          iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3);\n          if (iVar4 == 0) {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(uVar2,acStack_85d + 1);\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n          else {\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n        } while (puVar3 != (undefined4 *)0x0);\n      }\n      if (aiStack_8dc[iVar5] == 0) {\n        *(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4) = piVar6;\n      }\n      else {\n        *(int **)(aiStack_8dc[iVar5] + 0xc) = piVar6;\n      }\n      aiStack_8dc[iVar5] = (int)piVar6;\n    }" ({ "{") (expression_statement "piVar6 = (int *)(**(code **)(puVar17 + 0x13c48))(0x10);" (assignment_expression "piVar6 = (int *)(**(code **)(puVar17 + 0x13c48))(0x10)" (identifier "piVar6") (= "=") (cast_expression "(int *)(**(code **)(puVar17 + 0x13c48))(0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar17 + 0x13c48))(0x10)" (parenthesized_expression "(**(code **)(puVar17 + 0x13c48))" (( "(") (pointer_expression "**(code **)(puVar17 + 0x13c48)" (* "*") (pointer_expression "*(code **)(puVar17 + 0x13c48)" (* "*") (cast_expression "(code **)(puVar17 + 0x13c48)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + 0x13c48)" (( "(") (binary_expression "puVar17 + 0x13c48" (identifier "puVar17") (+ "+") (number_literal "0x13c48")) () ")"))))) () ")")) (argument_list "(0x10)" (( "(") (number_literal "0x10") () ")"))))) (; ";")) (if_statement "if (piVar6 == (int *)0x0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }" (if "if") (parenthesized_expression "(piVar6 == (int *)0x0)" (( "(") (binary_expression "piVar6 == (int *)0x0" (identifier "piVar6") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }" ({ "{") (expression_statement "uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);" (assignment_expression "uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5)" (identifier "uVar2") (= "=") (call_expression "(**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5)" (parenthesized_expression "(**(code **)(puVar17 + 0x13c84))" (( "(") (pointer_expression "**(code **)(puVar17 + 0x13c84)" (* "*") (pointer_expression "*(code **)(puVar17 + 0x13c84)" (* "*") (cast_expression "(code **)(puVar17 + 0x13c84)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + 0x13c84)" (( "(") (binary_expression "puVar17 + 0x13c84" (identifier "puVar17") (+ "+") (number_literal "0x13c84")) () ")"))))) () ")")) (argument_list "(0,iVar15 + -0x4d20,5)" (( "(") (number_literal "0") (, ",") (binary_expression "iVar15 + -0x4d20" (identifier "iVar15") (+ "+") (number_literal "-0x4d20")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "fatal_error(uVar2,acStack_85d + 1);" (call_expression "fatal_error(uVar2,acStack_85d + 1)" (identifier "fatal_error") (argument_list "(uVar2,acStack_85d + 1)" (( "(") (identifier "uVar2") (, ",") (binary_expression "acStack_85d + 1" (identifier "acStack_85d") (+ "+") (number_literal "1")) () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar16 = acStack_85d + 1;" (assignment_expression "pcVar16 = acStack_85d + 1" (identifier "pcVar16") (= "=") (binary_expression "acStack_85d + 1" (identifier "acStack_85d") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar5 = (**(code **)(puVar17 + 0x13c20))(pcVar16);" (assignment_expression "iVar5 = (**(code **)(puVar17 + 0x13c20))(pcVar16)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(puVar17 + 0x13c20))(pcVar16)" (parenthesized_expression "(**(code **)(puVar17 + 0x13c20))" (( "(") (pointer_expression "**(code **)(puVar17 + 0x13c20)" (* "*") (pointer_expression "*(code **)(puVar17 + 0x13c20)" (* "*") (cast_expression "(code **)(puVar17 + 0x13c20)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + 0x13c20)" (( "(") (binary_expression "puVar17 + 0x13c20" (identifier "puVar17") (+ "+") (number_literal "0x13c20")) () ")"))))) () ")")) (argument_list "(pcVar16)" (( "(") (identifier "pcVar16") () ")")))) (; ";")) (expression_statement "pcVar11 = pcVar16 + iVar5 + -1;" (assignment_expression "pcVar11 = pcVar16 + iVar5 + -1" (identifier "pcVar11") (= "=") (binary_expression "pcVar16 + iVar5 + -1" (binary_expression "pcVar16 + iVar5" (identifier "pcVar16") (+ "+") (identifier "iVar5")) (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (pcVar11 != pcVar16) {\n        piVar7 = (int *)(**(code **)(puVar17 + 0x13b6c))();\n        iVar5 = *piVar7;\n        do {\n          if ((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0) break;\n          *pcVar11 = '\0';\n          pcVar11 = pcVar11 + -1;\n        } while (pcVar11 != acStack_85d + 1);\n      }" (if "if") (parenthesized_expression "(pcVar11 != pcVar16)" (( "(") (binary_expression "pcVar11 != pcVar16" (identifier "pcVar11") (!= "!=") (identifier "pcVar16")) () ")")) (compound_statement "{\n        piVar7 = (int *)(**(code **)(puVar17 + 0x13b6c))();\n        iVar5 = *piVar7;\n        do {\n          if ((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0) break;\n          *pcVar11 = '\0';\n          pcVar11 = pcVar11 + -1;\n        } while (pcVar11 != acStack_85d + 1);\n      }" ({ "{") (expression_statement "piVar7 = (int *)(**(code **)(puVar17 + 0x13b6c))();" (assignment_expression "piVar7 = (int *)(**(code **)(puVar17 + 0x13b6c))()" (identifier "piVar7") (= "=") (cast_expression "(int *)(**(code **)(puVar17 + 0x13b6c))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar17 + 0x13b6c))()" (parenthesized_expression "(**(code **)(puVar17 + 0x13b6c))" (( "(") (pointer_expression "**(code **)(puVar17 + 0x13b6c)" (* "*") (pointer_expression "*(code **)(puVar17 + 0x13b6c)" (* "*") (cast_expression "(code **)(puVar17 + 0x13b6c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + 0x13b6c)" (( "(") (binary_expression "puVar17 + 0x13b6c" (identifier "puVar17") (+ "+") (number_literal "0x13b6c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "iVar5 = *piVar7;" (assignment_expression "iVar5 = *piVar7" (identifier "iVar5") (= "=") (pointer_expression "*piVar7" (* "*") (identifier "piVar7"))) (; ";")) (do_statement "do {\n          if ((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0) break;\n          *pcVar11 = '\0';\n          pcVar11 = pcVar11 + -1;\n        } while (pcVar11 != acStack_85d + 1);" (do "do") (compound_statement "{\n          if ((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0) break;\n          *pcVar11 = '\0';\n          pcVar11 = pcVar11 + -1;\n        }" ({ "{") (if_statement "if ((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0) break;" (if "if") (parenthesized_expression "((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0)" (( "(") (binary_expression "(*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0" (parenthesized_expression "(*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20)" (( "(") (binary_expression "*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20" (pointer_expression "*(ushort *)(iVar5 + *pcVar11 * 2)" (* "*") (cast_expression "(ushort *)(iVar5 + *pcVar11 * 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + *pcVar11 * 2)" (( "(") (binary_expression "iVar5 + *pcVar11 * 2" (identifier "iVar5") (+ "+") (binary_expression "*pcVar11 * 2" (pointer_expression "*pcVar11" (* "*") (identifier "pcVar11")) (* "*") (number_literal "2"))) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "*pcVar11 = '\0';" (assignment_expression "*pcVar11 = '\0'" (pointer_expression "*pcVar11" (* "*") (identifier "pcVar11")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar11 = pcVar11 + -1;" (assignment_expression "pcVar11 = pcVar11 + -1" (identifier "pcVar11") (= "=") (binary_expression "pcVar11 + -1" (identifier "pcVar11") (+ "+") (number_literal "-1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pcVar11 != acStack_85d + 1)" (( "(") (binary_expression "pcVar11 != acStack_85d + 1" (identifier "pcVar11") (!= "!=") (binary_expression "acStack_85d + 1" (identifier "acStack_85d") (+ "+") (number_literal "1"))) () ")")) (; ";")) (} "}"))) (expression_statement "pcVar11 = acStack_85d + 3;" (assignment_expression "pcVar11 = acStack_85d + 3" (identifier "pcVar11") (= "=") (binary_expression "acStack_85d + 3" (identifier "acStack_85d") (+ "+") (number_literal "3"))) (; ";")) (if_statement "if (acStack_85d[3] != '\0') {\n        cVar8 = acStack_85d[3];\n        do {\n          if (cVar8 == ' ') {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);\n            fatal_error(uVar2,acStack_85d + 1);\n          }\n          pcVar11 = pcVar11 + 1;\n          cVar8 = *pcVar11;\n        } while (cVar8 != '\0');\n      }" (if "if") (parenthesized_expression "(acStack_85d[3] != '\0')" (( "(") (binary_expression "acStack_85d[3] != '\0'" (subscript_expression "acStack_85d[3]" (identifier "acStack_85d") ([ "[") (number_literal "3") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        cVar8 = acStack_85d[3];\n        do {\n          if (cVar8 == ' ') {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);\n            fatal_error(uVar2,acStack_85d + 1);\n          }\n          pcVar11 = pcVar11 + 1;\n          cVar8 = *pcVar11;\n        } while (cVar8 != '\0');\n      }" ({ "{") (expression_statement "cVar8 = acStack_85d[3];" (assignment_expression "cVar8 = acStack_85d[3]" (identifier "cVar8") (= "=") (subscript_expression "acStack_85d[3]" (identifier "acStack_85d") ([ "[") (number_literal "3") (] "]"))) (; ";")) (do_statement "do {\n          if (cVar8 == ' ') {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);\n            fatal_error(uVar2,acStack_85d + 1);\n          }\n          pcVar11 = pcVar11 + 1;\n          cVar8 = *pcVar11;\n        } while (cVar8 != '\0');" (do "do") (compound_statement "{\n          if (cVar8 == ' ') {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);\n            fatal_error(uVar2,acStack_85d + 1);\n          }\n          pcVar11 = pcVar11 + 1;\n          cVar8 = *pcVar11;\n        }" ({ "{") (if_statement "if (cVar8 == ' ') {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);\n            fatal_error(uVar2,acStack_85d + 1);\n          }" (if "if") (parenthesized_expression "(cVar8 == ' ')" (( "(") (binary_expression "cVar8 == ' '" (identifier "cVar8") (== "==") (char_literal "' '" (' "'") (character " ") (' "'"))) () ")")) (compound_statement "{\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);\n            fatal_error(uVar2,acStack_85d + 1);\n          }" ({ "{") (expression_statement "uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);" (assignment_expression "uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5)" (identifier "uVar2") (= "=") (call_expression "(**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5)" (parenthesized_expression "(**(code **)(puVar17 + 0x13c84))" (( "(") (pointer_expression "**(code **)(puVar17 + 0x13c84)" (* "*") (pointer_expression "*(code **)(puVar17 + 0x13c84)" (* "*") (cast_expression "(code **)(puVar17 + 0x13c84)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + 0x13c84)" (( "(") (binary_expression "puVar17 + 0x13c84" (identifier "puVar17") (+ "+") (number_literal "0x13c84")) () ")"))))) () ")")) (argument_list "(0,iVar14 + -0x36b8,5)" (( "(") (number_literal "0") (, ",") (binary_expression "iVar14 + -0x36b8" (identifier "iVar14") (+ "+") (number_literal "-0x36b8")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "fatal_error(uVar2,acStack_85d + 1);" (call_expression "fatal_error(uVar2,acStack_85d + 1)" (identifier "fatal_error") (argument_list "(uVar2,acStack_85d + 1)" (( "(") (identifier "uVar2") (, ",") (binary_expression "acStack_85d + 1" (identifier "acStack_85d") (+ "+") (number_literal "1")) () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar11 = pcVar11 + 1;" (assignment_expression "pcVar11 = pcVar11 + 1" (identifier "pcVar11") (= "=") (binary_expression "pcVar11 + 1" (identifier "pcVar11") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "cVar8 = *pcVar11;" (assignment_expression "cVar8 = *pcVar11" (identifier "cVar8") (= "=") (pointer_expression "*pcVar11" (* "*") (identifier "pcVar11"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(cVar8 != '\0')" (( "(") (binary_expression "cVar8 != '\0'" (identifier "cVar8") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (; ";")) (} "}"))) (expression_statement "iVar5 = (**(code **)(puVar17 + 0x13c20))(acStack_85d + 3);" (assignment_expression "iVar5 = (**(code **)(puVar17 + 0x13c20))(acStack_85d + 3)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(puVar17 + 0x13c20))(acStack_85d + 3)" (parenthesized_expression "(**(code **)(puVar17 + 0x13c20))" (( "(") (pointer_expression "**(code **)(puVar17 + 0x13c20)" (* "*") (pointer_expression "*(code **)(puVar17 + 0x13c20)" (* "*") (cast_expression "(code **)(puVar17 + 0x13c20)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + 0x13c20)" (( "(") (binary_expression "puVar17 + 0x13c20" (identifier "puVar17") (+ "+") (number_literal "0x13c20")) () ")"))))) () ")")) (argument_list "(acStack_85d + 3)" (( "(") (binary_expression "acStack_85d + 3" (identifier "acStack_85d") (+ "+") (number_literal "3")) () ")")))) (; ";")) (expression_statement "iVar5 = (**(code **)(puVar17 + 0x13c48))(iVar5 + 1);" (assignment_expression "iVar5 = (**(code **)(puVar17 + 0x13c48))(iVar5 + 1)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(puVar17 + 0x13c48))(iVar5 + 1)" (parenthesized_expression "(**(code **)(puVar17 + 0x13c48))" (( "(") (pointer_expression "**(code **)(puVar17 + 0x13c48)" (* "*") (pointer_expression "*(code **)(puVar17 + 0x13c48)" (* "*") (cast_expression "(code **)(puVar17 + 0x13c48)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + 0x13c48)" (( "(") (binary_expression "puVar17 + 0x13c48" (identifier "puVar17") (+ "+") (number_literal "0x13c48")) () ")"))))) () ")")) (argument_list "(iVar5 + 1)" (( "(") (binary_expression "iVar5 + 1" (identifier "iVar5") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*piVar6 = iVar5;" (assignment_expression "*piVar6 = iVar5" (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (= "=") (identifier "iVar5")) (; ";")) (if_statement "if (iVar5 == 0) {\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);\n        fatal_error(uVar2,acStack_85d + 1);\n      }" ({ "{") (expression_statement "uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);" (assignment_expression "uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5)" (identifier "uVar2") (= "=") (call_expression "(**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5)" (parenthesized_expression "(**(code **)(puVar17 + 0x13c84))" (( "(") (pointer_expression "**(code **)(puVar17 + 0x13c84)" (* "*") (pointer_expression "*(code **)(puVar17 + 0x13c84)" (* "*") (cast_expression "(code **)(puVar17 + 0x13c84)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + 0x13c84)" (( "(") (binary_expression "puVar17 + 0x13c84" (identifier "puVar17") (+ "+") (number_literal "0x13c84")) () ")"))))) () ")")) (argument_list "(0,iVar15 + -0x4d20,5)" (( "(") (number_literal "0") (, ",") (binary_expression "iVar15 + -0x4d20" (identifier "iVar15") (+ "+") (number_literal "-0x4d20")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "fatal_error(uVar2,acStack_85d + 1);" (call_expression "fatal_error(uVar2,acStack_85d + 1)" (identifier "fatal_error") (argument_list "(uVar2,acStack_85d + 1)" (( "(") (identifier "uVar2") (, ",") (binary_expression "acStack_85d + 1" (identifier "acStack_85d") (+ "+") (number_literal "1")) () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar17 + 0x13c5c))(*piVar6,acStack_85d + 3);" (call_expression "(**(code **)(puVar17 + 0x13c5c))(*piVar6,acStack_85d + 3)" (parenthesized_expression "(**(code **)(puVar17 + 0x13c5c))" (( "(") (pointer_expression "**(code **)(puVar17 + 0x13c5c)" (* "*") (pointer_expression "*(code **)(puVar17 + 0x13c5c)" (* "*") (cast_expression "(code **)(puVar17 + 0x13c5c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + 0x13c5c)" (( "(") (binary_expression "puVar17 + 0x13c5c" (identifier "puVar17") (+ "+") (number_literal "0x13c5c")) () ")"))))) () ")")) (argument_list "(*piVar6,acStack_85d + 3)" (( "(") (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (, ",") (binary_expression "acStack_85d + 3" (identifier "acStack_85d") (+ "+") (number_literal "3")) () ")"))) (; ";")) (expression_statement "iVar5 = (**(code **)(puVar17 + 0x13c04))(puVar12);" (assignment_expression "iVar5 = (**(code **)(puVar17 + 0x13c04))(puVar12)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(puVar17 + 0x13c04))(puVar12)" (parenthesized_expression "(**(code **)(puVar17 + 0x13c04))" (( "(") (pointer_expression "**(code **)(puVar17 + 0x13c04)" (* "*") (pointer_expression "*(code **)(puVar17 + 0x13c04)" (* "*") (cast_expression "(code **)(puVar17 + 0x13c04)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + 0x13c04)" (( "(") (binary_expression "puVar17 + 0x13c04" (identifier "puVar17") (+ "+") (number_literal "0x13c04")) () ")"))))) () ")")) (argument_list "(puVar12)" (( "(") (identifier "puVar12") () ")")))) (; ";")) (expression_statement "piVar6[1] = iVar5;" (assignment_expression "piVar6[1] = iVar5" (subscript_expression "piVar6[1]" (identifier "piVar6") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "iVar5")) (; ";")) (expression_statement "piVar6[2] = **(int **)(puVar17 + 0x13b20);" (assignment_expression "piVar6[2] = **(int **)(puVar17 + 0x13b20)" (subscript_expression "piVar6[2]" (identifier "piVar6") ([ "[") (number_literal "2") (] "]")) (= "=") (pointer_expression "**(int **)(puVar17 + 0x13b20)" (* "*") (pointer_expression "*(int **)(puVar17 + 0x13b20)" (* "*") (cast_expression "(int **)(puVar17 + 0x13b20)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + 0x13b20)" (( "(") (binary_expression "puVar17 + 0x13b20" (identifier "puVar17") (+ "+") (number_literal "0x13b20")) () ")")))))) (; ";")) (expression_statement "piVar6[3] = 0;" (assignment_expression "piVar6[3] = 0" (subscript_expression "piVar6[3]" (identifier "piVar6") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar5 = hash_label(acStack_85d + 3);" (assignment_expression "iVar5 = hash_label(acStack_85d + 3)" (identifier "iVar5") (= "=") (call_expression "hash_label(acStack_85d + 3)" (identifier "hash_label") (argument_list "(acStack_85d + 3)" (( "(") (binary_expression "acStack_85d + 3" (identifier "acStack_85d") (+ "+") (number_literal "3")) () ")")))) (; ";")) (expression_statement "puVar3 = *(undefined4 **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4);" (assignment_expression "puVar3 = *(undefined4 **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4)" (identifier "puVar3") (= "=") (pointer_expression "*(undefined4 **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4)" (* "*") (cast_expression "(undefined4 **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(puVar17 + 0x13b34) + iVar5 * 4)" (( "(") (binary_expression "*(int *)(puVar17 + 0x13b34) + iVar5 * 4" (pointer_expression "*(int *)(puVar17 + 0x13b34)" (* "*") (cast_expression "(int *)(puVar17 + 0x13b34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + 0x13b34)" (( "(") (binary_expression "puVar17 + 0x13b34" (identifier "puVar17") (+ "+") (number_literal "0x13b34")) () ")")))) (+ "+") (binary_expression "iVar5 * 4" (identifier "iVar5") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (puVar3 != (undefined4 *)0x0) {\n        do {\n          iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3);\n          if (iVar4 == 0) {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(uVar2,acStack_85d + 1);\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n          else {\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n        } while (puVar3 != (undefined4 *)0x0);\n      }" (if "if") (parenthesized_expression "(puVar3 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar3 != (undefined4 *)0x0" (identifier "puVar3") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        do {\n          iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3);\n          if (iVar4 == 0) {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(uVar2,acStack_85d + 1);\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n          else {\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n        } while (puVar3 != (undefined4 *)0x0);\n      }" ({ "{") (do_statement "do {\n          iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3);\n          if (iVar4 == 0) {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(uVar2,acStack_85d + 1);\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n          else {\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n        } while (puVar3 != (undefined4 *)0x0);" (do "do") (compound_statement "{\n          iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3);\n          if (iVar4 == 0) {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(uVar2,acStack_85d + 1);\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n          else {\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n        }" ({ "{") (expression_statement "iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3);" (assignment_expression "iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3)" (parenthesized_expression "(**(code **)(puVar17 + 0x13cd4))" (( "(") (pointer_expression "**(code **)(puVar17 + 0x13cd4)" (* "*") (pointer_expression "*(code **)(puVar17 + 0x13cd4)" (* "*") (cast_expression "(code **)(puVar17 + 0x13cd4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + 0x13cd4)" (( "(") (binary_expression "puVar17 + 0x13cd4" (identifier "puVar17") (+ "+") (number_literal "0x13cd4")) () ")"))))) () ")")) (argument_list "(*puVar3,acStack_85d + 3)" (( "(") (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (, ",") (binary_expression "acStack_85d + 3" (identifier "acStack_85d") (+ "+") (number_literal "3")) () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(uVar2,acStack_85d + 1);\n            puVar3 = (undefined4 *)puVar3[3];\n          }\n          else {\n            puVar3 = (undefined4 *)puVar3[3];\n          }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);\n            fatal_error(uVar2,acStack_85d + 1);\n            puVar3 = (undefined4 *)puVar3[3];\n          }" ({ "{") (expression_statement "uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);" (assignment_expression "uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5)" (identifier "uVar2") (= "=") (call_expression "(**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5)" (parenthesized_expression "(**(code **)(puVar17 + 0x13c84))" (( "(") (pointer_expression "**(code **)(puVar17 + 0x13c84)" (* "*") (pointer_expression "*(code **)(puVar17 + 0x13c84)" (* "*") (cast_expression "(code **)(puVar17 + 0x13c84)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + 0x13c84)" (( "(") (binary_expression "puVar17 + 0x13c84" (identifier "puVar17") (+ "+") (number_literal "0x13c84")) () ")"))))) () ")")) (argument_list "(0,iVar1 + -0x36a0,5)" (( "(") (number_literal "0") (, ",") (binary_expression "iVar1 + -0x36a0" (identifier "iVar1") (+ "+") (number_literal "-0x36a0")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "fatal_error(uVar2,acStack_85d + 1);" (call_expression "fatal_error(uVar2,acStack_85d + 1)" (identifier "fatal_error") (argument_list "(uVar2,acStack_85d + 1)" (( "(") (identifier "uVar2") (, ",") (binary_expression "acStack_85d + 1" (identifier "acStack_85d") (+ "+") (number_literal "1")) () ")"))) (; ";")) (expression_statement "puVar3 = (undefined4 *)puVar3[3];" (assignment_expression "puVar3 = (undefined4 *)puVar3[3]" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)puVar3[3]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar3[3]" (identifier "puVar3") ([ "[") (number_literal "3") (] "]")))) (; ";")) (} "}")) (else_clause "else {\n            puVar3 = (undefined4 *)puVar3[3];\n          }" (else "else") (compound_statement "{\n            puVar3 = (undefined4 *)puVar3[3];\n          }" ({ "{") (expression_statement "puVar3 = (undefined4 *)puVar3[3];" (assignment_expression "puVar3 = (undefined4 *)puVar3[3]" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)puVar3[3]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar3[3]" (identifier "puVar3") ([ "[") (number_literal "3") (] "]")))) (; ";")) (} "}")))) (} "}")) (while "while") (parenthesized_expression "(puVar3 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar3 != (undefined4 *)0x0" (identifier "puVar3") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}"))) (if_statement "if (aiStack_8dc[iVar5] == 0) {\n        *(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4) = piVar6;\n      }\n      else {\n        *(int **)(aiStack_8dc[iVar5] + 0xc) = piVar6;\n      }" (if "if") (parenthesized_expression "(aiStack_8dc[iVar5] == 0)" (( "(") (binary_expression "aiStack_8dc[iVar5] == 0" (subscript_expression "aiStack_8dc[iVar5]" (identifier "aiStack_8dc") ([ "[") (identifier "iVar5") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        *(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4) = piVar6;\n      }" ({ "{") (expression_statement "*(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4) = piVar6;" (assignment_expression "*(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4) = piVar6" (pointer_expression "*(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4)" (* "*") (cast_expression "(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(puVar17 + 0x13b34) + iVar5 * 4)" (( "(") (binary_expression "*(int *)(puVar17 + 0x13b34) + iVar5 * 4" (pointer_expression "*(int *)(puVar17 + 0x13b34)" (* "*") (cast_expression "(int *)(puVar17 + 0x13b34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + 0x13b34)" (( "(") (binary_expression "puVar17 + 0x13b34" (identifier "puVar17") (+ "+") (number_literal "0x13b34")) () ")")))) (+ "+") (binary_expression "iVar5 * 4" (identifier "iVar5") (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "piVar6")) (; ";")) (} "}")) (else_clause "else {\n        *(int **)(aiStack_8dc[iVar5] + 0xc) = piVar6;\n      }" (else "else") (compound_statement "{\n        *(int **)(aiStack_8dc[iVar5] + 0xc) = piVar6;\n      }" ({ "{") (expression_statement "*(int **)(aiStack_8dc[iVar5] + 0xc) = piVar6;" (assignment_expression "*(int **)(aiStack_8dc[iVar5] + 0xc) = piVar6" (pointer_expression "*(int **)(aiStack_8dc[iVar5] + 0xc)" (* "*") (cast_expression "(int **)(aiStack_8dc[iVar5] + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(aiStack_8dc[iVar5] + 0xc)" (( "(") (binary_expression "aiStack_8dc[iVar5] + 0xc" (subscript_expression "aiStack_8dc[iVar5]" (identifier "aiStack_8dc") ([ "[") (identifier "iVar5") (] "]")) (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "piVar6")) (; ";")) (} "}")))) (expression_statement "aiStack_8dc[iVar5] = (int)piVar6;" (assignment_expression "aiStack_8dc[iVar5] = (int)piVar6" (subscript_expression "aiStack_8dc[iVar5]" (identifier "aiStack_8dc") ([ "[") (identifier "iVar5") (] "]")) (= "=") (cast_expression "(int)piVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar6"))) (; ";")) (} "}"))) (expression_statement "pcVar11 = acStack_85d + 1;" (assignment_expression "pcVar11 = acStack_85d + 1" (identifier "pcVar11") (= "=") (binary_expression "acStack_85d + 1" (identifier "acStack_85d") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "get_script_line(puVar12);" (call_expression "get_script_line(puVar12)" (identifier "get_script_line") (argument_list "(puVar12)" (( "(") (identifier "puVar12") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}")))
(translation_unit (function_definition type: (type_identifier) declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (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: (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: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (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: (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (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: (identifier))))) consequence: (compound_statement (return_statement (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))) (expression_statement (assignment_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) 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 (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (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: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (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: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))))) (return_statement (identifier)))) (return_statement (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal)))))) (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))))) right: (number_literal))) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator 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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (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: (subscript_expression argument: (identifier) index: (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: (subscript_expression argument: (identifier) index: (number_literal))))))))) condition: (parenthesized_expression (binary_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: (subscript_expression argument: (identifier) index: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator 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)))))) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (number_literal))))) right: (identifier)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (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)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier))))) condition: (parenthesized_expression (true))))))

undefined1 * MASKED(undefined4 param_1)

{
  int iVar1;
  undefined4 uVar2;
  undefined4 *puVar3;
  char cVar8;
  int iVar4;
  int iVar5;
  int *piVar6;
  int *piVar7;
  undefined4 *puVar9;
  undefined1 *puVar10;
  char *pcVar11;
  undefined1 *puVar12;
  undefined *puVar13;
  int iVar14;
  int iVar15;
  char *pcVar16;
  undefined *puVar17;
  code *pcVar18;
  int aiStack_8dc [31];
  char acStack_85d [1025];
  undefined1 *puStack_45c;
  undefined4 uStack_458;
  undefined1 *puStack_454;
  undefined *puStack_450;
  undefined1 auStack_414 [1024];
  undefined1 *local_14;
  
  local_14 = *(undefined1 **)PTR___stack_chk_guard_0002d45c;
  get_script_line(param_1,auStack_414);
  puVar13 = PTR_get_script_line_0002d240;
  while (iVar1 = (*(code *)PTR_feof_0002d3ec)(param_1), iVar1 == 0) {
    uVar2 = convertFromUTF8();
    (*(code *)PTR_free_0002d46c)(uVar2);
    get_script_line(param_1,auStack_414);
  }
  if (local_14 == *(undefined1 **)PTR___stack_chk_guard_0002d45c) {
    return *(undefined1 **)PTR___stack_chk_guard_0002d45c;
  }
  puVar12 = auStack_414;
  puVar17 = PTR___stack_chk_fail_0002d440;
  (*(code *)PTR___stack_chk_fail_0002d440)();
  puStack_45c = (undefined1 *)**(int **)(puVar17 + 0x13c9c);
  uStack_458 = param_1;
  puStack_454 = auStack_414;
  puStack_450 = puVar13;
  (**(code **)(puVar17 + 0x13c7c))();
  **(undefined4 **)(puVar17 + 0x13b20) = 0;
  puVar3 = *(undefined4 **)(puVar17 + 0x13b34);
  piVar6 = aiStack_8dc;
  puVar9 = puVar3 + 0x20;
  do {
    *puVar3 = 0;
    *piVar6 = 0;
    puVar3 = puVar3 + 1;
    piVar6 = piVar6 + 1;
  } while (puVar9 != puVar3);
  pcVar11 = acStack_85d + 1;
  get_script_line(puVar12);
  iVar14 = *(int *)(puVar17 + 0x13a78);
  iVar1 = *(int *)(puVar17 + 0x13a78);
  iVar15 = *(int *)(puVar17 + 0x13a78);
  do {
    puVar10 = puVar12;
    iVar5 = (**(code **)(puVar17 + 0x13c2c))(puVar12);
    if (iVar5 != 0) {
      if (puStack_45c != (undefined1 *)**(int **)(puVar17 + 0x13c9c)) {
        pcVar18 = *(code **)(puVar17 + 0x13c80);
        (*pcVar18)();
        puVar12 = (undefined1 *)0x0;
        iVar1 = 0;
        iVar14 = 0;
        iVar15 = *(int *)(pcVar18 + 0x1368c);
        while( true ) {
          iVar5 = (**(code **)(pcVar18 + 0x13834))(pcVar11 + 2);
          puVar12 = (undefined1 *)(**(code **)(pcVar18 + 0x13860))(puVar12,iVar5 + 2 + iVar14);
          if (puVar12 == (undefined1 *)0x0) {
            uVar2 = (**(code **)(pcVar18 + 0x13898))(0,iVar15 + -0x4d20,5);
            fatal_error(uVar2,pcVar11);
          }
          if (iVar1 == 0) {
            *puVar12 = 0;
          }
          (**(code **)(pcVar18 + 0x13878))(puVar12,pcVar11 + 2);
          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);
          puVar12[iVar1] = 10;
          (puVar12 + iVar1)[1] = 0;
          iVar1 = (**(code **)(pcVar18 + 0x13834))(puVar12);
          get_script_line(puVar10,pcVar11);
          if ((*pcVar11 != ' ') || (iVar14 = (**(code **)(pcVar18 + 0x13840))(puVar10), iVar14 != 0)
             ) break;
          iVar14 = (**(code **)(pcVar18 + 0x13834))(puVar12);
        }
        return puVar12;
      }
      return (undefined1 *)**(int **)(puVar17 + 0x13c9c);
    }
    if (acStack_85d[1] == '*') {
      piVar6 = (int *)(**(code **)(puVar17 + 0x13c48))(0x10);
      if (piVar6 == (int *)0x0) {
        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);
        fatal_error(uVar2,acStack_85d + 1);
      }
      pcVar16 = acStack_85d + 1;
      iVar5 = (**(code **)(puVar17 + 0x13c20))(pcVar16);
      pcVar11 = pcVar16 + iVar5 + -1;
      if (pcVar11 != pcVar16) {
        piVar7 = (int *)(**(code **)(puVar17 + 0x13b6c))();
        iVar5 = *piVar7;
        do {
          if ((*(ushort *)(iVar5 + *pcVar11 * 2) & 0x20) == 0) break;
          *pcVar11 = '\0';
          pcVar11 = pcVar11 + -1;
        } while (pcVar11 != acStack_85d + 1);
      }
      pcVar11 = acStack_85d + 3;
      if (acStack_85d[3] != '\0') {
        cVar8 = acStack_85d[3];
        do {
          if (cVar8 == ' ') {
            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar14 + -0x36b8,5);
            fatal_error(uVar2,acStack_85d + 1);
          }
          pcVar11 = pcVar11 + 1;
          cVar8 = *pcVar11;
        } while (cVar8 != '\0');
      }
      iVar5 = (**(code **)(puVar17 + 0x13c20))(acStack_85d + 3);
      iVar5 = (**(code **)(puVar17 + 0x13c48))(iVar5 + 1);
      *piVar6 = iVar5;
      if (iVar5 == 0) {
        uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar15 + -0x4d20,5);
        fatal_error(uVar2,acStack_85d + 1);
      }
      (**(code **)(puVar17 + 0x13c5c))(*piVar6,acStack_85d + 3);
      iVar5 = (**(code **)(puVar17 + 0x13c04))(puVar12);
      piVar6[1] = iVar5;
      piVar6[2] = **(int **)(puVar17 + 0x13b20);
      piVar6[3] = 0;
      iVar5 = hash_label(acStack_85d + 3);
      puVar3 = *(undefined4 **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4);
      if (puVar3 != (undefined4 *)0x0) {
        do {
          iVar4 = (**(code **)(puVar17 + 0x13cd4))(*puVar3,acStack_85d + 3);
          if (iVar4 == 0) {
            uVar2 = (**(code **)(puVar17 + 0x13c84))(0,iVar1 + -0x36a0,5);
            fatal_error(uVar2,acStack_85d + 1);
            puVar3 = (undefined4 *)puVar3[3];
          }
          else {
            puVar3 = (undefined4 *)puVar3[3];
          }
        } while (puVar3 != (undefined4 *)0x0);
      }
      if (aiStack_8dc[iVar5] == 0) {
        *(int **)(*(int *)(puVar17 + 0x13b34) + iVar5 * 4) = piVar6;
      }
      else {
        *(int **)(aiStack_8dc[iVar5] + 0xc) = piVar6;
      }
      aiStack_8dc[iVar5] = (int)piVar6;
    }
    pcVar11 = acStack_85d + 1;
    get_script_line(puVar12);
  } while( true );
}

