
int diralphasort(void *va,void *vb)

{
  bool bVar1;
  int iVar2;
  int iVar3;
  undefined4 uVar4;
  undefined4 uVar5;
  undefined4 uVar6;
  undefined4 uVar7;
  filestruct *pfVar8;
  char *s1;
  int *piVar9;
  char *s2;
  undefined4 *puVar10;
  undefined *puVar11;
  code *pcVar12;
  undefined1 auStack_190 [24];
  uint uStack_178;
  int iStack_ec;
  char *pcStack_e4;
  char *pcStack_e0;
  stat fileinfo;
  
  iVar2 = *(int *)PTR___stack_chk_guard_0007d12c;
                    /* WARNING: Load size is inaccurate */
  s1 = *va;
                    /* WARNING: Load size is inaccurate */
  s2 = *vb;
  iVar3 = (*(code *)PTR___xstat64_0007cf04)(3,s1,&fileinfo);
  if ((iVar3 == -1) || ((fileinfo.st_mode & 0xf000) != 0x4000)) {
    iVar3 = (*(code *)PTR___xstat64_0007cf04)(3,s2,&fileinfo);
    bVar1 = false;
    if (iVar3 != -1) goto LAB_0001d724;
LAB_0001d738:
    iVar3 = -1;
    if (bVar1) goto LAB_0001d758;
  }
  else {
    iVar3 = (*(code *)PTR___xstat64_0007cf04)(3,s2,&fileinfo);
    bVar1 = true;
    if (iVar3 == -1) {
      iVar3 = -1;
      goto LAB_0001d758;
    }
LAB_0001d724:
    if ((fileinfo.st_mode & 0xf000) != 0x4000) goto LAB_0001d738;
    if (!bVar1) {
      iVar3 = 1;
      goto LAB_0001d758;
    }
  }
  iVar3 = mbstrcasecmp(s1,s2);
LAB_0001d758:
  if (iVar2 == *(int *)PTR___stack_chk_guard_0007d12c) {
    return iVar3;
  }
  puVar11 = PTR___stack_chk_fail_0007d0f8;
  (*(code *)PTR___stack_chk_fail_0007d0f8)();
  iStack_ec = **(int **)(puVar11 + 0x5f968);
  pcStack_e4 = s1;
  pcStack_e0 = s2;
  uVar4 = (**(code **)(puVar11 + 0x5edb8))(0,iVar2);
  uVar5 = (**(code **)(puVar11 + 0x5f898))(uVar4);
  iVar2 = (**(code **)(puVar11 + 0x5f740))(3,uVar5,auStack_190);
  if (iVar2 == -1) {
    piVar9 = (int *)(**(code **)(puVar11 + 0x5f824))();
    if (*piVar9 == 2) {
      uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x45b0,5);
      (**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5);
      iVar2 = 0;
    }
    else {
      uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x45d0);
      uVar7 = (**(code **)(puVar11 + 0x5f89c))(*piVar9);
      (**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5,uVar7);
      iVar2 = 0;
    }
  }
  else if ((uStack_178 & 0xf000) == 0x4000) {
    iVar2 = (**(code **)(puVar11 + 0x5f7f0))(uVar5,1,5);
    if (iVar2 == -1) {
      uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x4600,5);
      (**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5);
      iVar2 = 0;
    }
    else if ((*(uint *)(*(int *)(puVar11 + 0x5edc0) + 4) & 8) == 0) {
      iVar2 = 1;
    }
    else {
      iVar2 = (**(code **)(puVar11 + 0x5f7f0))(uVar5,2);
      if (iVar2 == -1) {
        uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x461c,5);
        (**(code **)(puVar11 + 0x5ee34))(2,uVar6,uVar5);
        iVar2 = 0;
      }
      else {
        iVar2 = 1;
      }
    }
  }
  else {
    uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x45e0);
    (**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5);
    iVar2 = 0;
  }
  (**(code **)(puVar11 + 0x5f97c))(uVar4);
  if (iStack_ec != **(int **)(puVar11 + 0x5f968)) {
    pcVar12 = *(code **)(puVar11 + 0x5f934);
    (*pcVar12)();
    piVar9 = *(int **)(pcVar12 + 0x5ec50);
    iVar2 = *piVar9;
    pfVar8 = make_new_node((filestruct *)0x0);
    *(filestruct **)(iVar2 + 4) = pfVar8;
    puVar10 = *(undefined4 **)(*piVar9 + 4);
    uVar4 = (**(code **)(pcVar12 + 0x5eae4))(0,*(int *)(pcVar12 + 0x5ead8) + -0x7e54);
    *puVar10 = uVar4;
    iVar2 = *piVar9;
    uVar4 = *(undefined4 *)(iVar2 + 4);
    *(undefined4 *)(iVar2 + 8) = uVar4;
    *(undefined4 *)(iVar2 + 0xc) = uVar4;
    *(undefined4 *)(iVar2 + 0x10) = uVar4;
    *(undefined4 *)(iVar2 + 0x18) = 0;
    *(undefined4 *)(iVar2 + 0x1c) = 0;
    *(undefined4 *)(iVar2 + 0x14) = 0;
    return iVar2;
  }
  return iVar2;
}



int diralphasort(undefined4 *param_1,undefined4 *param_2)

{
  bool bVar1;
  int iVar2;
  undefined4 uVar3;
  undefined4 uVar4;
  undefined4 uVar5;
  int *piVar6;
  undefined4 uVar7;
  undefined4 *puVar8;
  undefined *puVar9;
  code *pcVar10;
  undefined1 auStack_190 [24];
  uint uStack_178;
  int iStack_ec;
  undefined4 uStack_e4;
  undefined4 uStack_e0;
  undefined1 auStack_b8 [24];
  uint local_a0;
  int local_14;
  
  local_14 = *(int *)PTR___stack_chk_guard_0007d12c;
  uVar5 = *param_1;
  uVar7 = *param_2;
  iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar5,auStack_b8);
  if ((iVar2 == -1) || ((local_a0 & 0xf000) != 0x4000)) {
    iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);
    bVar1 = false;
    if (iVar2 != -1) goto LAB_0001d724;
LAB_0001d738:
    iVar2 = -1;
    if (bVar1) goto LAB_0001d758;
  }
  else {
    iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);
    bVar1 = true;
    if (iVar2 == -1) {
      iVar2 = -1;
      goto LAB_0001d758;
    }
LAB_0001d724:
    if ((local_a0 & 0xf000) != 0x4000) goto LAB_0001d738;
    if (!bVar1) {
      iVar2 = 1;
      goto LAB_0001d758;
    }
  }
  iVar2 = mbstrcasecmp(uVar5,uVar7);
LAB_0001d758:
  if (local_14 == *(int *)PTR___stack_chk_guard_0007d12c) {
    return iVar2;
  }
  iVar2 = local_14;
  puVar9 = PTR___stack_chk_fail_0007d0f8;
  (*(code *)PTR___stack_chk_fail_0007d0f8)();
  iStack_ec = **(int **)(puVar9 + 0x5f968);
  uStack_e4 = uVar5;
  uStack_e0 = uVar7;
  uVar5 = (**(code **)(puVar9 + 0x5edb8))(0,iVar2);
  uVar7 = (**(code **)(puVar9 + 0x5f898))(uVar5);
  iVar2 = (**(code **)(puVar9 + 0x5f740))(3,uVar7,auStack_190);
  if (iVar2 == -1) {
    piVar6 = (int *)(**(code **)(puVar9 + 0x5f824))();
    if (*piVar6 == 2) {
      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45b0,5);
      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);
      iVar2 = 0;
    }
    else {
      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45d0);
      uVar4 = (**(code **)(puVar9 + 0x5f89c))(*piVar6);
      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7,uVar4);
      iVar2 = 0;
    }
  }
  else if ((uStack_178 & 0xf000) == 0x4000) {
    iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,1,5);
    if (iVar2 == -1) {
      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5);
      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);
      iVar2 = 0;
    }
    else if ((*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8) == 0) {
      iVar2 = 1;
    }
    else {
      iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);
      if (iVar2 == -1) {
        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);
        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);
        iVar2 = 0;
      }
      else {
        iVar2 = 1;
      }
    }
  }
  else {
    uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45e0);
    (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);
    iVar2 = 0;
  }
  (**(code **)(puVar9 + 0x5f97c))(uVar5);
  if (iStack_ec != **(int **)(puVar9 + 0x5f968)) {
    pcVar10 = *(code **)(puVar9 + 0x5f934);
    (*pcVar10)();
    piVar6 = *(int **)(pcVar10 + 0x5ec50);
    iVar2 = *piVar6;
    uVar5 = make_new_node(0);
    *(undefined4 *)(iVar2 + 4) = uVar5;
    puVar8 = *(undefined4 **)(*piVar6 + 4);
    uVar5 = (**(code **)(pcVar10 + 0x5eae4))(0,*(int *)(pcVar10 + 0x5ead8) + -0x7e54);
    *puVar8 = uVar5;
    iVar2 = *piVar6;
    uVar5 = *(undefined4 *)(iVar2 + 4);
    *(undefined4 *)(iVar2 + 8) = uVar5;
    *(undefined4 *)(iVar2 + 0xc) = uVar5;
    *(undefined4 *)(iVar2 + 0x10) = uVar5;
    *(undefined4 *)(iVar2 + 0x18) = 0;
    *(undefined4 *)(iVar2 + 0x1c) = 0;
    *(undefined4 *)(iVar2 + 0x14) = 0;
    return iVar2;
  }
  return iVar2;
}


lui gp,0x6
addiu gp,gp,0x6e90
addu gp,gp,t9
addiu sp,sp,-0xd0
sw ra,0xcc(sp)
sw s1,0xc8(sp)
sw s0,0xc4(sp)
sw gp,0x10(sp)
lw v0,-0x73f4(gp)
lw v0,0x0(v0)
sw v0,0xbc(sp)
lw s0,0x0(a0)
lw s1,0x0(a1)
addiu a2,sp,0x18
or a1,s0,zero
li a0,0x3
lw t9,-0x761c(gp)
jalr t9
_nop
lw gp,0x10(sp)
li v1,-0x1
beq v0,v1,0x0001d6fc
_lw v0,0x30(sp)
andi v0,v0,0xf000
li v1,0x4000
beq v0,v1,0x0001d78c
_addiu a2,sp,0x18
addiu a2,sp,0x18
or a1,s1,zero
li a0,0x3
lw t9,-0x761c(gp)
jalr t9
_nop
lw gp,0x10(sp)
li v1,-0x1
beq v0,v1,0x0001d738
_or v1,zero,zero
lw v0,0x30(sp)
andi v0,v0,0xf000
li a0,0x4000
beq v0,a0,0x0001d77c
_nop
bne v1,zero,0x0001d758
_li v0,-0x1
or a1,s1,zero
or a0,s0,zero
lw t9,-0x7dc0(gp)
bal 0x0001af50
_nop
lw gp,0x10(sp)
lw a0,0xbc(sp)
lw v1,-0x73f4(gp)
lw v1,0x0(v1)
bne a0,v1,0x0001d7b8
_lw ra,0xcc(sp)
lw s1,0xc8(sp)
lw s0,0xc4(sp)
jr ra
_addiu sp,sp,0xd0
bne v1,zero,0x0001d744
_or a1,s1,zero
b 0x0001d758
_li v0,0x1
or a1,s1,zero
li a0,0x3
lw t9,-0x761c(gp)
jalr t9
_nop
lw gp,0x10(sp)
li a0,-0x1
bne v0,a0,0x0001d724
_li v1,0x1
b 0x0001d758
_nop
lw t9,-0x7428(gp)
jalr t9
_nop
(translation_unit "int diralphasort(undefined4 *param_1,undefined4 *param_2)\n\n{\n  bool bVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  int *piVar6;\n  undefined4 uVar7;\n  undefined4 *puVar8;\n  undefined *puVar9;\n  code *pcVar10;\n  undefined1 auStack_190 [24];\n  uint uStack_178;\n  int iStack_ec;\n  undefined4 uStack_e4;\n  undefined4 uStack_e0;\n  undefined1 auStack_b8 [24];\n  uint local_a0;\n  int local_14;\n  \n  local_14 = *(int *)PTR___stack_chk_guard_0007d12c;\n  uVar5 = *param_1;\n  uVar7 = *param_2;\n  iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar5,auStack_b8);\n  if ((iVar2 == -1) || ((local_a0 & 0xf000) != 0x4000)) {\n    iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);\n    bVar1 = false;\n    if (iVar2 != -1) goto LAB_0001d724;\nLAB_0001d738:\n    iVar2 = -1;\n    if (bVar1) goto LAB_0001d758;\n  }\n  else {\n    iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);\n    bVar1 = true;\n    if (iVar2 == -1) {\n      iVar2 = -1;\n      goto LAB_0001d758;\n    }\nLAB_0001d724:\n    if ((local_a0 & 0xf000) != 0x4000) goto LAB_0001d738;\n    if (!bVar1) {\n      iVar2 = 1;\n      goto LAB_0001d758;\n    }\n  }\n  iVar2 = mbstrcasecmp(uVar5,uVar7);\nLAB_0001d758:\n  if (local_14 == *(int *)PTR___stack_chk_guard_0007d12c) {\n    return iVar2;\n  }\n  iVar2 = local_14;\n  puVar9 = PTR___stack_chk_fail_0007d0f8;\n  (*(code *)PTR___stack_chk_fail_0007d0f8)();\n  iStack_ec = **(int **)(puVar9 + 0x5f968);\n  uStack_e4 = uVar5;\n  uStack_e0 = uVar7;\n  uVar5 = (**(code **)(puVar9 + 0x5edb8))(0,iVar2);\n  uVar7 = (**(code **)(puVar9 + 0x5f898))(uVar5);\n  iVar2 = (**(code **)(puVar9 + 0x5f740))(3,uVar7,auStack_190);\n  if (iVar2 == -1) {\n    piVar6 = (int *)(**(code **)(puVar9 + 0x5f824))();\n    if (*piVar6 == 2) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45b0,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45d0);\n      uVar4 = (**(code **)(puVar9 + 0x5f89c))(*piVar6);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7,uVar4);\n      iVar2 = 0;\n    }\n  }\n  else if ((uStack_178 & 0xf000) == 0x4000) {\n    iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,1,5);\n    if (iVar2 == -1) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else if ((*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8) == 0) {\n      iVar2 = 1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);\n      if (iVar2 == -1) {\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }\n  }\n  else {\n    uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45e0);\n    (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n    iVar2 = 0;\n  }\n  (**(code **)(puVar9 + 0x5f97c))(uVar5);\n  if (iStack_ec != **(int **)(puVar9 + 0x5f968)) {\n    pcVar10 = *(code **)(puVar9 + 0x5f934);\n    (*pcVar10)();\n    piVar6 = *(int **)(pcVar10 + 0x5ec50);\n    iVar2 = *piVar6;\n    uVar5 = make_new_node(0);\n    *(undefined4 *)(iVar2 + 4) = uVar5;\n    puVar8 = *(undefined4 **)(*piVar6 + 4);\n    uVar5 = (**(code **)(pcVar10 + 0x5eae4))(0,*(int *)(pcVar10 + 0x5ead8) + -0x7e54);\n    *puVar8 = uVar5;\n    iVar2 = *piVar6;\n    uVar5 = *(undefined4 *)(iVar2 + 4);\n    *(undefined4 *)(iVar2 + 8) = uVar5;\n    *(undefined4 *)(iVar2 + 0xc) = uVar5;\n    *(undefined4 *)(iVar2 + 0x10) = uVar5;\n    *(undefined4 *)(iVar2 + 0x18) = 0;\n    *(undefined4 *)(iVar2 + 0x1c) = 0;\n    *(undefined4 *)(iVar2 + 0x14) = 0;\n    return iVar2;\n  }\n  return iVar2;\n}\n\n" (function_definition "int diralphasort(undefined4 *param_1,undefined4 *param_2)\n\n{\n  bool bVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  int *piVar6;\n  undefined4 uVar7;\n  undefined4 *puVar8;\n  undefined *puVar9;\n  code *pcVar10;\n  undefined1 auStack_190 [24];\n  uint uStack_178;\n  int iStack_ec;\n  undefined4 uStack_e4;\n  undefined4 uStack_e0;\n  undefined1 auStack_b8 [24];\n  uint local_a0;\n  int local_14;\n  \n  local_14 = *(int *)PTR___stack_chk_guard_0007d12c;\n  uVar5 = *param_1;\n  uVar7 = *param_2;\n  iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar5,auStack_b8);\n  if ((iVar2 == -1) || ((local_a0 & 0xf000) != 0x4000)) {\n    iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);\n    bVar1 = false;\n    if (iVar2 != -1) goto LAB_0001d724;\nLAB_0001d738:\n    iVar2 = -1;\n    if (bVar1) goto LAB_0001d758;\n  }\n  else {\n    iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);\n    bVar1 = true;\n    if (iVar2 == -1) {\n      iVar2 = -1;\n      goto LAB_0001d758;\n    }\nLAB_0001d724:\n    if ((local_a0 & 0xf000) != 0x4000) goto LAB_0001d738;\n    if (!bVar1) {\n      iVar2 = 1;\n      goto LAB_0001d758;\n    }\n  }\n  iVar2 = mbstrcasecmp(uVar5,uVar7);\nLAB_0001d758:\n  if (local_14 == *(int *)PTR___stack_chk_guard_0007d12c) {\n    return iVar2;\n  }\n  iVar2 = local_14;\n  puVar9 = PTR___stack_chk_fail_0007d0f8;\n  (*(code *)PTR___stack_chk_fail_0007d0f8)();\n  iStack_ec = **(int **)(puVar9 + 0x5f968);\n  uStack_e4 = uVar5;\n  uStack_e0 = uVar7;\n  uVar5 = (**(code **)(puVar9 + 0x5edb8))(0,iVar2);\n  uVar7 = (**(code **)(puVar9 + 0x5f898))(uVar5);\n  iVar2 = (**(code **)(puVar9 + 0x5f740))(3,uVar7,auStack_190);\n  if (iVar2 == -1) {\n    piVar6 = (int *)(**(code **)(puVar9 + 0x5f824))();\n    if (*piVar6 == 2) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45b0,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45d0);\n      uVar4 = (**(code **)(puVar9 + 0x5f89c))(*piVar6);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7,uVar4);\n      iVar2 = 0;\n    }\n  }\n  else if ((uStack_178 & 0xf000) == 0x4000) {\n    iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,1,5);\n    if (iVar2 == -1) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else if ((*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8) == 0) {\n      iVar2 = 1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);\n      if (iVar2 == -1) {\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }\n  }\n  else {\n    uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45e0);\n    (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n    iVar2 = 0;\n  }\n  (**(code **)(puVar9 + 0x5f97c))(uVar5);\n  if (iStack_ec != **(int **)(puVar9 + 0x5f968)) {\n    pcVar10 = *(code **)(puVar9 + 0x5f934);\n    (*pcVar10)();\n    piVar6 = *(int **)(pcVar10 + 0x5ec50);\n    iVar2 = *piVar6;\n    uVar5 = make_new_node(0);\n    *(undefined4 *)(iVar2 + 4) = uVar5;\n    puVar8 = *(undefined4 **)(*piVar6 + 4);\n    uVar5 = (**(code **)(pcVar10 + 0x5eae4))(0,*(int *)(pcVar10 + 0x5ead8) + -0x7e54);\n    *puVar8 = uVar5;\n    iVar2 = *piVar6;\n    uVar5 = *(undefined4 *)(iVar2 + 4);\n    *(undefined4 *)(iVar2 + 8) = uVar5;\n    *(undefined4 *)(iVar2 + 0xc) = uVar5;\n    *(undefined4 *)(iVar2 + 0x10) = uVar5;\n    *(undefined4 *)(iVar2 + 0x18) = 0;\n    *(undefined4 *)(iVar2 + 0x1c) = 0;\n    *(undefined4 *)(iVar2 + 0x14) = 0;\n    return iVar2;\n  }\n  return iVar2;\n}" primitive_type (function_declarator "diralphasort(undefined4 *param_1,undefined4 *param_2)" identifier (parameter_list "(undefined4 *param_1,undefined4 *param_2)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  int *piVar6;\n  undefined4 uVar7;\n  undefined4 *puVar8;\n  undefined *puVar9;\n  code *pcVar10;\n  undefined1 auStack_190 [24];\n  uint uStack_178;\n  int iStack_ec;\n  undefined4 uStack_e4;\n  undefined4 uStack_e0;\n  undefined1 auStack_b8 [24];\n  uint local_a0;\n  int local_14;\n  \n  local_14 = *(int *)PTR___stack_chk_guard_0007d12c;\n  uVar5 = *param_1;\n  uVar7 = *param_2;\n  iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar5,auStack_b8);\n  if ((iVar2 == -1) || ((local_a0 & 0xf000) != 0x4000)) {\n    iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);\n    bVar1 = false;\n    if (iVar2 != -1) goto LAB_0001d724;\nLAB_0001d738:\n    iVar2 = -1;\n    if (bVar1) goto LAB_0001d758;\n  }\n  else {\n    iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);\n    bVar1 = true;\n    if (iVar2 == -1) {\n      iVar2 = -1;\n      goto LAB_0001d758;\n    }\nLAB_0001d724:\n    if ((local_a0 & 0xf000) != 0x4000) goto LAB_0001d738;\n    if (!bVar1) {\n      iVar2 = 1;\n      goto LAB_0001d758;\n    }\n  }\n  iVar2 = mbstrcasecmp(uVar5,uVar7);\nLAB_0001d758:\n  if (local_14 == *(int *)PTR___stack_chk_guard_0007d12c) {\n    return iVar2;\n  }\n  iVar2 = local_14;\n  puVar9 = PTR___stack_chk_fail_0007d0f8;\n  (*(code *)PTR___stack_chk_fail_0007d0f8)();\n  iStack_ec = **(int **)(puVar9 + 0x5f968);\n  uStack_e4 = uVar5;\n  uStack_e0 = uVar7;\n  uVar5 = (**(code **)(puVar9 + 0x5edb8))(0,iVar2);\n  uVar7 = (**(code **)(puVar9 + 0x5f898))(uVar5);\n  iVar2 = (**(code **)(puVar9 + 0x5f740))(3,uVar7,auStack_190);\n  if (iVar2 == -1) {\n    piVar6 = (int *)(**(code **)(puVar9 + 0x5f824))();\n    if (*piVar6 == 2) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45b0,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45d0);\n      uVar4 = (**(code **)(puVar9 + 0x5f89c))(*piVar6);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7,uVar4);\n      iVar2 = 0;\n    }\n  }\n  else if ((uStack_178 & 0xf000) == 0x4000) {\n    iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,1,5);\n    if (iVar2 == -1) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else if ((*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8) == 0) {\n      iVar2 = 1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);\n      if (iVar2 == -1) {\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }\n  }\n  else {\n    uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45e0);\n    (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n    iVar2 = 0;\n  }\n  (**(code **)(puVar9 + 0x5f97c))(uVar5);\n  if (iStack_ec != **(int **)(puVar9 + 0x5f968)) {\n    pcVar10 = *(code **)(puVar9 + 0x5f934);\n    (*pcVar10)();\n    piVar6 = *(int **)(pcVar10 + 0x5ec50);\n    iVar2 = *piVar6;\n    uVar5 = make_new_node(0);\n    *(undefined4 *)(iVar2 + 4) = uVar5;\n    puVar8 = *(undefined4 **)(*piVar6 + 4);\n    uVar5 = (**(code **)(pcVar10 + 0x5eae4))(0,*(int *)(pcVar10 + 0x5ead8) + -0x7e54);\n    *puVar8 = uVar5;\n    iVar2 = *piVar6;\n    uVar5 = *(undefined4 *)(iVar2 + 4);\n    *(undefined4 *)(iVar2 + 8) = uVar5;\n    *(undefined4 *)(iVar2 + 0xc) = uVar5;\n    *(undefined4 *)(iVar2 + 0x10) = uVar5;\n    *(undefined4 *)(iVar2 + 0x18) = 0;\n    *(undefined4 *)(iVar2 + 0x1c) = 0;\n    *(undefined4 *)(iVar2 + 0x14) = 0;\n    return iVar2;\n  }\n  return iVar2;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "code *pcVar10;" type_identifier (pointer_declarator "*pcVar10" * identifier) ;) (declaration "undefined1 auStack_190 [24];" type_identifier (array_declarator "auStack_190 [24]" identifier [ number_literal ]) ;) (declaration "uint uStack_178;" type_identifier identifier ;) (declaration "int iStack_ec;" primitive_type identifier ;) (declaration "undefined4 uStack_e4;" type_identifier identifier ;) (declaration "undefined4 uStack_e0;" type_identifier identifier ;) (declaration "undefined1 auStack_b8 [24];" type_identifier (array_declarator "auStack_b8 [24]" identifier [ number_literal ]) ;) (declaration "uint local_a0;" type_identifier identifier ;) (declaration "int local_14;" primitive_type identifier ;) (expression_statement "local_14 = *(int *)PTR___stack_chk_guard_0007d12c;" (assignment_expression "local_14 = *(int *)PTR___stack_chk_guard_0007d12c" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0007d12c" * (cast_expression "(int *)PTR___stack_chk_guard_0007d12c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar5 = *param_1;" (assignment_expression "uVar5 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar7 = *param_2;" (assignment_expression "uVar7 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar5,auStack_b8);" (assignment_expression "iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar5,auStack_b8)" identifier = (call_expression "(*(code *)PTR___xstat64_0007cf04)(3,uVar5,auStack_b8)" (parenthesized_expression "(*(code *)PTR___xstat64_0007cf04)" ( (pointer_expression "*(code *)PTR___xstat64_0007cf04" * (cast_expression "(code *)PTR___xstat64_0007cf04" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3,uVar5,auStack_b8)" ( number_literal , identifier , identifier )))) ;) (if_statement "if ((iVar2 == -1) || ((local_a0 & 0xf000) != 0x4000)) {\n    iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);\n    bVar1 = false;\n    if (iVar2 != -1) goto LAB_0001d724;\nLAB_0001d738:\n    iVar2 = -1;\n    if (bVar1) goto LAB_0001d758;\n  }\n  else {\n    iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);\n    bVar1 = true;\n    if (iVar2 == -1) {\n      iVar2 = -1;\n      goto LAB_0001d758;\n    }\nLAB_0001d724:\n    if ((local_a0 & 0xf000) != 0x4000) goto LAB_0001d738;\n    if (!bVar1) {\n      iVar2 = 1;\n      goto LAB_0001d758;\n    }\n  }" if (parenthesized_expression "((iVar2 == -1) || ((local_a0 & 0xf000) != 0x4000))" ( (binary_expression "(iVar2 == -1) || ((local_a0 & 0xf000) != 0x4000)" (parenthesized_expression "(iVar2 == -1)" ( (binary_expression "iVar2 == -1" identifier == number_literal) )) || (parenthesized_expression "((local_a0 & 0xf000) != 0x4000)" ( (binary_expression "(local_a0 & 0xf000) != 0x4000" (parenthesized_expression "(local_a0 & 0xf000)" ( (binary_expression "local_a0 & 0xf000" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n    iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);\n    bVar1 = false;\n    if (iVar2 != -1) goto LAB_0001d724;\nLAB_0001d738:\n    iVar2 = -1;\n    if (bVar1) goto LAB_0001d758;\n  }" { (expression_statement "iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);" (assignment_expression "iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8)" identifier = (call_expression "(*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8)" (parenthesized_expression "(*(code *)PTR___xstat64_0007cf04)" ( (pointer_expression "*(code *)PTR___xstat64_0007cf04" * (cast_expression "(code *)PTR___xstat64_0007cf04" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3,uVar7,auStack_b8)" ( number_literal , identifier , identifier )))) ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (if_statement "if (iVar2 != -1) goto LAB_0001d724;" if (parenthesized_expression "(iVar2 != -1)" ( (binary_expression "iVar2 != -1" identifier != number_literal) )) (goto_statement "goto LAB_0001d724;" goto statement_identifier ;)) (labeled_statement "LAB_0001d738:\n    iVar2 = -1;" statement_identifier : (expression_statement "iVar2 = -1;" (assignment_expression "iVar2 = -1" identifier = number_literal) ;)) (if_statement "if (bVar1) goto LAB_0001d758;" if (parenthesized_expression "(bVar1)" ( identifier )) (goto_statement "goto LAB_0001d758;" goto statement_identifier ;)) }) (else_clause "else {\n    iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);\n    bVar1 = true;\n    if (iVar2 == -1) {\n      iVar2 = -1;\n      goto LAB_0001d758;\n    }\nLAB_0001d724:\n    if ((local_a0 & 0xf000) != 0x4000) goto LAB_0001d738;\n    if (!bVar1) {\n      iVar2 = 1;\n      goto LAB_0001d758;\n    }\n  }" else (compound_statement "{\n    iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);\n    bVar1 = true;\n    if (iVar2 == -1) {\n      iVar2 = -1;\n      goto LAB_0001d758;\n    }\nLAB_0001d724:\n    if ((local_a0 & 0xf000) != 0x4000) goto LAB_0001d738;\n    if (!bVar1) {\n      iVar2 = 1;\n      goto LAB_0001d758;\n    }\n  }" { (expression_statement "iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);" (assignment_expression "iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8)" identifier = (call_expression "(*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8)" (parenthesized_expression "(*(code *)PTR___xstat64_0007cf04)" ( (pointer_expression "*(code *)PTR___xstat64_0007cf04" * (cast_expression "(code *)PTR___xstat64_0007cf04" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3,uVar7,auStack_b8)" ( number_literal , identifier , identifier )))) ;) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (if_statement "if (iVar2 == -1) {\n      iVar2 = -1;\n      goto LAB_0001d758;\n    }" if (parenthesized_expression "(iVar2 == -1)" ( (binary_expression "iVar2 == -1" identifier == number_literal) )) (compound_statement "{\n      iVar2 = -1;\n      goto LAB_0001d758;\n    }" { (expression_statement "iVar2 = -1;" (assignment_expression "iVar2 = -1" identifier = number_literal) ;) (goto_statement "goto LAB_0001d758;" goto statement_identifier ;) })) (labeled_statement "LAB_0001d724:\n    if ((local_a0 & 0xf000) != 0x4000) goto LAB_0001d738;" statement_identifier : (if_statement "if ((local_a0 & 0xf000) != 0x4000) goto LAB_0001d738;" if (parenthesized_expression "((local_a0 & 0xf000) != 0x4000)" ( (binary_expression "(local_a0 & 0xf000) != 0x4000" (parenthesized_expression "(local_a0 & 0xf000)" ( (binary_expression "local_a0 & 0xf000" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0001d738;" goto statement_identifier ;))) (if_statement "if (!bVar1) {\n      iVar2 = 1;\n      goto LAB_0001d758;\n    }" if (parenthesized_expression "(!bVar1)" ( (unary_expression "!bVar1" ! identifier) )) (compound_statement "{\n      iVar2 = 1;\n      goto LAB_0001d758;\n    }" { (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0001d758;" goto statement_identifier ;) })) }))) (expression_statement "iVar2 = mbstrcasecmp(uVar5,uVar7);" (assignment_expression "iVar2 = mbstrcasecmp(uVar5,uVar7)" identifier = (call_expression "mbstrcasecmp(uVar5,uVar7)" identifier (argument_list "(uVar5,uVar7)" ( identifier , identifier )))) ;) (labeled_statement "LAB_0001d758:\n  if (local_14 == *(int *)PTR___stack_chk_guard_0007d12c) {\n    return iVar2;\n  }" statement_identifier : (if_statement "if (local_14 == *(int *)PTR___stack_chk_guard_0007d12c) {\n    return iVar2;\n  }" if (parenthesized_expression "(local_14 == *(int *)PTR___stack_chk_guard_0007d12c)" ( (binary_expression "local_14 == *(int *)PTR___stack_chk_guard_0007d12c" identifier == (pointer_expression "*(int *)PTR___stack_chk_guard_0007d12c" * (cast_expression "(int *)PTR___stack_chk_guard_0007d12c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return iVar2;\n  }" { (return_statement "return iVar2;" return identifier ;) }))) (expression_statement "iVar2 = local_14;" (assignment_expression "iVar2 = local_14" identifier = identifier) ;) (expression_statement "puVar9 = PTR___stack_chk_fail_0007d0f8;" (assignment_expression "puVar9 = PTR___stack_chk_fail_0007d0f8" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0007d0f8)();" (call_expression "(*(code *)PTR___stack_chk_fail_0007d0f8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0007d0f8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0007d0f8" * (cast_expression "(code *)PTR___stack_chk_fail_0007d0f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iStack_ec = **(int **)(puVar9 + 0x5f968);" (assignment_expression "iStack_ec = **(int **)(puVar9 + 0x5f968)" identifier = (pointer_expression "**(int **)(puVar9 + 0x5f968)" * (pointer_expression "*(int **)(puVar9 + 0x5f968)" * (cast_expression "(int **)(puVar9 + 0x5f968)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5f968)" ( (binary_expression "puVar9 + 0x5f968" identifier + number_literal) )))))) ;) (expression_statement "uStack_e4 = uVar5;" (assignment_expression "uStack_e4 = uVar5" identifier = identifier) ;) (expression_statement "uStack_e0 = uVar7;" (assignment_expression "uStack_e0 = uVar7" identifier = identifier) ;) (expression_statement "uVar5 = (**(code **)(puVar9 + 0x5edb8))(0,iVar2);" (assignment_expression "uVar5 = (**(code **)(puVar9 + 0x5edb8))(0,iVar2)" identifier = (call_expression "(**(code **)(puVar9 + 0x5edb8))(0,iVar2)" (parenthesized_expression "(**(code **)(puVar9 + 0x5edb8))" ( (pointer_expression "**(code **)(puVar9 + 0x5edb8)" * (pointer_expression "*(code **)(puVar9 + 0x5edb8)" * (cast_expression "(code **)(puVar9 + 0x5edb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5edb8)" ( (binary_expression "puVar9 + 0x5edb8" identifier + number_literal) ))))) )) (argument_list "(0,iVar2)" ( number_literal , identifier )))) ;) (expression_statement "uVar7 = (**(code **)(puVar9 + 0x5f898))(uVar5);" (assignment_expression "uVar7 = (**(code **)(puVar9 + 0x5f898))(uVar5)" identifier = (call_expression "(**(code **)(puVar9 + 0x5f898))(uVar5)" (parenthesized_expression "(**(code **)(puVar9 + 0x5f898))" ( (pointer_expression "**(code **)(puVar9 + 0x5f898)" * (pointer_expression "*(code **)(puVar9 + 0x5f898)" * (cast_expression "(code **)(puVar9 + 0x5f898)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5f898)" ( (binary_expression "puVar9 + 0x5f898" identifier + number_literal) ))))) )) (argument_list "(uVar5)" ( identifier )))) ;) (expression_statement "iVar2 = (**(code **)(puVar9 + 0x5f740))(3,uVar7,auStack_190);" (assignment_expression "iVar2 = (**(code **)(puVar9 + 0x5f740))(3,uVar7,auStack_190)" identifier = (call_expression "(**(code **)(puVar9 + 0x5f740))(3,uVar7,auStack_190)" (parenthesized_expression "(**(code **)(puVar9 + 0x5f740))" ( (pointer_expression "**(code **)(puVar9 + 0x5f740)" * (pointer_expression "*(code **)(puVar9 + 0x5f740)" * (cast_expression "(code **)(puVar9 + 0x5f740)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5f740)" ( (binary_expression "puVar9 + 0x5f740" identifier + number_literal) ))))) )) (argument_list "(3,uVar7,auStack_190)" ( number_literal , identifier , identifier )))) ;) (if_statement "if (iVar2 == -1) {\n    piVar6 = (int *)(**(code **)(puVar9 + 0x5f824))();\n    if (*piVar6 == 2) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45b0,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45d0);\n      uVar4 = (**(code **)(puVar9 + 0x5f89c))(*piVar6);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7,uVar4);\n      iVar2 = 0;\n    }\n  }\n  else if ((uStack_178 & 0xf000) == 0x4000) {\n    iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,1,5);\n    if (iVar2 == -1) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else if ((*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8) == 0) {\n      iVar2 = 1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);\n      if (iVar2 == -1) {\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }\n  }\n  else {\n    uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45e0);\n    (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n    iVar2 = 0;\n  }" if (parenthesized_expression "(iVar2 == -1)" ( (binary_expression "iVar2 == -1" identifier == number_literal) )) (compound_statement "{\n    piVar6 = (int *)(**(code **)(puVar9 + 0x5f824))();\n    if (*piVar6 == 2) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45b0,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45d0);\n      uVar4 = (**(code **)(puVar9 + 0x5f89c))(*piVar6);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7,uVar4);\n      iVar2 = 0;\n    }\n  }" { (expression_statement "piVar6 = (int *)(**(code **)(puVar9 + 0x5f824))();" (assignment_expression "piVar6 = (int *)(**(code **)(puVar9 + 0x5f824))()" identifier = (cast_expression "(int *)(**(code **)(puVar9 + 0x5f824))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar9 + 0x5f824))()" (parenthesized_expression "(**(code **)(puVar9 + 0x5f824))" ( (pointer_expression "**(code **)(puVar9 + 0x5f824)" * (pointer_expression "*(code **)(puVar9 + 0x5f824)" * (cast_expression "(code **)(puVar9 + 0x5f824)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5f824)" ( (binary_expression "puVar9 + 0x5f824" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (if_statement "if (*piVar6 == 2) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45b0,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45d0);\n      uVar4 = (**(code **)(puVar9 + 0x5f89c))(*piVar6);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7,uVar4);\n      iVar2 = 0;\n    }" if (parenthesized_expression "(*piVar6 == 2)" ( (binary_expression "*piVar6 == 2" (pointer_expression "*piVar6" * identifier) == number_literal) )) (compound_statement "{\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45b0,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }" { (expression_statement "uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45b0,5);" (assignment_expression "uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45b0,5)" identifier = (call_expression "(**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45b0,5)" (parenthesized_expression "(**(code **)(puVar9 + 0x5f93c))" ( (pointer_expression "**(code **)(puVar9 + 0x5f93c)" * (pointer_expression "*(code **)(puVar9 + 0x5f93c)" * (cast_expression "(code **)(puVar9 + 0x5f93c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5f93c)" ( (binary_expression "puVar9 + 0x5f93c" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar9 + 0x5ed94) + 0x45b0,5)" ( number_literal , (binary_expression "*(int *)(puVar9 + 0x5ed94) + 0x45b0" (pointer_expression "*(int *)(puVar9 + 0x5ed94)" * (cast_expression "(int *)(puVar9 + 0x5ed94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x5ed94)" ( (binary_expression "puVar9 + 0x5ed94" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);" (call_expression "(**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7)" (parenthesized_expression "(**(code **)(puVar9 + 0x5ee34))" ( (pointer_expression "**(code **)(puVar9 + 0x5ee34)" * (pointer_expression "*(code **)(puVar9 + 0x5ee34)" * (cast_expression "(code **)(puVar9 + 0x5ee34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5ee34)" ( (binary_expression "puVar9 + 0x5ee34" identifier + number_literal) ))))) )) (argument_list "(3,uVar3,uVar7)" ( number_literal , identifier , identifier ))) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45d0);\n      uVar4 = (**(code **)(puVar9 + 0x5f89c))(*piVar6);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7,uVar4);\n      iVar2 = 0;\n    }" else (compound_statement "{\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45d0);\n      uVar4 = (**(code **)(puVar9 + 0x5f89c))(*piVar6);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7,uVar4);\n      iVar2 = 0;\n    }" { (expression_statement "uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45d0);" (assignment_expression "uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45d0)" identifier = (call_expression "(**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45d0)" (parenthesized_expression "(**(code **)(puVar9 + 0x5f93c))" ( (pointer_expression "**(code **)(puVar9 + 0x5f93c)" * (pointer_expression "*(code **)(puVar9 + 0x5f93c)" * (cast_expression "(code **)(puVar9 + 0x5f93c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5f93c)" ( (binary_expression "puVar9 + 0x5f93c" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar9 + 0x5ed94) + 0x45d0)" ( number_literal , (binary_expression "*(int *)(puVar9 + 0x5ed94) + 0x45d0" (pointer_expression "*(int *)(puVar9 + 0x5ed94)" * (cast_expression "(int *)(puVar9 + 0x5ed94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x5ed94)" ( (binary_expression "puVar9 + 0x5ed94" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "uVar4 = (**(code **)(puVar9 + 0x5f89c))(*piVar6);" (assignment_expression "uVar4 = (**(code **)(puVar9 + 0x5f89c))(*piVar6)" identifier = (call_expression "(**(code **)(puVar9 + 0x5f89c))(*piVar6)" (parenthesized_expression "(**(code **)(puVar9 + 0x5f89c))" ( (pointer_expression "**(code **)(puVar9 + 0x5f89c)" * (pointer_expression "*(code **)(puVar9 + 0x5f89c)" * (cast_expression "(code **)(puVar9 + 0x5f89c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5f89c)" ( (binary_expression "puVar9 + 0x5f89c" identifier + number_literal) ))))) )) (argument_list "(*piVar6)" ( (pointer_expression "*piVar6" * identifier) )))) ;) (expression_statement "(**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7,uVar4);" (call_expression "(**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7,uVar4)" (parenthesized_expression "(**(code **)(puVar9 + 0x5ee34))" ( (pointer_expression "**(code **)(puVar9 + 0x5ee34)" * (pointer_expression "*(code **)(puVar9 + 0x5ee34)" * (cast_expression "(code **)(puVar9 + 0x5ee34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5ee34)" ( (binary_expression "puVar9 + 0x5ee34" identifier + number_literal) ))))) )) (argument_list "(3,uVar3,uVar7,uVar4)" ( number_literal , identifier , identifier , identifier ))) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) }))) }) (else_clause "else if ((uStack_178 & 0xf000) == 0x4000) {\n    iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,1,5);\n    if (iVar2 == -1) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else if ((*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8) == 0) {\n      iVar2 = 1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);\n      if (iVar2 == -1) {\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }\n  }\n  else {\n    uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45e0);\n    (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n    iVar2 = 0;\n  }" else (if_statement "if ((uStack_178 & 0xf000) == 0x4000) {\n    iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,1,5);\n    if (iVar2 == -1) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else if ((*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8) == 0) {\n      iVar2 = 1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);\n      if (iVar2 == -1) {\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }\n  }\n  else {\n    uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45e0);\n    (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n    iVar2 = 0;\n  }" if (parenthesized_expression "((uStack_178 & 0xf000) == 0x4000)" ( (binary_expression "(uStack_178 & 0xf000) == 0x4000" (parenthesized_expression "(uStack_178 & 0xf000)" ( (binary_expression "uStack_178 & 0xf000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,1,5);\n    if (iVar2 == -1) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else if ((*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8) == 0) {\n      iVar2 = 1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);\n      if (iVar2 == -1) {\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }\n  }" { (expression_statement "iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,1,5);" (assignment_expression "iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,1,5)" identifier = (call_expression "(**(code **)(puVar9 + 0x5f7f0))(uVar7,1,5)" (parenthesized_expression "(**(code **)(puVar9 + 0x5f7f0))" ( (pointer_expression "**(code **)(puVar9 + 0x5f7f0)" * (pointer_expression "*(code **)(puVar9 + 0x5f7f0)" * (cast_expression "(code **)(puVar9 + 0x5f7f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5f7f0)" ( (binary_expression "puVar9 + 0x5f7f0" identifier + number_literal) ))))) )) (argument_list "(uVar7,1,5)" ( identifier , number_literal , number_literal )))) ;) (if_statement "if (iVar2 == -1) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else if ((*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8) == 0) {\n      iVar2 = 1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);\n      if (iVar2 == -1) {\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }" if (parenthesized_expression "(iVar2 == -1)" ( (binary_expression "iVar2 == -1" identifier == number_literal) )) (compound_statement "{\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }" { (expression_statement "uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5);" (assignment_expression "uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5)" identifier = (call_expression "(**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5)" (parenthesized_expression "(**(code **)(puVar9 + 0x5f93c))" ( (pointer_expression "**(code **)(puVar9 + 0x5f93c)" * (pointer_expression "*(code **)(puVar9 + 0x5f93c)" * (cast_expression "(code **)(puVar9 + 0x5f93c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5f93c)" ( (binary_expression "puVar9 + 0x5f93c" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5)" ( number_literal , (binary_expression "*(int *)(puVar9 + 0x5ed94) + 0x4600" (pointer_expression "*(int *)(puVar9 + 0x5ed94)" * (cast_expression "(int *)(puVar9 + 0x5ed94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x5ed94)" ( (binary_expression "puVar9 + 0x5ed94" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);" (call_expression "(**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7)" (parenthesized_expression "(**(code **)(puVar9 + 0x5ee34))" ( (pointer_expression "**(code **)(puVar9 + 0x5ee34)" * (pointer_expression "*(code **)(puVar9 + 0x5ee34)" * (cast_expression "(code **)(puVar9 + 0x5ee34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5ee34)" ( (binary_expression "puVar9 + 0x5ee34" identifier + number_literal) ))))) )) (argument_list "(3,uVar3,uVar7)" ( number_literal , identifier , identifier ))) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) }) (else_clause "else if ((*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8) == 0) {\n      iVar2 = 1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);\n      if (iVar2 == -1) {\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }" else (if_statement "if ((*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8) == 0) {\n      iVar2 = 1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);\n      if (iVar2 == -1) {\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }" if (parenthesized_expression "((*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8) == 0)" ( (binary_expression "(*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8) == 0" (parenthesized_expression "(*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8)" ( (binary_expression "*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8" (pointer_expression "*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4)" * (cast_expression "(uint *)(*(int *)(puVar9 + 0x5edc0) + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar9 + 0x5edc0) + 4)" ( (binary_expression "*(int *)(puVar9 + 0x5edc0) + 4" (pointer_expression "*(int *)(puVar9 + 0x5edc0)" * (cast_expression "(int *)(puVar9 + 0x5edc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x5edc0)" ( (binary_expression "puVar9 + 0x5edc0" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      iVar2 = 1;\n    }" { (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" identifier = number_literal) ;) }) (else_clause "else {\n      iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);\n      if (iVar2 == -1) {\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }" else (compound_statement "{\n      iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);\n      if (iVar2 == -1) {\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }" { (expression_statement "iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);" (assignment_expression "iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2)" identifier = (call_expression "(**(code **)(puVar9 + 0x5f7f0))(uVar7,2)" (parenthesized_expression "(**(code **)(puVar9 + 0x5f7f0))" ( (pointer_expression "**(code **)(puVar9 + 0x5f7f0)" * (pointer_expression "*(code **)(puVar9 + 0x5f7f0)" * (cast_expression "(code **)(puVar9 + 0x5f7f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5f7f0)" ( (binary_expression "puVar9 + 0x5f7f0" identifier + number_literal) ))))) )) (argument_list "(uVar7,2)" ( identifier , number_literal )))) ;) (if_statement "if (iVar2 == -1) {\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }" if (parenthesized_expression "(iVar2 == -1)" ( (binary_expression "iVar2 == -1" identifier == number_literal) )) (compound_statement "{\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }" { (expression_statement "uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);" (assignment_expression "uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5)" identifier = (call_expression "(**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5)" (parenthesized_expression "(**(code **)(puVar9 + 0x5f93c))" ( (pointer_expression "**(code **)(puVar9 + 0x5f93c)" * (pointer_expression "*(code **)(puVar9 + 0x5f93c)" * (cast_expression "(code **)(puVar9 + 0x5f93c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5f93c)" ( (binary_expression "puVar9 + 0x5f93c" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5)" ( number_literal , (binary_expression "*(int *)(puVar9 + 0x5ed94) + 0x461c" (pointer_expression "*(int *)(puVar9 + 0x5ed94)" * (cast_expression "(int *)(puVar9 + 0x5ed94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x5ed94)" ( (binary_expression "puVar9 + 0x5ed94" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);" (call_expression "(**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7)" (parenthesized_expression "(**(code **)(puVar9 + 0x5ee34))" ( (pointer_expression "**(code **)(puVar9 + 0x5ee34)" * (pointer_expression "*(code **)(puVar9 + 0x5ee34)" * (cast_expression "(code **)(puVar9 + 0x5ee34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5ee34)" ( (binary_expression "puVar9 + 0x5ee34" identifier + number_literal) ))))) )) (argument_list "(2,uVar3,uVar7)" ( number_literal , identifier , identifier ))) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        iVar2 = 1;\n      }" else (compound_statement "{\n        iVar2 = 1;\n      }" { (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" identifier = number_literal) ;) }))) }))))) }) (else_clause "else {\n    uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45e0);\n    (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n    iVar2 = 0;\n  }" else (compound_statement "{\n    uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45e0);\n    (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n    iVar2 = 0;\n  }" { (expression_statement "uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45e0);" (assignment_expression "uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45e0)" identifier = (call_expression "(**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45e0)" (parenthesized_expression "(**(code **)(puVar9 + 0x5f93c))" ( (pointer_expression "**(code **)(puVar9 + 0x5f93c)" * (pointer_expression "*(code **)(puVar9 + 0x5f93c)" * (cast_expression "(code **)(puVar9 + 0x5f93c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5f93c)" ( (binary_expression "puVar9 + 0x5f93c" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar9 + 0x5ed94) + 0x45e0)" ( number_literal , (binary_expression "*(int *)(puVar9 + 0x5ed94) + 0x45e0" (pointer_expression "*(int *)(puVar9 + 0x5ed94)" * (cast_expression "(int *)(puVar9 + 0x5ed94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x5ed94)" ( (binary_expression "puVar9 + 0x5ed94" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);" (call_expression "(**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7)" (parenthesized_expression "(**(code **)(puVar9 + 0x5ee34))" ( (pointer_expression "**(code **)(puVar9 + 0x5ee34)" * (pointer_expression "*(code **)(puVar9 + 0x5ee34)" * (cast_expression "(code **)(puVar9 + 0x5ee34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5ee34)" ( (binary_expression "puVar9 + 0x5ee34" identifier + number_literal) ))))) )) (argument_list "(3,uVar3,uVar7)" ( number_literal , identifier , identifier ))) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) }))))) (expression_statement "(**(code **)(puVar9 + 0x5f97c))(uVar5);" (call_expression "(**(code **)(puVar9 + 0x5f97c))(uVar5)" (parenthesized_expression "(**(code **)(puVar9 + 0x5f97c))" ( (pointer_expression "**(code **)(puVar9 + 0x5f97c)" * (pointer_expression "*(code **)(puVar9 + 0x5f97c)" * (cast_expression "(code **)(puVar9 + 0x5f97c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5f97c)" ( (binary_expression "puVar9 + 0x5f97c" identifier + number_literal) ))))) )) (argument_list "(uVar5)" ( identifier ))) ;) (if_statement "if (iStack_ec != **(int **)(puVar9 + 0x5f968)) {\n    pcVar10 = *(code **)(puVar9 + 0x5f934);\n    (*pcVar10)();\n    piVar6 = *(int **)(pcVar10 + 0x5ec50);\n    iVar2 = *piVar6;\n    uVar5 = make_new_node(0);\n    *(undefined4 *)(iVar2 + 4) = uVar5;\n    puVar8 = *(undefined4 **)(*piVar6 + 4);\n    uVar5 = (**(code **)(pcVar10 + 0x5eae4))(0,*(int *)(pcVar10 + 0x5ead8) + -0x7e54);\n    *puVar8 = uVar5;\n    iVar2 = *piVar6;\n    uVar5 = *(undefined4 *)(iVar2 + 4);\n    *(undefined4 *)(iVar2 + 8) = uVar5;\n    *(undefined4 *)(iVar2 + 0xc) = uVar5;\n    *(undefined4 *)(iVar2 + 0x10) = uVar5;\n    *(undefined4 *)(iVar2 + 0x18) = 0;\n    *(undefined4 *)(iVar2 + 0x1c) = 0;\n    *(undefined4 *)(iVar2 + 0x14) = 0;\n    return iVar2;\n  }" if (parenthesized_expression "(iStack_ec != **(int **)(puVar9 + 0x5f968))" ( (binary_expression "iStack_ec != **(int **)(puVar9 + 0x5f968)" identifier != (pointer_expression "**(int **)(puVar9 + 0x5f968)" * (pointer_expression "*(int **)(puVar9 + 0x5f968)" * (cast_expression "(int **)(puVar9 + 0x5f968)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5f968)" ( (binary_expression "puVar9 + 0x5f968" identifier + number_literal) )))))) )) (compound_statement "{\n    pcVar10 = *(code **)(puVar9 + 0x5f934);\n    (*pcVar10)();\n    piVar6 = *(int **)(pcVar10 + 0x5ec50);\n    iVar2 = *piVar6;\n    uVar5 = make_new_node(0);\n    *(undefined4 *)(iVar2 + 4) = uVar5;\n    puVar8 = *(undefined4 **)(*piVar6 + 4);\n    uVar5 = (**(code **)(pcVar10 + 0x5eae4))(0,*(int *)(pcVar10 + 0x5ead8) + -0x7e54);\n    *puVar8 = uVar5;\n    iVar2 = *piVar6;\n    uVar5 = *(undefined4 *)(iVar2 + 4);\n    *(undefined4 *)(iVar2 + 8) = uVar5;\n    *(undefined4 *)(iVar2 + 0xc) = uVar5;\n    *(undefined4 *)(iVar2 + 0x10) = uVar5;\n    *(undefined4 *)(iVar2 + 0x18) = 0;\n    *(undefined4 *)(iVar2 + 0x1c) = 0;\n    *(undefined4 *)(iVar2 + 0x14) = 0;\n    return iVar2;\n  }" { (expression_statement "pcVar10 = *(code **)(puVar9 + 0x5f934);" (assignment_expression "pcVar10 = *(code **)(puVar9 + 0x5f934)" identifier = (pointer_expression "*(code **)(puVar9 + 0x5f934)" * (cast_expression "(code **)(puVar9 + 0x5f934)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5f934)" ( (binary_expression "puVar9 + 0x5f934" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar10)();" (call_expression "(*pcVar10)()" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar6 = *(int **)(pcVar10 + 0x5ec50);" (assignment_expression "piVar6 = *(int **)(pcVar10 + 0x5ec50)" identifier = (pointer_expression "*(int **)(pcVar10 + 0x5ec50)" * (cast_expression "(int **)(pcVar10 + 0x5ec50)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x5ec50)" ( (binary_expression "pcVar10 + 0x5ec50" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *piVar6;" (assignment_expression "iVar2 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "uVar5 = make_new_node(0);" (assignment_expression "uVar5 = make_new_node(0)" identifier = (call_expression "make_new_node(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "*(undefined4 *)(iVar2 + 4) = uVar5;" (assignment_expression "*(undefined4 *)(iVar2 + 4) = uVar5" (pointer_expression "*(undefined4 *)(iVar2 + 4)" * (cast_expression "(undefined4 *)(iVar2 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar8 = *(undefined4 **)(*piVar6 + 4);" (assignment_expression "puVar8 = *(undefined4 **)(*piVar6 + 4)" identifier = (pointer_expression "*(undefined4 **)(*piVar6 + 4)" * (cast_expression "(undefined4 **)(*piVar6 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar6 + 4)" ( (binary_expression "*piVar6 + 4" (pointer_expression "*piVar6" * identifier) + number_literal) ))))) ;) (expression_statement "uVar5 = (**(code **)(pcVar10 + 0x5eae4))(0,*(int *)(pcVar10 + 0x5ead8) + -0x7e54);" (assignment_expression "uVar5 = (**(code **)(pcVar10 + 0x5eae4))(0,*(int *)(pcVar10 + 0x5ead8) + -0x7e54)" identifier = (call_expression "(**(code **)(pcVar10 + 0x5eae4))(0,*(int *)(pcVar10 + 0x5ead8) + -0x7e54)" (parenthesized_expression "(**(code **)(pcVar10 + 0x5eae4))" ( (pointer_expression "**(code **)(pcVar10 + 0x5eae4)" * (pointer_expression "*(code **)(pcVar10 + 0x5eae4)" * (cast_expression "(code **)(pcVar10 + 0x5eae4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x5eae4)" ( (binary_expression "pcVar10 + 0x5eae4" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar10 + 0x5ead8) + -0x7e54)" ( number_literal , (binary_expression "*(int *)(pcVar10 + 0x5ead8) + -0x7e54" (pointer_expression "*(int *)(pcVar10 + 0x5ead8)" * (cast_expression "(int *)(pcVar10 + 0x5ead8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x5ead8)" ( (binary_expression "pcVar10 + 0x5ead8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "*puVar8 = uVar5;" (assignment_expression "*puVar8 = uVar5" (pointer_expression "*puVar8" * identifier) = identifier) ;) (expression_statement "iVar2 = *piVar6;" (assignment_expression "iVar2 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "uVar5 = *(undefined4 *)(iVar2 + 4);" (assignment_expression "uVar5 = *(undefined4 *)(iVar2 + 4)" identifier = (pointer_expression "*(undefined4 *)(iVar2 + 4)" * (cast_expression "(undefined4 *)(iVar2 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar2 + 8) = uVar5;" (assignment_expression "*(undefined4 *)(iVar2 + 8) = uVar5" (pointer_expression "*(undefined4 *)(iVar2 + 8)" * (cast_expression "(undefined4 *)(iVar2 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar2 + 0xc) = uVar5;" (assignment_expression "*(undefined4 *)(iVar2 + 0xc) = uVar5" (pointer_expression "*(undefined4 *)(iVar2 + 0xc)" * (cast_expression "(undefined4 *)(iVar2 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xc)" ( (binary_expression "iVar2 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar2 + 0x10) = uVar5;" (assignment_expression "*(undefined4 *)(iVar2 + 0x10) = uVar5" (pointer_expression "*(undefined4 *)(iVar2 + 0x10)" * (cast_expression "(undefined4 *)(iVar2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar2 + 0x18) = 0;" (assignment_expression "*(undefined4 *)(iVar2 + 0x18) = 0" (pointer_expression "*(undefined4 *)(iVar2 + 0x18)" * (cast_expression "(undefined4 *)(iVar2 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x18)" ( (binary_expression "iVar2 + 0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar2 + 0x1c) = 0;" (assignment_expression "*(undefined4 *)(iVar2 + 0x1c) = 0" (pointer_expression "*(undefined4 *)(iVar2 + 0x1c)" * (cast_expression "(undefined4 *)(iVar2 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar2 + 0x14) = 0;" (assignment_expression "*(undefined4 *)(iVar2 + 0x14) = 0" (pointer_expression "*(undefined4 *)(iVar2 + 0x14)" * (cast_expression "(undefined4 *)(iVar2 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x14)" ( (binary_expression "iVar2 + 0x14" identifier + number_literal) )))) = number_literal) ;) (return_statement "return iVar2;" return identifier ;) })) (return_statement "return iVar2;" return identifier ;) })))
(translation_unit "int diralphasort(void *va,void *vb)\n\n{\n  bool bVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  filestruct *pfVar8;\n  char *s1;\n  int *piVar9;\n  char *s2;\n  undefined4 *puVar10;\n  undefined *puVar11;\n  code *pcVar12;\n  undefined1 auStack_190 [24];\n  uint uStack_178;\n  int iStack_ec;\n  char *pcStack_e4;\n  char *pcStack_e0;\n  stat fileinfo;\n  \n  iVar2 = *(int *)PTR___stack_chk_guard_0007d12c;\n                    /* WARNING: Load size is inaccurate */\n  s1 = *va;\n                    /* WARNING: Load size is inaccurate */\n  s2 = *vb;\n  iVar3 = (*(code *)PTR___xstat64_0007cf04)(3,s1,&fileinfo);\n  if ((iVar3 == -1) || ((fileinfo.st_mode & 0xf000) != 0x4000)) {\n    iVar3 = (*(code *)PTR___xstat64_0007cf04)(3,s2,&fileinfo);\n    bVar1 = false;\n    if (iVar3 != -1) goto LAB_0001d724;\nLAB_0001d738:\n    iVar3 = -1;\n    if (bVar1) goto LAB_0001d758;\n  }\n  else {\n    iVar3 = (*(code *)PTR___xstat64_0007cf04)(3,s2,&fileinfo);\n    bVar1 = true;\n    if (iVar3 == -1) {\n      iVar3 = -1;\n      goto LAB_0001d758;\n    }\nLAB_0001d724:\n    if ((fileinfo.st_mode & 0xf000) != 0x4000) goto LAB_0001d738;\n    if (!bVar1) {\n      iVar3 = 1;\n      goto LAB_0001d758;\n    }\n  }\n  iVar3 = mbstrcasecmp(s1,s2);\nLAB_0001d758:\n  if (iVar2 == *(int *)PTR___stack_chk_guard_0007d12c) {\n    return iVar3;\n  }\n  puVar11 = PTR___stack_chk_fail_0007d0f8;\n  (*(code *)PTR___stack_chk_fail_0007d0f8)();\n  iStack_ec = **(int **)(puVar11 + 0x5f968);\n  pcStack_e4 = s1;\n  pcStack_e0 = s2;\n  uVar4 = (**(code **)(puVar11 + 0x5edb8))(0,iVar2);\n  uVar5 = (**(code **)(puVar11 + 0x5f898))(uVar4);\n  iVar2 = (**(code **)(puVar11 + 0x5f740))(3,uVar5,auStack_190);\n  if (iVar2 == -1) {\n    piVar9 = (int *)(**(code **)(puVar11 + 0x5f824))();\n    if (*piVar9 == 2) {\n      uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x45b0,5);\n      (**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5);\n      iVar2 = 0;\n    }\n    else {\n      uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x45d0);\n      uVar7 = (**(code **)(puVar11 + 0x5f89c))(*piVar9);\n      (**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5,uVar7);\n      iVar2 = 0;\n    }\n  }\n  else if ((uStack_178 & 0xf000) == 0x4000) {\n    iVar2 = (**(code **)(puVar11 + 0x5f7f0))(uVar5,1,5);\n    if (iVar2 == -1) {\n      uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x4600,5);\n      (**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5);\n      iVar2 = 0;\n    }\n    else if ((*(uint *)(*(int *)(puVar11 + 0x5edc0) + 4) & 8) == 0) {\n      iVar2 = 1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar11 + 0x5f7f0))(uVar5,2);\n      if (iVar2 == -1) {\n        uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar11 + 0x5ee34))(2,uVar6,uVar5);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }\n  }\n  else {\n    uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x45e0);\n    (**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5);\n    iVar2 = 0;\n  }\n  (**(code **)(puVar11 + 0x5f97c))(uVar4);\n  if (iStack_ec != **(int **)(puVar11 + 0x5f968)) {\n    pcVar12 = *(code **)(puVar11 + 0x5f934);\n    (*pcVar12)();\n    piVar9 = *(int **)(pcVar12 + 0x5ec50);\n    iVar2 = *piVar9;\n    pfVar8 = make_new_node((filestruct *)0x0);\n    *(filestruct **)(iVar2 + 4) = pfVar8;\n    puVar10 = *(undefined4 **)(*piVar9 + 4);\n    uVar4 = (**(code **)(pcVar12 + 0x5eae4))(0,*(int *)(pcVar12 + 0x5ead8) + -0x7e54);\n    *puVar10 = uVar4;\n    iVar2 = *piVar9;\n    uVar4 = *(undefined4 *)(iVar2 + 4);\n    *(undefined4 *)(iVar2 + 8) = uVar4;\n    *(undefined4 *)(iVar2 + 0xc) = uVar4;\n    *(undefined4 *)(iVar2 + 0x10) = uVar4;\n    *(undefined4 *)(iVar2 + 0x18) = 0;\n    *(undefined4 *)(iVar2 + 0x1c) = 0;\n    *(undefined4 *)(iVar2 + 0x14) = 0;\n    return iVar2;\n  }\n  return iVar2;\n}\n\n" (function_definition "int diralphasort(void *va,void *vb)\n\n{\n  bool bVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  filestruct *pfVar8;\n  char *s1;\n  int *piVar9;\n  char *s2;\n  undefined4 *puVar10;\n  undefined *puVar11;\n  code *pcVar12;\n  undefined1 auStack_190 [24];\n  uint uStack_178;\n  int iStack_ec;\n  char *pcStack_e4;\n  char *pcStack_e0;\n  stat fileinfo;\n  \n  iVar2 = *(int *)PTR___stack_chk_guard_0007d12c;\n                    /* WARNING: Load size is inaccurate */\n  s1 = *va;\n                    /* WARNING: Load size is inaccurate */\n  s2 = *vb;\n  iVar3 = (*(code *)PTR___xstat64_0007cf04)(3,s1,&fileinfo);\n  if ((iVar3 == -1) || ((fileinfo.st_mode & 0xf000) != 0x4000)) {\n    iVar3 = (*(code *)PTR___xstat64_0007cf04)(3,s2,&fileinfo);\n    bVar1 = false;\n    if (iVar3 != -1) goto LAB_0001d724;\nLAB_0001d738:\n    iVar3 = -1;\n    if (bVar1) goto LAB_0001d758;\n  }\n  else {\n    iVar3 = (*(code *)PTR___xstat64_0007cf04)(3,s2,&fileinfo);\n    bVar1 = true;\n    if (iVar3 == -1) {\n      iVar3 = -1;\n      goto LAB_0001d758;\n    }\nLAB_0001d724:\n    if ((fileinfo.st_mode & 0xf000) != 0x4000) goto LAB_0001d738;\n    if (!bVar1) {\n      iVar3 = 1;\n      goto LAB_0001d758;\n    }\n  }\n  iVar3 = mbstrcasecmp(s1,s2);\nLAB_0001d758:\n  if (iVar2 == *(int *)PTR___stack_chk_guard_0007d12c) {\n    return iVar3;\n  }\n  puVar11 = PTR___stack_chk_fail_0007d0f8;\n  (*(code *)PTR___stack_chk_fail_0007d0f8)();\n  iStack_ec = **(int **)(puVar11 + 0x5f968);\n  pcStack_e4 = s1;\n  pcStack_e0 = s2;\n  uVar4 = (**(code **)(puVar11 + 0x5edb8))(0,iVar2);\n  uVar5 = (**(code **)(puVar11 + 0x5f898))(uVar4);\n  iVar2 = (**(code **)(puVar11 + 0x5f740))(3,uVar5,auStack_190);\n  if (iVar2 == -1) {\n    piVar9 = (int *)(**(code **)(puVar11 + 0x5f824))();\n    if (*piVar9 == 2) {\n      uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x45b0,5);\n      (**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5);\n      iVar2 = 0;\n    }\n    else {\n      uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x45d0);\n      uVar7 = (**(code **)(puVar11 + 0x5f89c))(*piVar9);\n      (**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5,uVar7);\n      iVar2 = 0;\n    }\n  }\n  else if ((uStack_178 & 0xf000) == 0x4000) {\n    iVar2 = (**(code **)(puVar11 + 0x5f7f0))(uVar5,1,5);\n    if (iVar2 == -1) {\n      uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x4600,5);\n      (**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5);\n      iVar2 = 0;\n    }\n    else if ((*(uint *)(*(int *)(puVar11 + 0x5edc0) + 4) & 8) == 0) {\n      iVar2 = 1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar11 + 0x5f7f0))(uVar5,2);\n      if (iVar2 == -1) {\n        uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar11 + 0x5ee34))(2,uVar6,uVar5);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }\n  }\n  else {\n    uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x45e0);\n    (**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5);\n    iVar2 = 0;\n  }\n  (**(code **)(puVar11 + 0x5f97c))(uVar4);\n  if (iStack_ec != **(int **)(puVar11 + 0x5f968)) {\n    pcVar12 = *(code **)(puVar11 + 0x5f934);\n    (*pcVar12)();\n    piVar9 = *(int **)(pcVar12 + 0x5ec50);\n    iVar2 = *piVar9;\n    pfVar8 = make_new_node((filestruct *)0x0);\n    *(filestruct **)(iVar2 + 4) = pfVar8;\n    puVar10 = *(undefined4 **)(*piVar9 + 4);\n    uVar4 = (**(code **)(pcVar12 + 0x5eae4))(0,*(int *)(pcVar12 + 0x5ead8) + -0x7e54);\n    *puVar10 = uVar4;\n    iVar2 = *piVar9;\n    uVar4 = *(undefined4 *)(iVar2 + 4);\n    *(undefined4 *)(iVar2 + 8) = uVar4;\n    *(undefined4 *)(iVar2 + 0xc) = uVar4;\n    *(undefined4 *)(iVar2 + 0x10) = uVar4;\n    *(undefined4 *)(iVar2 + 0x18) = 0;\n    *(undefined4 *)(iVar2 + 0x1c) = 0;\n    *(undefined4 *)(iVar2 + 0x14) = 0;\n    return iVar2;\n  }\n  return iVar2;\n}" primitive_type (function_declarator "diralphasort(void *va,void *vb)" identifier (parameter_list "(void *va,void *vb)" ( (parameter_declaration "void *va" primitive_type (pointer_declarator "*va" * identifier)) , (parameter_declaration "void *vb" primitive_type (pointer_declarator "*vb" * identifier)) ))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  filestruct *pfVar8;\n  char *s1;\n  int *piVar9;\n  char *s2;\n  undefined4 *puVar10;\n  undefined *puVar11;\n  code *pcVar12;\n  undefined1 auStack_190 [24];\n  uint uStack_178;\n  int iStack_ec;\n  char *pcStack_e4;\n  char *pcStack_e0;\n  stat fileinfo;\n  \n  iVar2 = *(int *)PTR___stack_chk_guard_0007d12c;\n                    /* WARNING: Load size is inaccurate */\n  s1 = *va;\n                    /* WARNING: Load size is inaccurate */\n  s2 = *vb;\n  iVar3 = (*(code *)PTR___xstat64_0007cf04)(3,s1,&fileinfo);\n  if ((iVar3 == -1) || ((fileinfo.st_mode & 0xf000) != 0x4000)) {\n    iVar3 = (*(code *)PTR___xstat64_0007cf04)(3,s2,&fileinfo);\n    bVar1 = false;\n    if (iVar3 != -1) goto LAB_0001d724;\nLAB_0001d738:\n    iVar3 = -1;\n    if (bVar1) goto LAB_0001d758;\n  }\n  else {\n    iVar3 = (*(code *)PTR___xstat64_0007cf04)(3,s2,&fileinfo);\n    bVar1 = true;\n    if (iVar3 == -1) {\n      iVar3 = -1;\n      goto LAB_0001d758;\n    }\nLAB_0001d724:\n    if ((fileinfo.st_mode & 0xf000) != 0x4000) goto LAB_0001d738;\n    if (!bVar1) {\n      iVar3 = 1;\n      goto LAB_0001d758;\n    }\n  }\n  iVar3 = mbstrcasecmp(s1,s2);\nLAB_0001d758:\n  if (iVar2 == *(int *)PTR___stack_chk_guard_0007d12c) {\n    return iVar3;\n  }\n  puVar11 = PTR___stack_chk_fail_0007d0f8;\n  (*(code *)PTR___stack_chk_fail_0007d0f8)();\n  iStack_ec = **(int **)(puVar11 + 0x5f968);\n  pcStack_e4 = s1;\n  pcStack_e0 = s2;\n  uVar4 = (**(code **)(puVar11 + 0x5edb8))(0,iVar2);\n  uVar5 = (**(code **)(puVar11 + 0x5f898))(uVar4);\n  iVar2 = (**(code **)(puVar11 + 0x5f740))(3,uVar5,auStack_190);\n  if (iVar2 == -1) {\n    piVar9 = (int *)(**(code **)(puVar11 + 0x5f824))();\n    if (*piVar9 == 2) {\n      uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x45b0,5);\n      (**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5);\n      iVar2 = 0;\n    }\n    else {\n      uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x45d0);\n      uVar7 = (**(code **)(puVar11 + 0x5f89c))(*piVar9);\n      (**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5,uVar7);\n      iVar2 = 0;\n    }\n  }\n  else if ((uStack_178 & 0xf000) == 0x4000) {\n    iVar2 = (**(code **)(puVar11 + 0x5f7f0))(uVar5,1,5);\n    if (iVar2 == -1) {\n      uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x4600,5);\n      (**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5);\n      iVar2 = 0;\n    }\n    else if ((*(uint *)(*(int *)(puVar11 + 0x5edc0) + 4) & 8) == 0) {\n      iVar2 = 1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar11 + 0x5f7f0))(uVar5,2);\n      if (iVar2 == -1) {\n        uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar11 + 0x5ee34))(2,uVar6,uVar5);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }\n  }\n  else {\n    uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x45e0);\n    (**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5);\n    iVar2 = 0;\n  }\n  (**(code **)(puVar11 + 0x5f97c))(uVar4);\n  if (iStack_ec != **(int **)(puVar11 + 0x5f968)) {\n    pcVar12 = *(code **)(puVar11 + 0x5f934);\n    (*pcVar12)();\n    piVar9 = *(int **)(pcVar12 + 0x5ec50);\n    iVar2 = *piVar9;\n    pfVar8 = make_new_node((filestruct *)0x0);\n    *(filestruct **)(iVar2 + 4) = pfVar8;\n    puVar10 = *(undefined4 **)(*piVar9 + 4);\n    uVar4 = (**(code **)(pcVar12 + 0x5eae4))(0,*(int *)(pcVar12 + 0x5ead8) + -0x7e54);\n    *puVar10 = uVar4;\n    iVar2 = *piVar9;\n    uVar4 = *(undefined4 *)(iVar2 + 4);\n    *(undefined4 *)(iVar2 + 8) = uVar4;\n    *(undefined4 *)(iVar2 + 0xc) = uVar4;\n    *(undefined4 *)(iVar2 + 0x10) = uVar4;\n    *(undefined4 *)(iVar2 + 0x18) = 0;\n    *(undefined4 *)(iVar2 + 0x1c) = 0;\n    *(undefined4 *)(iVar2 + 0x14) = 0;\n    return iVar2;\n  }\n  return iVar2;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "filestruct *pfVar8;" type_identifier (pointer_declarator "*pfVar8" * identifier) ;) (declaration "char *s1;" primitive_type (pointer_declarator "*s1" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "char *s2;" primitive_type (pointer_declarator "*s2" * identifier) ;) (declaration "undefined4 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "code *pcVar12;" type_identifier (pointer_declarator "*pcVar12" * identifier) ;) (declaration "undefined1 auStack_190 [24];" type_identifier (array_declarator "auStack_190 [24]" identifier [ number_literal ]) ;) (declaration "uint uStack_178;" type_identifier identifier ;) (declaration "int iStack_ec;" primitive_type identifier ;) (declaration "char *pcStack_e4;" primitive_type (pointer_declarator "*pcStack_e4" * identifier) ;) (declaration "char *pcStack_e0;" primitive_type (pointer_declarator "*pcStack_e0" * identifier) ;) (declaration "stat fileinfo;" type_identifier identifier ;) (expression_statement "iVar2 = *(int *)PTR___stack_chk_guard_0007d12c;" (assignment_expression "iVar2 = *(int *)PTR___stack_chk_guard_0007d12c" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0007d12c" * (cast_expression "(int *)PTR___stack_chk_guard_0007d12c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) comment (expression_statement "s1 = *va;" (assignment_expression "s1 = *va" identifier = (pointer_expression "*va" * identifier)) ;) comment (expression_statement "s2 = *vb;" (assignment_expression "s2 = *vb" identifier = (pointer_expression "*vb" * identifier)) ;) (expression_statement "iVar3 = (*(code *)PTR___xstat64_0007cf04)(3,s1,&fileinfo);" (assignment_expression "iVar3 = (*(code *)PTR___xstat64_0007cf04)(3,s1,&fileinfo)" identifier = (call_expression "(*(code *)PTR___xstat64_0007cf04)(3,s1,&fileinfo)" (parenthesized_expression "(*(code *)PTR___xstat64_0007cf04)" ( (pointer_expression "*(code *)PTR___xstat64_0007cf04" * (cast_expression "(code *)PTR___xstat64_0007cf04" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3,s1,&fileinfo)" ( number_literal , identifier , (pointer_expression "&fileinfo" & identifier) )))) ;) (if_statement "if ((iVar3 == -1) || ((fileinfo.st_mode & 0xf000) != 0x4000)) {\n    iVar3 = (*(code *)PTR___xstat64_0007cf04)(3,s2,&fileinfo);\n    bVar1 = false;\n    if (iVar3 != -1) goto LAB_0001d724;\nLAB_0001d738:\n    iVar3 = -1;\n    if (bVar1) goto LAB_0001d758;\n  }\n  else {\n    iVar3 = (*(code *)PTR___xstat64_0007cf04)(3,s2,&fileinfo);\n    bVar1 = true;\n    if (iVar3 == -1) {\n      iVar3 = -1;\n      goto LAB_0001d758;\n    }\nLAB_0001d724:\n    if ((fileinfo.st_mode & 0xf000) != 0x4000) goto LAB_0001d738;\n    if (!bVar1) {\n      iVar3 = 1;\n      goto LAB_0001d758;\n    }\n  }" if (parenthesized_expression "((iVar3 == -1) || ((fileinfo.st_mode & 0xf000) != 0x4000))" ( (binary_expression "(iVar3 == -1) || ((fileinfo.st_mode & 0xf000) != 0x4000)" (parenthesized_expression "(iVar3 == -1)" ( (binary_expression "iVar3 == -1" identifier == number_literal) )) || (parenthesized_expression "((fileinfo.st_mode & 0xf000) != 0x4000)" ( (binary_expression "(fileinfo.st_mode & 0xf000) != 0x4000" (parenthesized_expression "(fileinfo.st_mode & 0xf000)" ( (binary_expression "fileinfo.st_mode & 0xf000" (field_expression "fileinfo.st_mode" identifier . field_identifier) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n    iVar3 = (*(code *)PTR___xstat64_0007cf04)(3,s2,&fileinfo);\n    bVar1 = false;\n    if (iVar3 != -1) goto LAB_0001d724;\nLAB_0001d738:\n    iVar3 = -1;\n    if (bVar1) goto LAB_0001d758;\n  }" { (expression_statement "iVar3 = (*(code *)PTR___xstat64_0007cf04)(3,s2,&fileinfo);" (assignment_expression "iVar3 = (*(code *)PTR___xstat64_0007cf04)(3,s2,&fileinfo)" identifier = (call_expression "(*(code *)PTR___xstat64_0007cf04)(3,s2,&fileinfo)" (parenthesized_expression "(*(code *)PTR___xstat64_0007cf04)" ( (pointer_expression "*(code *)PTR___xstat64_0007cf04" * (cast_expression "(code *)PTR___xstat64_0007cf04" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3,s2,&fileinfo)" ( number_literal , identifier , (pointer_expression "&fileinfo" & identifier) )))) ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (if_statement "if (iVar3 != -1) goto LAB_0001d724;" if (parenthesized_expression "(iVar3 != -1)" ( (binary_expression "iVar3 != -1" identifier != number_literal) )) (goto_statement "goto LAB_0001d724;" goto statement_identifier ;)) (labeled_statement "LAB_0001d738:\n    iVar3 = -1;" statement_identifier : (expression_statement "iVar3 = -1;" (assignment_expression "iVar3 = -1" identifier = number_literal) ;)) (if_statement "if (bVar1) goto LAB_0001d758;" if (parenthesized_expression "(bVar1)" ( identifier )) (goto_statement "goto LAB_0001d758;" goto statement_identifier ;)) }) (else_clause "else {\n    iVar3 = (*(code *)PTR___xstat64_0007cf04)(3,s2,&fileinfo);\n    bVar1 = true;\n    if (iVar3 == -1) {\n      iVar3 = -1;\n      goto LAB_0001d758;\n    }\nLAB_0001d724:\n    if ((fileinfo.st_mode & 0xf000) != 0x4000) goto LAB_0001d738;\n    if (!bVar1) {\n      iVar3 = 1;\n      goto LAB_0001d758;\n    }\n  }" else (compound_statement "{\n    iVar3 = (*(code *)PTR___xstat64_0007cf04)(3,s2,&fileinfo);\n    bVar1 = true;\n    if (iVar3 == -1) {\n      iVar3 = -1;\n      goto LAB_0001d758;\n    }\nLAB_0001d724:\n    if ((fileinfo.st_mode & 0xf000) != 0x4000) goto LAB_0001d738;\n    if (!bVar1) {\n      iVar3 = 1;\n      goto LAB_0001d758;\n    }\n  }" { (expression_statement "iVar3 = (*(code *)PTR___xstat64_0007cf04)(3,s2,&fileinfo);" (assignment_expression "iVar3 = (*(code *)PTR___xstat64_0007cf04)(3,s2,&fileinfo)" identifier = (call_expression "(*(code *)PTR___xstat64_0007cf04)(3,s2,&fileinfo)" (parenthesized_expression "(*(code *)PTR___xstat64_0007cf04)" ( (pointer_expression "*(code *)PTR___xstat64_0007cf04" * (cast_expression "(code *)PTR___xstat64_0007cf04" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3,s2,&fileinfo)" ( number_literal , identifier , (pointer_expression "&fileinfo" & identifier) )))) ;) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (if_statement "if (iVar3 == -1) {\n      iVar3 = -1;\n      goto LAB_0001d758;\n    }" if (parenthesized_expression "(iVar3 == -1)" ( (binary_expression "iVar3 == -1" identifier == number_literal) )) (compound_statement "{\n      iVar3 = -1;\n      goto LAB_0001d758;\n    }" { (expression_statement "iVar3 = -1;" (assignment_expression "iVar3 = -1" identifier = number_literal) ;) (goto_statement "goto LAB_0001d758;" goto statement_identifier ;) })) (labeled_statement "LAB_0001d724:\n    if ((fileinfo.st_mode & 0xf000) != 0x4000) goto LAB_0001d738;" statement_identifier : (if_statement "if ((fileinfo.st_mode & 0xf000) != 0x4000) goto LAB_0001d738;" if (parenthesized_expression "((fileinfo.st_mode & 0xf000) != 0x4000)" ( (binary_expression "(fileinfo.st_mode & 0xf000) != 0x4000" (parenthesized_expression "(fileinfo.st_mode & 0xf000)" ( (binary_expression "fileinfo.st_mode & 0xf000" (field_expression "fileinfo.st_mode" identifier . field_identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0001d738;" goto statement_identifier ;))) (if_statement "if (!bVar1) {\n      iVar3 = 1;\n      goto LAB_0001d758;\n    }" if (parenthesized_expression "(!bVar1)" ( (unary_expression "!bVar1" ! identifier) )) (compound_statement "{\n      iVar3 = 1;\n      goto LAB_0001d758;\n    }" { (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0001d758;" goto statement_identifier ;) })) }))) (expression_statement "iVar3 = mbstrcasecmp(s1,s2);" (assignment_expression "iVar3 = mbstrcasecmp(s1,s2)" identifier = (call_expression "mbstrcasecmp(s1,s2)" identifier (argument_list "(s1,s2)" ( identifier , identifier )))) ;) (labeled_statement "LAB_0001d758:\n  if (iVar2 == *(int *)PTR___stack_chk_guard_0007d12c) {\n    return iVar3;\n  }" statement_identifier : (if_statement "if (iVar2 == *(int *)PTR___stack_chk_guard_0007d12c) {\n    return iVar3;\n  }" if (parenthesized_expression "(iVar2 == *(int *)PTR___stack_chk_guard_0007d12c)" ( (binary_expression "iVar2 == *(int *)PTR___stack_chk_guard_0007d12c" identifier == (pointer_expression "*(int *)PTR___stack_chk_guard_0007d12c" * (cast_expression "(int *)PTR___stack_chk_guard_0007d12c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return iVar3;\n  }" { (return_statement "return iVar3;" return identifier ;) }))) (expression_statement "puVar11 = PTR___stack_chk_fail_0007d0f8;" (assignment_expression "puVar11 = PTR___stack_chk_fail_0007d0f8" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0007d0f8)();" (call_expression "(*(code *)PTR___stack_chk_fail_0007d0f8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0007d0f8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0007d0f8" * (cast_expression "(code *)PTR___stack_chk_fail_0007d0f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iStack_ec = **(int **)(puVar11 + 0x5f968);" (assignment_expression "iStack_ec = **(int **)(puVar11 + 0x5f968)" identifier = (pointer_expression "**(int **)(puVar11 + 0x5f968)" * (pointer_expression "*(int **)(puVar11 + 0x5f968)" * (cast_expression "(int **)(puVar11 + 0x5f968)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x5f968)" ( (binary_expression "puVar11 + 0x5f968" identifier + number_literal) )))))) ;) (expression_statement "pcStack_e4 = s1;" (assignment_expression "pcStack_e4 = s1" identifier = identifier) ;) (expression_statement "pcStack_e0 = s2;" (assignment_expression "pcStack_e0 = s2" identifier = identifier) ;) (expression_statement "uVar4 = (**(code **)(puVar11 + 0x5edb8))(0,iVar2);" (assignment_expression "uVar4 = (**(code **)(puVar11 + 0x5edb8))(0,iVar2)" identifier = (call_expression "(**(code **)(puVar11 + 0x5edb8))(0,iVar2)" (parenthesized_expression "(**(code **)(puVar11 + 0x5edb8))" ( (pointer_expression "**(code **)(puVar11 + 0x5edb8)" * (pointer_expression "*(code **)(puVar11 + 0x5edb8)" * (cast_expression "(code **)(puVar11 + 0x5edb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x5edb8)" ( (binary_expression "puVar11 + 0x5edb8" identifier + number_literal) ))))) )) (argument_list "(0,iVar2)" ( number_literal , identifier )))) ;) (expression_statement "uVar5 = (**(code **)(puVar11 + 0x5f898))(uVar4);" (assignment_expression "uVar5 = (**(code **)(puVar11 + 0x5f898))(uVar4)" identifier = (call_expression "(**(code **)(puVar11 + 0x5f898))(uVar4)" (parenthesized_expression "(**(code **)(puVar11 + 0x5f898))" ( (pointer_expression "**(code **)(puVar11 + 0x5f898)" * (pointer_expression "*(code **)(puVar11 + 0x5f898)" * (cast_expression "(code **)(puVar11 + 0x5f898)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x5f898)" ( (binary_expression "puVar11 + 0x5f898" identifier + number_literal) ))))) )) (argument_list "(uVar4)" ( identifier )))) ;) (expression_statement "iVar2 = (**(code **)(puVar11 + 0x5f740))(3,uVar5,auStack_190);" (assignment_expression "iVar2 = (**(code **)(puVar11 + 0x5f740))(3,uVar5,auStack_190)" identifier = (call_expression "(**(code **)(puVar11 + 0x5f740))(3,uVar5,auStack_190)" (parenthesized_expression "(**(code **)(puVar11 + 0x5f740))" ( (pointer_expression "**(code **)(puVar11 + 0x5f740)" * (pointer_expression "*(code **)(puVar11 + 0x5f740)" * (cast_expression "(code **)(puVar11 + 0x5f740)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x5f740)" ( (binary_expression "puVar11 + 0x5f740" identifier + number_literal) ))))) )) (argument_list "(3,uVar5,auStack_190)" ( number_literal , identifier , identifier )))) ;) (if_statement "if (iVar2 == -1) {\n    piVar9 = (int *)(**(code **)(puVar11 + 0x5f824))();\n    if (*piVar9 == 2) {\n      uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x45b0,5);\n      (**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5);\n      iVar2 = 0;\n    }\n    else {\n      uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x45d0);\n      uVar7 = (**(code **)(puVar11 + 0x5f89c))(*piVar9);\n      (**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5,uVar7);\n      iVar2 = 0;\n    }\n  }\n  else if ((uStack_178 & 0xf000) == 0x4000) {\n    iVar2 = (**(code **)(puVar11 + 0x5f7f0))(uVar5,1,5);\n    if (iVar2 == -1) {\n      uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x4600,5);\n      (**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5);\n      iVar2 = 0;\n    }\n    else if ((*(uint *)(*(int *)(puVar11 + 0x5edc0) + 4) & 8) == 0) {\n      iVar2 = 1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar11 + 0x5f7f0))(uVar5,2);\n      if (iVar2 == -1) {\n        uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar11 + 0x5ee34))(2,uVar6,uVar5);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }\n  }\n  else {\n    uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x45e0);\n    (**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5);\n    iVar2 = 0;\n  }" if (parenthesized_expression "(iVar2 == -1)" ( (binary_expression "iVar2 == -1" identifier == number_literal) )) (compound_statement "{\n    piVar9 = (int *)(**(code **)(puVar11 + 0x5f824))();\n    if (*piVar9 == 2) {\n      uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x45b0,5);\n      (**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5);\n      iVar2 = 0;\n    }\n    else {\n      uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x45d0);\n      uVar7 = (**(code **)(puVar11 + 0x5f89c))(*piVar9);\n      (**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5,uVar7);\n      iVar2 = 0;\n    }\n  }" { (expression_statement "piVar9 = (int *)(**(code **)(puVar11 + 0x5f824))();" (assignment_expression "piVar9 = (int *)(**(code **)(puVar11 + 0x5f824))()" identifier = (cast_expression "(int *)(**(code **)(puVar11 + 0x5f824))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar11 + 0x5f824))()" (parenthesized_expression "(**(code **)(puVar11 + 0x5f824))" ( (pointer_expression "**(code **)(puVar11 + 0x5f824)" * (pointer_expression "*(code **)(puVar11 + 0x5f824)" * (cast_expression "(code **)(puVar11 + 0x5f824)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x5f824)" ( (binary_expression "puVar11 + 0x5f824" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (if_statement "if (*piVar9 == 2) {\n      uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x45b0,5);\n      (**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5);\n      iVar2 = 0;\n    }\n    else {\n      uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x45d0);\n      uVar7 = (**(code **)(puVar11 + 0x5f89c))(*piVar9);\n      (**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5,uVar7);\n      iVar2 = 0;\n    }" if (parenthesized_expression "(*piVar9 == 2)" ( (binary_expression "*piVar9 == 2" (pointer_expression "*piVar9" * identifier) == number_literal) )) (compound_statement "{\n      uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x45b0,5);\n      (**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5);\n      iVar2 = 0;\n    }" { (expression_statement "uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x45b0,5);" (assignment_expression "uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x45b0,5)" identifier = (call_expression "(**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x45b0,5)" (parenthesized_expression "(**(code **)(puVar11 + 0x5f93c))" ( (pointer_expression "**(code **)(puVar11 + 0x5f93c)" * (pointer_expression "*(code **)(puVar11 + 0x5f93c)" * (cast_expression "(code **)(puVar11 + 0x5f93c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x5f93c)" ( (binary_expression "puVar11 + 0x5f93c" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar11 + 0x5ed94) + 0x45b0,5)" ( number_literal , (binary_expression "*(int *)(puVar11 + 0x5ed94) + 0x45b0" (pointer_expression "*(int *)(puVar11 + 0x5ed94)" * (cast_expression "(int *)(puVar11 + 0x5ed94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x5ed94)" ( (binary_expression "puVar11 + 0x5ed94" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5);" (call_expression "(**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5)" (parenthesized_expression "(**(code **)(puVar11 + 0x5ee34))" ( (pointer_expression "**(code **)(puVar11 + 0x5ee34)" * (pointer_expression "*(code **)(puVar11 + 0x5ee34)" * (cast_expression "(code **)(puVar11 + 0x5ee34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x5ee34)" ( (binary_expression "puVar11 + 0x5ee34" identifier + number_literal) ))))) )) (argument_list "(3,uVar6,uVar5)" ( number_literal , identifier , identifier ))) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x45d0);\n      uVar7 = (**(code **)(puVar11 + 0x5f89c))(*piVar9);\n      (**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5,uVar7);\n      iVar2 = 0;\n    }" else (compound_statement "{\n      uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x45d0);\n      uVar7 = (**(code **)(puVar11 + 0x5f89c))(*piVar9);\n      (**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5,uVar7);\n      iVar2 = 0;\n    }" { (expression_statement "uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x45d0);" (assignment_expression "uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x45d0)" identifier = (call_expression "(**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x45d0)" (parenthesized_expression "(**(code **)(puVar11 + 0x5f93c))" ( (pointer_expression "**(code **)(puVar11 + 0x5f93c)" * (pointer_expression "*(code **)(puVar11 + 0x5f93c)" * (cast_expression "(code **)(puVar11 + 0x5f93c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x5f93c)" ( (binary_expression "puVar11 + 0x5f93c" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar11 + 0x5ed94) + 0x45d0)" ( number_literal , (binary_expression "*(int *)(puVar11 + 0x5ed94) + 0x45d0" (pointer_expression "*(int *)(puVar11 + 0x5ed94)" * (cast_expression "(int *)(puVar11 + 0x5ed94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x5ed94)" ( (binary_expression "puVar11 + 0x5ed94" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "uVar7 = (**(code **)(puVar11 + 0x5f89c))(*piVar9);" (assignment_expression "uVar7 = (**(code **)(puVar11 + 0x5f89c))(*piVar9)" identifier = (call_expression "(**(code **)(puVar11 + 0x5f89c))(*piVar9)" (parenthesized_expression "(**(code **)(puVar11 + 0x5f89c))" ( (pointer_expression "**(code **)(puVar11 + 0x5f89c)" * (pointer_expression "*(code **)(puVar11 + 0x5f89c)" * (cast_expression "(code **)(puVar11 + 0x5f89c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x5f89c)" ( (binary_expression "puVar11 + 0x5f89c" identifier + number_literal) ))))) )) (argument_list "(*piVar9)" ( (pointer_expression "*piVar9" * identifier) )))) ;) (expression_statement "(**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5,uVar7);" (call_expression "(**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5,uVar7)" (parenthesized_expression "(**(code **)(puVar11 + 0x5ee34))" ( (pointer_expression "**(code **)(puVar11 + 0x5ee34)" * (pointer_expression "*(code **)(puVar11 + 0x5ee34)" * (cast_expression "(code **)(puVar11 + 0x5ee34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x5ee34)" ( (binary_expression "puVar11 + 0x5ee34" identifier + number_literal) ))))) )) (argument_list "(3,uVar6,uVar5,uVar7)" ( number_literal , identifier , identifier , identifier ))) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) }))) }) (else_clause "else if ((uStack_178 & 0xf000) == 0x4000) {\n    iVar2 = (**(code **)(puVar11 + 0x5f7f0))(uVar5,1,5);\n    if (iVar2 == -1) {\n      uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x4600,5);\n      (**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5);\n      iVar2 = 0;\n    }\n    else if ((*(uint *)(*(int *)(puVar11 + 0x5edc0) + 4) & 8) == 0) {\n      iVar2 = 1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar11 + 0x5f7f0))(uVar5,2);\n      if (iVar2 == -1) {\n        uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar11 + 0x5ee34))(2,uVar6,uVar5);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }\n  }\n  else {\n    uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x45e0);\n    (**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5);\n    iVar2 = 0;\n  }" else (if_statement "if ((uStack_178 & 0xf000) == 0x4000) {\n    iVar2 = (**(code **)(puVar11 + 0x5f7f0))(uVar5,1,5);\n    if (iVar2 == -1) {\n      uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x4600,5);\n      (**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5);\n      iVar2 = 0;\n    }\n    else if ((*(uint *)(*(int *)(puVar11 + 0x5edc0) + 4) & 8) == 0) {\n      iVar2 = 1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar11 + 0x5f7f0))(uVar5,2);\n      if (iVar2 == -1) {\n        uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar11 + 0x5ee34))(2,uVar6,uVar5);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }\n  }\n  else {\n    uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x45e0);\n    (**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5);\n    iVar2 = 0;\n  }" if (parenthesized_expression "((uStack_178 & 0xf000) == 0x4000)" ( (binary_expression "(uStack_178 & 0xf000) == 0x4000" (parenthesized_expression "(uStack_178 & 0xf000)" ( (binary_expression "uStack_178 & 0xf000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    iVar2 = (**(code **)(puVar11 + 0x5f7f0))(uVar5,1,5);\n    if (iVar2 == -1) {\n      uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x4600,5);\n      (**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5);\n      iVar2 = 0;\n    }\n    else if ((*(uint *)(*(int *)(puVar11 + 0x5edc0) + 4) & 8) == 0) {\n      iVar2 = 1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar11 + 0x5f7f0))(uVar5,2);\n      if (iVar2 == -1) {\n        uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar11 + 0x5ee34))(2,uVar6,uVar5);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }\n  }" { (expression_statement "iVar2 = (**(code **)(puVar11 + 0x5f7f0))(uVar5,1,5);" (assignment_expression "iVar2 = (**(code **)(puVar11 + 0x5f7f0))(uVar5,1,5)" identifier = (call_expression "(**(code **)(puVar11 + 0x5f7f0))(uVar5,1,5)" (parenthesized_expression "(**(code **)(puVar11 + 0x5f7f0))" ( (pointer_expression "**(code **)(puVar11 + 0x5f7f0)" * (pointer_expression "*(code **)(puVar11 + 0x5f7f0)" * (cast_expression "(code **)(puVar11 + 0x5f7f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x5f7f0)" ( (binary_expression "puVar11 + 0x5f7f0" identifier + number_literal) ))))) )) (argument_list "(uVar5,1,5)" ( identifier , number_literal , number_literal )))) ;) (if_statement "if (iVar2 == -1) {\n      uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x4600,5);\n      (**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5);\n      iVar2 = 0;\n    }\n    else if ((*(uint *)(*(int *)(puVar11 + 0x5edc0) + 4) & 8) == 0) {\n      iVar2 = 1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar11 + 0x5f7f0))(uVar5,2);\n      if (iVar2 == -1) {\n        uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar11 + 0x5ee34))(2,uVar6,uVar5);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }" if (parenthesized_expression "(iVar2 == -1)" ( (binary_expression "iVar2 == -1" identifier == number_literal) )) (compound_statement "{\n      uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x4600,5);\n      (**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5);\n      iVar2 = 0;\n    }" { (expression_statement "uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x4600,5);" (assignment_expression "uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x4600,5)" identifier = (call_expression "(**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x4600,5)" (parenthesized_expression "(**(code **)(puVar11 + 0x5f93c))" ( (pointer_expression "**(code **)(puVar11 + 0x5f93c)" * (pointer_expression "*(code **)(puVar11 + 0x5f93c)" * (cast_expression "(code **)(puVar11 + 0x5f93c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x5f93c)" ( (binary_expression "puVar11 + 0x5f93c" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar11 + 0x5ed94) + 0x4600,5)" ( number_literal , (binary_expression "*(int *)(puVar11 + 0x5ed94) + 0x4600" (pointer_expression "*(int *)(puVar11 + 0x5ed94)" * (cast_expression "(int *)(puVar11 + 0x5ed94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x5ed94)" ( (binary_expression "puVar11 + 0x5ed94" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5);" (call_expression "(**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5)" (parenthesized_expression "(**(code **)(puVar11 + 0x5ee34))" ( (pointer_expression "**(code **)(puVar11 + 0x5ee34)" * (pointer_expression "*(code **)(puVar11 + 0x5ee34)" * (cast_expression "(code **)(puVar11 + 0x5ee34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x5ee34)" ( (binary_expression "puVar11 + 0x5ee34" identifier + number_literal) ))))) )) (argument_list "(3,uVar6,uVar5)" ( number_literal , identifier , identifier ))) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) }) (else_clause "else if ((*(uint *)(*(int *)(puVar11 + 0x5edc0) + 4) & 8) == 0) {\n      iVar2 = 1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar11 + 0x5f7f0))(uVar5,2);\n      if (iVar2 == -1) {\n        uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar11 + 0x5ee34))(2,uVar6,uVar5);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }" else (if_statement "if ((*(uint *)(*(int *)(puVar11 + 0x5edc0) + 4) & 8) == 0) {\n      iVar2 = 1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar11 + 0x5f7f0))(uVar5,2);\n      if (iVar2 == -1) {\n        uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar11 + 0x5ee34))(2,uVar6,uVar5);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }" if (parenthesized_expression "((*(uint *)(*(int *)(puVar11 + 0x5edc0) + 4) & 8) == 0)" ( (binary_expression "(*(uint *)(*(int *)(puVar11 + 0x5edc0) + 4) & 8) == 0" (parenthesized_expression "(*(uint *)(*(int *)(puVar11 + 0x5edc0) + 4) & 8)" ( (binary_expression "*(uint *)(*(int *)(puVar11 + 0x5edc0) + 4) & 8" (pointer_expression "*(uint *)(*(int *)(puVar11 + 0x5edc0) + 4)" * (cast_expression "(uint *)(*(int *)(puVar11 + 0x5edc0) + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar11 + 0x5edc0) + 4)" ( (binary_expression "*(int *)(puVar11 + 0x5edc0) + 4" (pointer_expression "*(int *)(puVar11 + 0x5edc0)" * (cast_expression "(int *)(puVar11 + 0x5edc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x5edc0)" ( (binary_expression "puVar11 + 0x5edc0" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      iVar2 = 1;\n    }" { (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" identifier = number_literal) ;) }) (else_clause "else {\n      iVar2 = (**(code **)(puVar11 + 0x5f7f0))(uVar5,2);\n      if (iVar2 == -1) {\n        uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar11 + 0x5ee34))(2,uVar6,uVar5);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }" else (compound_statement "{\n      iVar2 = (**(code **)(puVar11 + 0x5f7f0))(uVar5,2);\n      if (iVar2 == -1) {\n        uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar11 + 0x5ee34))(2,uVar6,uVar5);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }" { (expression_statement "iVar2 = (**(code **)(puVar11 + 0x5f7f0))(uVar5,2);" (assignment_expression "iVar2 = (**(code **)(puVar11 + 0x5f7f0))(uVar5,2)" identifier = (call_expression "(**(code **)(puVar11 + 0x5f7f0))(uVar5,2)" (parenthesized_expression "(**(code **)(puVar11 + 0x5f7f0))" ( (pointer_expression "**(code **)(puVar11 + 0x5f7f0)" * (pointer_expression "*(code **)(puVar11 + 0x5f7f0)" * (cast_expression "(code **)(puVar11 + 0x5f7f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x5f7f0)" ( (binary_expression "puVar11 + 0x5f7f0" identifier + number_literal) ))))) )) (argument_list "(uVar5,2)" ( identifier , number_literal )))) ;) (if_statement "if (iVar2 == -1) {\n        uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar11 + 0x5ee34))(2,uVar6,uVar5);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }" if (parenthesized_expression "(iVar2 == -1)" ( (binary_expression "iVar2 == -1" identifier == number_literal) )) (compound_statement "{\n        uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar11 + 0x5ee34))(2,uVar6,uVar5);\n        iVar2 = 0;\n      }" { (expression_statement "uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x461c,5);" (assignment_expression "uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x461c,5)" identifier = (call_expression "(**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x461c,5)" (parenthesized_expression "(**(code **)(puVar11 + 0x5f93c))" ( (pointer_expression "**(code **)(puVar11 + 0x5f93c)" * (pointer_expression "*(code **)(puVar11 + 0x5f93c)" * (cast_expression "(code **)(puVar11 + 0x5f93c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x5f93c)" ( (binary_expression "puVar11 + 0x5f93c" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar11 + 0x5ed94) + 0x461c,5)" ( number_literal , (binary_expression "*(int *)(puVar11 + 0x5ed94) + 0x461c" (pointer_expression "*(int *)(puVar11 + 0x5ed94)" * (cast_expression "(int *)(puVar11 + 0x5ed94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x5ed94)" ( (binary_expression "puVar11 + 0x5ed94" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(puVar11 + 0x5ee34))(2,uVar6,uVar5);" (call_expression "(**(code **)(puVar11 + 0x5ee34))(2,uVar6,uVar5)" (parenthesized_expression "(**(code **)(puVar11 + 0x5ee34))" ( (pointer_expression "**(code **)(puVar11 + 0x5ee34)" * (pointer_expression "*(code **)(puVar11 + 0x5ee34)" * (cast_expression "(code **)(puVar11 + 0x5ee34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x5ee34)" ( (binary_expression "puVar11 + 0x5ee34" identifier + number_literal) ))))) )) (argument_list "(2,uVar6,uVar5)" ( number_literal , identifier , identifier ))) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        iVar2 = 1;\n      }" else (compound_statement "{\n        iVar2 = 1;\n      }" { (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" identifier = number_literal) ;) }))) }))))) }) (else_clause "else {\n    uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x45e0);\n    (**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5);\n    iVar2 = 0;\n  }" else (compound_statement "{\n    uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x45e0);\n    (**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5);\n    iVar2 = 0;\n  }" { (expression_statement "uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x45e0);" (assignment_expression "uVar6 = (**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x45e0)" identifier = (call_expression "(**(code **)(puVar11 + 0x5f93c))(0,*(int *)(puVar11 + 0x5ed94) + 0x45e0)" (parenthesized_expression "(**(code **)(puVar11 + 0x5f93c))" ( (pointer_expression "**(code **)(puVar11 + 0x5f93c)" * (pointer_expression "*(code **)(puVar11 + 0x5f93c)" * (cast_expression "(code **)(puVar11 + 0x5f93c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x5f93c)" ( (binary_expression "puVar11 + 0x5f93c" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar11 + 0x5ed94) + 0x45e0)" ( number_literal , (binary_expression "*(int *)(puVar11 + 0x5ed94) + 0x45e0" (pointer_expression "*(int *)(puVar11 + 0x5ed94)" * (cast_expression "(int *)(puVar11 + 0x5ed94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x5ed94)" ( (binary_expression "puVar11 + 0x5ed94" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5);" (call_expression "(**(code **)(puVar11 + 0x5ee34))(3,uVar6,uVar5)" (parenthesized_expression "(**(code **)(puVar11 + 0x5ee34))" ( (pointer_expression "**(code **)(puVar11 + 0x5ee34)" * (pointer_expression "*(code **)(puVar11 + 0x5ee34)" * (cast_expression "(code **)(puVar11 + 0x5ee34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x5ee34)" ( (binary_expression "puVar11 + 0x5ee34" identifier + number_literal) ))))) )) (argument_list "(3,uVar6,uVar5)" ( number_literal , identifier , identifier ))) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) }))))) (expression_statement "(**(code **)(puVar11 + 0x5f97c))(uVar4);" (call_expression "(**(code **)(puVar11 + 0x5f97c))(uVar4)" (parenthesized_expression "(**(code **)(puVar11 + 0x5f97c))" ( (pointer_expression "**(code **)(puVar11 + 0x5f97c)" * (pointer_expression "*(code **)(puVar11 + 0x5f97c)" * (cast_expression "(code **)(puVar11 + 0x5f97c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x5f97c)" ( (binary_expression "puVar11 + 0x5f97c" identifier + number_literal) ))))) )) (argument_list "(uVar4)" ( identifier ))) ;) (if_statement "if (iStack_ec != **(int **)(puVar11 + 0x5f968)) {\n    pcVar12 = *(code **)(puVar11 + 0x5f934);\n    (*pcVar12)();\n    piVar9 = *(int **)(pcVar12 + 0x5ec50);\n    iVar2 = *piVar9;\n    pfVar8 = make_new_node((filestruct *)0x0);\n    *(filestruct **)(iVar2 + 4) = pfVar8;\n    puVar10 = *(undefined4 **)(*piVar9 + 4);\n    uVar4 = (**(code **)(pcVar12 + 0x5eae4))(0,*(int *)(pcVar12 + 0x5ead8) + -0x7e54);\n    *puVar10 = uVar4;\n    iVar2 = *piVar9;\n    uVar4 = *(undefined4 *)(iVar2 + 4);\n    *(undefined4 *)(iVar2 + 8) = uVar4;\n    *(undefined4 *)(iVar2 + 0xc) = uVar4;\n    *(undefined4 *)(iVar2 + 0x10) = uVar4;\n    *(undefined4 *)(iVar2 + 0x18) = 0;\n    *(undefined4 *)(iVar2 + 0x1c) = 0;\n    *(undefined4 *)(iVar2 + 0x14) = 0;\n    return iVar2;\n  }" if (parenthesized_expression "(iStack_ec != **(int **)(puVar11 + 0x5f968))" ( (binary_expression "iStack_ec != **(int **)(puVar11 + 0x5f968)" identifier != (pointer_expression "**(int **)(puVar11 + 0x5f968)" * (pointer_expression "*(int **)(puVar11 + 0x5f968)" * (cast_expression "(int **)(puVar11 + 0x5f968)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x5f968)" ( (binary_expression "puVar11 + 0x5f968" identifier + number_literal) )))))) )) (compound_statement "{\n    pcVar12 = *(code **)(puVar11 + 0x5f934);\n    (*pcVar12)();\n    piVar9 = *(int **)(pcVar12 + 0x5ec50);\n    iVar2 = *piVar9;\n    pfVar8 = make_new_node((filestruct *)0x0);\n    *(filestruct **)(iVar2 + 4) = pfVar8;\n    puVar10 = *(undefined4 **)(*piVar9 + 4);\n    uVar4 = (**(code **)(pcVar12 + 0x5eae4))(0,*(int *)(pcVar12 + 0x5ead8) + -0x7e54);\n    *puVar10 = uVar4;\n    iVar2 = *piVar9;\n    uVar4 = *(undefined4 *)(iVar2 + 4);\n    *(undefined4 *)(iVar2 + 8) = uVar4;\n    *(undefined4 *)(iVar2 + 0xc) = uVar4;\n    *(undefined4 *)(iVar2 + 0x10) = uVar4;\n    *(undefined4 *)(iVar2 + 0x18) = 0;\n    *(undefined4 *)(iVar2 + 0x1c) = 0;\n    *(undefined4 *)(iVar2 + 0x14) = 0;\n    return iVar2;\n  }" { (expression_statement "pcVar12 = *(code **)(puVar11 + 0x5f934);" (assignment_expression "pcVar12 = *(code **)(puVar11 + 0x5f934)" identifier = (pointer_expression "*(code **)(puVar11 + 0x5f934)" * (cast_expression "(code **)(puVar11 + 0x5f934)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x5f934)" ( (binary_expression "puVar11 + 0x5f934" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar12)();" (call_expression "(*pcVar12)()" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar9 = *(int **)(pcVar12 + 0x5ec50);" (assignment_expression "piVar9 = *(int **)(pcVar12 + 0x5ec50)" identifier = (pointer_expression "*(int **)(pcVar12 + 0x5ec50)" * (cast_expression "(int **)(pcVar12 + 0x5ec50)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x5ec50)" ( (binary_expression "pcVar12 + 0x5ec50" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *piVar9;" (assignment_expression "iVar2 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (expression_statement "pfVar8 = make_new_node((filestruct *)0x0);" (assignment_expression "pfVar8 = make_new_node((filestruct *)0x0)" identifier = (call_expression "make_new_node((filestruct *)0x0)" identifier (argument_list "((filestruct *)0x0)" ( (cast_expression "(filestruct *)0x0" ( (type_descriptor "filestruct *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (expression_statement "*(filestruct **)(iVar2 + 4) = pfVar8;" (assignment_expression "*(filestruct **)(iVar2 + 4) = pfVar8" (pointer_expression "*(filestruct **)(iVar2 + 4)" * (cast_expression "(filestruct **)(iVar2 + 4)" ( (type_descriptor "filestruct **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar10 = *(undefined4 **)(*piVar9 + 4);" (assignment_expression "puVar10 = *(undefined4 **)(*piVar9 + 4)" identifier = (pointer_expression "*(undefined4 **)(*piVar9 + 4)" * (cast_expression "(undefined4 **)(*piVar9 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar9 + 4)" ( (binary_expression "*piVar9 + 4" (pointer_expression "*piVar9" * identifier) + number_literal) ))))) ;) (expression_statement "uVar4 = (**(code **)(pcVar12 + 0x5eae4))(0,*(int *)(pcVar12 + 0x5ead8) + -0x7e54);" (assignment_expression "uVar4 = (**(code **)(pcVar12 + 0x5eae4))(0,*(int *)(pcVar12 + 0x5ead8) + -0x7e54)" identifier = (call_expression "(**(code **)(pcVar12 + 0x5eae4))(0,*(int *)(pcVar12 + 0x5ead8) + -0x7e54)" (parenthesized_expression "(**(code **)(pcVar12 + 0x5eae4))" ( (pointer_expression "**(code **)(pcVar12 + 0x5eae4)" * (pointer_expression "*(code **)(pcVar12 + 0x5eae4)" * (cast_expression "(code **)(pcVar12 + 0x5eae4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x5eae4)" ( (binary_expression "pcVar12 + 0x5eae4" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar12 + 0x5ead8) + -0x7e54)" ( number_literal , (binary_expression "*(int *)(pcVar12 + 0x5ead8) + -0x7e54" (pointer_expression "*(int *)(pcVar12 + 0x5ead8)" * (cast_expression "(int *)(pcVar12 + 0x5ead8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x5ead8)" ( (binary_expression "pcVar12 + 0x5ead8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "*puVar10 = uVar4;" (assignment_expression "*puVar10 = uVar4" (pointer_expression "*puVar10" * identifier) = identifier) ;) (expression_statement "iVar2 = *piVar9;" (assignment_expression "iVar2 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (expression_statement "uVar4 = *(undefined4 *)(iVar2 + 4);" (assignment_expression "uVar4 = *(undefined4 *)(iVar2 + 4)" identifier = (pointer_expression "*(undefined4 *)(iVar2 + 4)" * (cast_expression "(undefined4 *)(iVar2 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar2 + 8) = uVar4;" (assignment_expression "*(undefined4 *)(iVar2 + 8) = uVar4" (pointer_expression "*(undefined4 *)(iVar2 + 8)" * (cast_expression "(undefined4 *)(iVar2 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar2 + 0xc) = uVar4;" (assignment_expression "*(undefined4 *)(iVar2 + 0xc) = uVar4" (pointer_expression "*(undefined4 *)(iVar2 + 0xc)" * (cast_expression "(undefined4 *)(iVar2 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xc)" ( (binary_expression "iVar2 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar2 + 0x10) = uVar4;" (assignment_expression "*(undefined4 *)(iVar2 + 0x10) = uVar4" (pointer_expression "*(undefined4 *)(iVar2 + 0x10)" * (cast_expression "(undefined4 *)(iVar2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar2 + 0x18) = 0;" (assignment_expression "*(undefined4 *)(iVar2 + 0x18) = 0" (pointer_expression "*(undefined4 *)(iVar2 + 0x18)" * (cast_expression "(undefined4 *)(iVar2 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x18)" ( (binary_expression "iVar2 + 0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar2 + 0x1c) = 0;" (assignment_expression "*(undefined4 *)(iVar2 + 0x1c) = 0" (pointer_expression "*(undefined4 *)(iVar2 + 0x1c)" * (cast_expression "(undefined4 *)(iVar2 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar2 + 0x14) = 0;" (assignment_expression "*(undefined4 *)(iVar2 + 0x14) = 0" (pointer_expression "*(undefined4 *)(iVar2 + 0x14)" * (cast_expression "(undefined4 *)(iVar2 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x14)" ( (binary_expression "iVar2 + 0x14" identifier + number_literal) )))) = number_literal) ;) (return_statement "return iVar2;" return identifier ;) })) (return_statement "return iVar2;" return identifier ;) })))
(translation_unit "int diralphasort(undefined4 *param_1,undefined4 *param_2)\n\n{\n  bool bVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  int *piVar6;\n  undefined4 uVar7;\n  undefined4 *puVar8;\n  undefined *puVar9;\n  code *pcVar10;\n  undefined1 auStack_190 [24];\n  uint uStack_178;\n  int iStack_ec;\n  undefined4 uStack_e4;\n  undefined4 uStack_e0;\n  undefined1 auStack_b8 [24];\n  uint local_a0;\n  int local_14;\n  \n  local_14 = *(int *)PTR___stack_chk_guard_0007d12c;\n  uVar5 = *param_1;\n  uVar7 = *param_2;\n  iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar5,auStack_b8);\n  if ((iVar2 == -1) || ((local_a0 & 0xf000) != 0x4000)) {\n    iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);\n    bVar1 = false;\n    if (iVar2 != -1) goto LAB_0001d724;\nLAB_0001d738:\n    iVar2 = -1;\n    if (bVar1) goto LAB_0001d758;\n  }\n  else {\n    iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);\n    bVar1 = true;\n    if (iVar2 == -1) {\n      iVar2 = -1;\n      goto LAB_0001d758;\n    }\nLAB_0001d724:\n    if ((local_a0 & 0xf000) != 0x4000) goto LAB_0001d738;\n    if (!bVar1) {\n      iVar2 = 1;\n      goto LAB_0001d758;\n    }\n  }\n  iVar2 = mbstrcasecmp(uVar5,uVar7);\nLAB_0001d758:\n  if (local_14 == *(int *)PTR___stack_chk_guard_0007d12c) {\n    return iVar2;\n  }\n  iVar2 = local_14;\n  puVar9 = PTR___stack_chk_fail_0007d0f8;\n  (*(code *)PTR___stack_chk_fail_0007d0f8)();\n  iStack_ec = **(int **)(puVar9 + 0x5f968);\n  uStack_e4 = uVar5;\n  uStack_e0 = uVar7;\n  uVar5 = (**(code **)(puVar9 + 0x5edb8))(0,iVar2);\n  uVar7 = (**(code **)(puVar9 + 0x5f898))(uVar5);\n  iVar2 = (**(code **)(puVar9 + 0x5f740))(3,uVar7,auStack_190);\n  if (iVar2 == -1) {\n    piVar6 = (int *)(**(code **)(puVar9 + 0x5f824))();\n    if (*piVar6 == 2) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45b0,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45d0);\n      uVar4 = (**(code **)(puVar9 + 0x5f89c))(*piVar6);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7,uVar4);\n      iVar2 = 0;\n    }\n  }\n  else if ((uStack_178 & 0xf000) == 0x4000) {\n    iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,1,5);\n    if (iVar2 == -1) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else if ((*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8) == 0) {\n      iVar2 = 1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);\n      if (iVar2 == -1) {\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }\n  }\n  else {\n    uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45e0);\n    (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n    iVar2 = 0;\n  }\n  (**(code **)(puVar9 + 0x5f97c))(uVar5);\n  if (iStack_ec != **(int **)(puVar9 + 0x5f968)) {\n    pcVar10 = *(code **)(puVar9 + 0x5f934);\n    (*pcVar10)();\n    piVar6 = *(int **)(pcVar10 + 0x5ec50);\n    iVar2 = *piVar6;\n    uVar5 = make_new_node(0);\n    *(undefined4 *)(iVar2 + 4) = uVar5;\n    puVar8 = *(undefined4 **)(*piVar6 + 4);\n    uVar5 = (**(code **)(pcVar10 + 0x5eae4))(0,*(int *)(pcVar10 + 0x5ead8) + -0x7e54);\n    *puVar8 = uVar5;\n    iVar2 = *piVar6;\n    uVar5 = *(undefined4 *)(iVar2 + 4);\n    *(undefined4 *)(iVar2 + 8) = uVar5;\n    *(undefined4 *)(iVar2 + 0xc) = uVar5;\n    *(undefined4 *)(iVar2 + 0x10) = uVar5;\n    *(undefined4 *)(iVar2 + 0x18) = 0;\n    *(undefined4 *)(iVar2 + 0x1c) = 0;\n    *(undefined4 *)(iVar2 + 0x14) = 0;\n    return iVar2;\n  }\n  return iVar2;\n}\n\n" (function_definition "int diralphasort(undefined4 *param_1,undefined4 *param_2)\n\n{\n  bool bVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  int *piVar6;\n  undefined4 uVar7;\n  undefined4 *puVar8;\n  undefined *puVar9;\n  code *pcVar10;\n  undefined1 auStack_190 [24];\n  uint uStack_178;\n  int iStack_ec;\n  undefined4 uStack_e4;\n  undefined4 uStack_e0;\n  undefined1 auStack_b8 [24];\n  uint local_a0;\n  int local_14;\n  \n  local_14 = *(int *)PTR___stack_chk_guard_0007d12c;\n  uVar5 = *param_1;\n  uVar7 = *param_2;\n  iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar5,auStack_b8);\n  if ((iVar2 == -1) || ((local_a0 & 0xf000) != 0x4000)) {\n    iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);\n    bVar1 = false;\n    if (iVar2 != -1) goto LAB_0001d724;\nLAB_0001d738:\n    iVar2 = -1;\n    if (bVar1) goto LAB_0001d758;\n  }\n  else {\n    iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);\n    bVar1 = true;\n    if (iVar2 == -1) {\n      iVar2 = -1;\n      goto LAB_0001d758;\n    }\nLAB_0001d724:\n    if ((local_a0 & 0xf000) != 0x4000) goto LAB_0001d738;\n    if (!bVar1) {\n      iVar2 = 1;\n      goto LAB_0001d758;\n    }\n  }\n  iVar2 = mbstrcasecmp(uVar5,uVar7);\nLAB_0001d758:\n  if (local_14 == *(int *)PTR___stack_chk_guard_0007d12c) {\n    return iVar2;\n  }\n  iVar2 = local_14;\n  puVar9 = PTR___stack_chk_fail_0007d0f8;\n  (*(code *)PTR___stack_chk_fail_0007d0f8)();\n  iStack_ec = **(int **)(puVar9 + 0x5f968);\n  uStack_e4 = uVar5;\n  uStack_e0 = uVar7;\n  uVar5 = (**(code **)(puVar9 + 0x5edb8))(0,iVar2);\n  uVar7 = (**(code **)(puVar9 + 0x5f898))(uVar5);\n  iVar2 = (**(code **)(puVar9 + 0x5f740))(3,uVar7,auStack_190);\n  if (iVar2 == -1) {\n    piVar6 = (int *)(**(code **)(puVar9 + 0x5f824))();\n    if (*piVar6 == 2) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45b0,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45d0);\n      uVar4 = (**(code **)(puVar9 + 0x5f89c))(*piVar6);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7,uVar4);\n      iVar2 = 0;\n    }\n  }\n  else if ((uStack_178 & 0xf000) == 0x4000) {\n    iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,1,5);\n    if (iVar2 == -1) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else if ((*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8) == 0) {\n      iVar2 = 1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);\n      if (iVar2 == -1) {\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }\n  }\n  else {\n    uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45e0);\n    (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n    iVar2 = 0;\n  }\n  (**(code **)(puVar9 + 0x5f97c))(uVar5);\n  if (iStack_ec != **(int **)(puVar9 + 0x5f968)) {\n    pcVar10 = *(code **)(puVar9 + 0x5f934);\n    (*pcVar10)();\n    piVar6 = *(int **)(pcVar10 + 0x5ec50);\n    iVar2 = *piVar6;\n    uVar5 = make_new_node(0);\n    *(undefined4 *)(iVar2 + 4) = uVar5;\n    puVar8 = *(undefined4 **)(*piVar6 + 4);\n    uVar5 = (**(code **)(pcVar10 + 0x5eae4))(0,*(int *)(pcVar10 + 0x5ead8) + -0x7e54);\n    *puVar8 = uVar5;\n    iVar2 = *piVar6;\n    uVar5 = *(undefined4 *)(iVar2 + 4);\n    *(undefined4 *)(iVar2 + 8) = uVar5;\n    *(undefined4 *)(iVar2 + 0xc) = uVar5;\n    *(undefined4 *)(iVar2 + 0x10) = uVar5;\n    *(undefined4 *)(iVar2 + 0x18) = 0;\n    *(undefined4 *)(iVar2 + 0x1c) = 0;\n    *(undefined4 *)(iVar2 + 0x14) = 0;\n    return iVar2;\n  }\n  return iVar2;\n}" primitive_type (function_declarator "diralphasort(undefined4 *param_1,undefined4 *param_2)" identifier (parameter_list "(undefined4 *param_1,undefined4 *param_2)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  int *piVar6;\n  undefined4 uVar7;\n  undefined4 *puVar8;\n  undefined *puVar9;\n  code *pcVar10;\n  undefined1 auStack_190 [24];\n  uint uStack_178;\n  int iStack_ec;\n  undefined4 uStack_e4;\n  undefined4 uStack_e0;\n  undefined1 auStack_b8 [24];\n  uint local_a0;\n  int local_14;\n  \n  local_14 = *(int *)PTR___stack_chk_guard_0007d12c;\n  uVar5 = *param_1;\n  uVar7 = *param_2;\n  iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar5,auStack_b8);\n  if ((iVar2 == -1) || ((local_a0 & 0xf000) != 0x4000)) {\n    iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);\n    bVar1 = false;\n    if (iVar2 != -1) goto LAB_0001d724;\nLAB_0001d738:\n    iVar2 = -1;\n    if (bVar1) goto LAB_0001d758;\n  }\n  else {\n    iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);\n    bVar1 = true;\n    if (iVar2 == -1) {\n      iVar2 = -1;\n      goto LAB_0001d758;\n    }\nLAB_0001d724:\n    if ((local_a0 & 0xf000) != 0x4000) goto LAB_0001d738;\n    if (!bVar1) {\n      iVar2 = 1;\n      goto LAB_0001d758;\n    }\n  }\n  iVar2 = mbstrcasecmp(uVar5,uVar7);\nLAB_0001d758:\n  if (local_14 == *(int *)PTR___stack_chk_guard_0007d12c) {\n    return iVar2;\n  }\n  iVar2 = local_14;\n  puVar9 = PTR___stack_chk_fail_0007d0f8;\n  (*(code *)PTR___stack_chk_fail_0007d0f8)();\n  iStack_ec = **(int **)(puVar9 + 0x5f968);\n  uStack_e4 = uVar5;\n  uStack_e0 = uVar7;\n  uVar5 = (**(code **)(puVar9 + 0x5edb8))(0,iVar2);\n  uVar7 = (**(code **)(puVar9 + 0x5f898))(uVar5);\n  iVar2 = (**(code **)(puVar9 + 0x5f740))(3,uVar7,auStack_190);\n  if (iVar2 == -1) {\n    piVar6 = (int *)(**(code **)(puVar9 + 0x5f824))();\n    if (*piVar6 == 2) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45b0,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45d0);\n      uVar4 = (**(code **)(puVar9 + 0x5f89c))(*piVar6);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7,uVar4);\n      iVar2 = 0;\n    }\n  }\n  else if ((uStack_178 & 0xf000) == 0x4000) {\n    iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,1,5);\n    if (iVar2 == -1) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else if ((*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8) == 0) {\n      iVar2 = 1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);\n      if (iVar2 == -1) {\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }\n  }\n  else {\n    uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45e0);\n    (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n    iVar2 = 0;\n  }\n  (**(code **)(puVar9 + 0x5f97c))(uVar5);\n  if (iStack_ec != **(int **)(puVar9 + 0x5f968)) {\n    pcVar10 = *(code **)(puVar9 + 0x5f934);\n    (*pcVar10)();\n    piVar6 = *(int **)(pcVar10 + 0x5ec50);\n    iVar2 = *piVar6;\n    uVar5 = make_new_node(0);\n    *(undefined4 *)(iVar2 + 4) = uVar5;\n    puVar8 = *(undefined4 **)(*piVar6 + 4);\n    uVar5 = (**(code **)(pcVar10 + 0x5eae4))(0,*(int *)(pcVar10 + 0x5ead8) + -0x7e54);\n    *puVar8 = uVar5;\n    iVar2 = *piVar6;\n    uVar5 = *(undefined4 *)(iVar2 + 4);\n    *(undefined4 *)(iVar2 + 8) = uVar5;\n    *(undefined4 *)(iVar2 + 0xc) = uVar5;\n    *(undefined4 *)(iVar2 + 0x10) = uVar5;\n    *(undefined4 *)(iVar2 + 0x18) = 0;\n    *(undefined4 *)(iVar2 + 0x1c) = 0;\n    *(undefined4 *)(iVar2 + 0x14) = 0;\n    return iVar2;\n  }\n  return iVar2;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "code *pcVar10;" type_identifier (pointer_declarator "*pcVar10" * identifier) ;) (declaration "undefined1 auStack_190 [24];" type_identifier (array_declarator "auStack_190 [24]" identifier [ number_literal ]) ;) (declaration "uint uStack_178;" type_identifier identifier ;) (declaration "int iStack_ec;" primitive_type identifier ;) (declaration "undefined4 uStack_e4;" type_identifier identifier ;) (declaration "undefined4 uStack_e0;" type_identifier identifier ;) (declaration "undefined1 auStack_b8 [24];" type_identifier (array_declarator "auStack_b8 [24]" identifier [ number_literal ]) ;) (declaration "uint local_a0;" type_identifier identifier ;) (declaration "int local_14;" primitive_type identifier ;) (expression_statement "local_14 = *(int *)PTR___stack_chk_guard_0007d12c;" (assignment_expression "local_14 = *(int *)PTR___stack_chk_guard_0007d12c" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0007d12c" * (cast_expression "(int *)PTR___stack_chk_guard_0007d12c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar5 = *param_1;" (assignment_expression "uVar5 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar7 = *param_2;" (assignment_expression "uVar7 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar5,auStack_b8);" (assignment_expression "iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar5,auStack_b8)" identifier = (call_expression "(*(code *)PTR___xstat64_0007cf04)(3,uVar5,auStack_b8)" (parenthesized_expression "(*(code *)PTR___xstat64_0007cf04)" ( (pointer_expression "*(code *)PTR___xstat64_0007cf04" * (cast_expression "(code *)PTR___xstat64_0007cf04" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3,uVar5,auStack_b8)" ( number_literal , identifier , identifier )))) ;) (if_statement "if ((iVar2 == -1) || ((local_a0 & 0xf000) != 0x4000)) {\n    iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);\n    bVar1 = false;\n    if (iVar2 != -1) goto LAB_0001d724;\nLAB_0001d738:\n    iVar2 = -1;\n    if (bVar1) goto LAB_0001d758;\n  }\n  else {\n    iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);\n    bVar1 = true;\n    if (iVar2 == -1) {\n      iVar2 = -1;\n      goto LAB_0001d758;\n    }\nLAB_0001d724:\n    if ((local_a0 & 0xf000) != 0x4000) goto LAB_0001d738;\n    if (!bVar1) {\n      iVar2 = 1;\n      goto LAB_0001d758;\n    }\n  }" if (parenthesized_expression "((iVar2 == -1) || ((local_a0 & 0xf000) != 0x4000))" ( (binary_expression "(iVar2 == -1) || ((local_a0 & 0xf000) != 0x4000)" (parenthesized_expression "(iVar2 == -1)" ( (binary_expression "iVar2 == -1" identifier == number_literal) )) || (parenthesized_expression "((local_a0 & 0xf000) != 0x4000)" ( (binary_expression "(local_a0 & 0xf000) != 0x4000" (parenthesized_expression "(local_a0 & 0xf000)" ( (binary_expression "local_a0 & 0xf000" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n    iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);\n    bVar1 = false;\n    if (iVar2 != -1) goto LAB_0001d724;\nLAB_0001d738:\n    iVar2 = -1;\n    if (bVar1) goto LAB_0001d758;\n  }" { (expression_statement "iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);" (assignment_expression "iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8)" identifier = (call_expression "(*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8)" (parenthesized_expression "(*(code *)PTR___xstat64_0007cf04)" ( (pointer_expression "*(code *)PTR___xstat64_0007cf04" * (cast_expression "(code *)PTR___xstat64_0007cf04" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3,uVar7,auStack_b8)" ( number_literal , identifier , identifier )))) ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (if_statement "if (iVar2 != -1) goto LAB_0001d724;" if (parenthesized_expression "(iVar2 != -1)" ( (binary_expression "iVar2 != -1" identifier != number_literal) )) (goto_statement "goto LAB_0001d724;" goto statement_identifier ;)) (labeled_statement "LAB_0001d738:\n    iVar2 = -1;" statement_identifier : (expression_statement "iVar2 = -1;" (assignment_expression "iVar2 = -1" identifier = number_literal) ;)) (if_statement "if (bVar1) goto LAB_0001d758;" if (parenthesized_expression "(bVar1)" ( identifier )) (goto_statement "goto LAB_0001d758;" goto statement_identifier ;)) }) (else_clause "else {\n    iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);\n    bVar1 = true;\n    if (iVar2 == -1) {\n      iVar2 = -1;\n      goto LAB_0001d758;\n    }\nLAB_0001d724:\n    if ((local_a0 & 0xf000) != 0x4000) goto LAB_0001d738;\n    if (!bVar1) {\n      iVar2 = 1;\n      goto LAB_0001d758;\n    }\n  }" else (compound_statement "{\n    iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);\n    bVar1 = true;\n    if (iVar2 == -1) {\n      iVar2 = -1;\n      goto LAB_0001d758;\n    }\nLAB_0001d724:\n    if ((local_a0 & 0xf000) != 0x4000) goto LAB_0001d738;\n    if (!bVar1) {\n      iVar2 = 1;\n      goto LAB_0001d758;\n    }\n  }" { (expression_statement "iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);" (assignment_expression "iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8)" identifier = (call_expression "(*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8)" (parenthesized_expression "(*(code *)PTR___xstat64_0007cf04)" ( (pointer_expression "*(code *)PTR___xstat64_0007cf04" * (cast_expression "(code *)PTR___xstat64_0007cf04" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3,uVar7,auStack_b8)" ( number_literal , identifier , identifier )))) ;) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (if_statement "if (iVar2 == -1) {\n      iVar2 = -1;\n      goto LAB_0001d758;\n    }" if (parenthesized_expression "(iVar2 == -1)" ( (binary_expression "iVar2 == -1" identifier == number_literal) )) (compound_statement "{\n      iVar2 = -1;\n      goto LAB_0001d758;\n    }" { (expression_statement "iVar2 = -1;" (assignment_expression "iVar2 = -1" identifier = number_literal) ;) (goto_statement "goto LAB_0001d758;" goto statement_identifier ;) })) (labeled_statement "LAB_0001d724:\n    if ((local_a0 & 0xf000) != 0x4000) goto LAB_0001d738;" statement_identifier : (if_statement "if ((local_a0 & 0xf000) != 0x4000) goto LAB_0001d738;" if (parenthesized_expression "((local_a0 & 0xf000) != 0x4000)" ( (binary_expression "(local_a0 & 0xf000) != 0x4000" (parenthesized_expression "(local_a0 & 0xf000)" ( (binary_expression "local_a0 & 0xf000" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0001d738;" goto statement_identifier ;))) (if_statement "if (!bVar1) {\n      iVar2 = 1;\n      goto LAB_0001d758;\n    }" if (parenthesized_expression "(!bVar1)" ( (unary_expression "!bVar1" ! identifier) )) (compound_statement "{\n      iVar2 = 1;\n      goto LAB_0001d758;\n    }" { (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0001d758;" goto statement_identifier ;) })) }))) (expression_statement "iVar2 = mbstrcasecmp(uVar5,uVar7);" (assignment_expression "iVar2 = mbstrcasecmp(uVar5,uVar7)" identifier = (call_expression "mbstrcasecmp(uVar5,uVar7)" identifier (argument_list "(uVar5,uVar7)" ( identifier , identifier )))) ;) (labeled_statement "LAB_0001d758:\n  if (local_14 == *(int *)PTR___stack_chk_guard_0007d12c) {\n    return iVar2;\n  }" statement_identifier : (if_statement "if (local_14 == *(int *)PTR___stack_chk_guard_0007d12c) {\n    return iVar2;\n  }" if (parenthesized_expression "(local_14 == *(int *)PTR___stack_chk_guard_0007d12c)" ( (binary_expression "local_14 == *(int *)PTR___stack_chk_guard_0007d12c" identifier == (pointer_expression "*(int *)PTR___stack_chk_guard_0007d12c" * (cast_expression "(int *)PTR___stack_chk_guard_0007d12c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return iVar2;\n  }" { (return_statement "return iVar2;" return identifier ;) }))) (expression_statement "iVar2 = local_14;" (assignment_expression "iVar2 = local_14" identifier = identifier) ;) (expression_statement "puVar9 = PTR___stack_chk_fail_0007d0f8;" (assignment_expression "puVar9 = PTR___stack_chk_fail_0007d0f8" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0007d0f8)();" (call_expression "(*(code *)PTR___stack_chk_fail_0007d0f8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0007d0f8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0007d0f8" * (cast_expression "(code *)PTR___stack_chk_fail_0007d0f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iStack_ec = **(int **)(puVar9 + 0x5f968);" (assignment_expression "iStack_ec = **(int **)(puVar9 + 0x5f968)" identifier = (pointer_expression "**(int **)(puVar9 + 0x5f968)" * (pointer_expression "*(int **)(puVar9 + 0x5f968)" * (cast_expression "(int **)(puVar9 + 0x5f968)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5f968)" ( (binary_expression "puVar9 + 0x5f968" identifier + number_literal) )))))) ;) (expression_statement "uStack_e4 = uVar5;" (assignment_expression "uStack_e4 = uVar5" identifier = identifier) ;) (expression_statement "uStack_e0 = uVar7;" (assignment_expression "uStack_e0 = uVar7" identifier = identifier) ;) (expression_statement "uVar5 = (**(code **)(puVar9 + 0x5edb8))(0,iVar2);" (assignment_expression "uVar5 = (**(code **)(puVar9 + 0x5edb8))(0,iVar2)" identifier = (call_expression "(**(code **)(puVar9 + 0x5edb8))(0,iVar2)" (parenthesized_expression "(**(code **)(puVar9 + 0x5edb8))" ( (pointer_expression "**(code **)(puVar9 + 0x5edb8)" * (pointer_expression "*(code **)(puVar9 + 0x5edb8)" * (cast_expression "(code **)(puVar9 + 0x5edb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5edb8)" ( (binary_expression "puVar9 + 0x5edb8" identifier + number_literal) ))))) )) (argument_list "(0,iVar2)" ( number_literal , identifier )))) ;) (expression_statement "uVar7 = (**(code **)(puVar9 + 0x5f898))(uVar5);" (assignment_expression "uVar7 = (**(code **)(puVar9 + 0x5f898))(uVar5)" identifier = (call_expression "(**(code **)(puVar9 + 0x5f898))(uVar5)" (parenthesized_expression "(**(code **)(puVar9 + 0x5f898))" ( (pointer_expression "**(code **)(puVar9 + 0x5f898)" * (pointer_expression "*(code **)(puVar9 + 0x5f898)" * (cast_expression "(code **)(puVar9 + 0x5f898)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5f898)" ( (binary_expression "puVar9 + 0x5f898" identifier + number_literal) ))))) )) (argument_list "(uVar5)" ( identifier )))) ;) (expression_statement "iVar2 = (**(code **)(puVar9 + 0x5f740))(3,uVar7,auStack_190);" (assignment_expression "iVar2 = (**(code **)(puVar9 + 0x5f740))(3,uVar7,auStack_190)" identifier = (call_expression "(**(code **)(puVar9 + 0x5f740))(3,uVar7,auStack_190)" (parenthesized_expression "(**(code **)(puVar9 + 0x5f740))" ( (pointer_expression "**(code **)(puVar9 + 0x5f740)" * (pointer_expression "*(code **)(puVar9 + 0x5f740)" * (cast_expression "(code **)(puVar9 + 0x5f740)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5f740)" ( (binary_expression "puVar9 + 0x5f740" identifier + number_literal) ))))) )) (argument_list "(3,uVar7,auStack_190)" ( number_literal , identifier , identifier )))) ;) (if_statement "if (iVar2 == -1) {\n    piVar6 = (int *)(**(code **)(puVar9 + 0x5f824))();\n    if (*piVar6 == 2) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45b0,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45d0);\n      uVar4 = (**(code **)(puVar9 + 0x5f89c))(*piVar6);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7,uVar4);\n      iVar2 = 0;\n    }\n  }\n  else if ((uStack_178 & 0xf000) == 0x4000) {\n    iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,1,5);\n    if (iVar2 == -1) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else if ((*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8) == 0) {\n      iVar2 = 1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);\n      if (iVar2 == -1) {\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }\n  }\n  else {\n    uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45e0);\n    (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n    iVar2 = 0;\n  }" if (parenthesized_expression "(iVar2 == -1)" ( (binary_expression "iVar2 == -1" identifier == number_literal) )) (compound_statement "{\n    piVar6 = (int *)(**(code **)(puVar9 + 0x5f824))();\n    if (*piVar6 == 2) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45b0,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45d0);\n      uVar4 = (**(code **)(puVar9 + 0x5f89c))(*piVar6);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7,uVar4);\n      iVar2 = 0;\n    }\n  }" { (expression_statement "piVar6 = (int *)(**(code **)(puVar9 + 0x5f824))();" (assignment_expression "piVar6 = (int *)(**(code **)(puVar9 + 0x5f824))()" identifier = (cast_expression "(int *)(**(code **)(puVar9 + 0x5f824))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar9 + 0x5f824))()" (parenthesized_expression "(**(code **)(puVar9 + 0x5f824))" ( (pointer_expression "**(code **)(puVar9 + 0x5f824)" * (pointer_expression "*(code **)(puVar9 + 0x5f824)" * (cast_expression "(code **)(puVar9 + 0x5f824)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5f824)" ( (binary_expression "puVar9 + 0x5f824" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (if_statement "if (*piVar6 == 2) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45b0,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45d0);\n      uVar4 = (**(code **)(puVar9 + 0x5f89c))(*piVar6);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7,uVar4);\n      iVar2 = 0;\n    }" if (parenthesized_expression "(*piVar6 == 2)" ( (binary_expression "*piVar6 == 2" (pointer_expression "*piVar6" * identifier) == number_literal) )) (compound_statement "{\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45b0,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }" { (expression_statement "uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45b0,5);" (assignment_expression "uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45b0,5)" identifier = (call_expression "(**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45b0,5)" (parenthesized_expression "(**(code **)(puVar9 + 0x5f93c))" ( (pointer_expression "**(code **)(puVar9 + 0x5f93c)" * (pointer_expression "*(code **)(puVar9 + 0x5f93c)" * (cast_expression "(code **)(puVar9 + 0x5f93c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5f93c)" ( (binary_expression "puVar9 + 0x5f93c" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar9 + 0x5ed94) + 0x45b0,5)" ( number_literal , (binary_expression "*(int *)(puVar9 + 0x5ed94) + 0x45b0" (pointer_expression "*(int *)(puVar9 + 0x5ed94)" * (cast_expression "(int *)(puVar9 + 0x5ed94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x5ed94)" ( (binary_expression "puVar9 + 0x5ed94" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);" (call_expression "(**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7)" (parenthesized_expression "(**(code **)(puVar9 + 0x5ee34))" ( (pointer_expression "**(code **)(puVar9 + 0x5ee34)" * (pointer_expression "*(code **)(puVar9 + 0x5ee34)" * (cast_expression "(code **)(puVar9 + 0x5ee34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5ee34)" ( (binary_expression "puVar9 + 0x5ee34" identifier + number_literal) ))))) )) (argument_list "(3,uVar3,uVar7)" ( number_literal , identifier , identifier ))) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45d0);\n      uVar4 = (**(code **)(puVar9 + 0x5f89c))(*piVar6);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7,uVar4);\n      iVar2 = 0;\n    }" else (compound_statement "{\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45d0);\n      uVar4 = (**(code **)(puVar9 + 0x5f89c))(*piVar6);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7,uVar4);\n      iVar2 = 0;\n    }" { (expression_statement "uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45d0);" (assignment_expression "uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45d0)" identifier = (call_expression "(**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45d0)" (parenthesized_expression "(**(code **)(puVar9 + 0x5f93c))" ( (pointer_expression "**(code **)(puVar9 + 0x5f93c)" * (pointer_expression "*(code **)(puVar9 + 0x5f93c)" * (cast_expression "(code **)(puVar9 + 0x5f93c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5f93c)" ( (binary_expression "puVar9 + 0x5f93c" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar9 + 0x5ed94) + 0x45d0)" ( number_literal , (binary_expression "*(int *)(puVar9 + 0x5ed94) + 0x45d0" (pointer_expression "*(int *)(puVar9 + 0x5ed94)" * (cast_expression "(int *)(puVar9 + 0x5ed94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x5ed94)" ( (binary_expression "puVar9 + 0x5ed94" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "uVar4 = (**(code **)(puVar9 + 0x5f89c))(*piVar6);" (assignment_expression "uVar4 = (**(code **)(puVar9 + 0x5f89c))(*piVar6)" identifier = (call_expression "(**(code **)(puVar9 + 0x5f89c))(*piVar6)" (parenthesized_expression "(**(code **)(puVar9 + 0x5f89c))" ( (pointer_expression "**(code **)(puVar9 + 0x5f89c)" * (pointer_expression "*(code **)(puVar9 + 0x5f89c)" * (cast_expression "(code **)(puVar9 + 0x5f89c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5f89c)" ( (binary_expression "puVar9 + 0x5f89c" identifier + number_literal) ))))) )) (argument_list "(*piVar6)" ( (pointer_expression "*piVar6" * identifier) )))) ;) (expression_statement "(**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7,uVar4);" (call_expression "(**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7,uVar4)" (parenthesized_expression "(**(code **)(puVar9 + 0x5ee34))" ( (pointer_expression "**(code **)(puVar9 + 0x5ee34)" * (pointer_expression "*(code **)(puVar9 + 0x5ee34)" * (cast_expression "(code **)(puVar9 + 0x5ee34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5ee34)" ( (binary_expression "puVar9 + 0x5ee34" identifier + number_literal) ))))) )) (argument_list "(3,uVar3,uVar7,uVar4)" ( number_literal , identifier , identifier , identifier ))) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) }))) }) (else_clause "else if ((uStack_178 & 0xf000) == 0x4000) {\n    iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,1,5);\n    if (iVar2 == -1) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else if ((*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8) == 0) {\n      iVar2 = 1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);\n      if (iVar2 == -1) {\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }\n  }\n  else {\n    uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45e0);\n    (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n    iVar2 = 0;\n  }" else (if_statement "if ((uStack_178 & 0xf000) == 0x4000) {\n    iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,1,5);\n    if (iVar2 == -1) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else if ((*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8) == 0) {\n      iVar2 = 1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);\n      if (iVar2 == -1) {\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }\n  }\n  else {\n    uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45e0);\n    (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n    iVar2 = 0;\n  }" if (parenthesized_expression "((uStack_178 & 0xf000) == 0x4000)" ( (binary_expression "(uStack_178 & 0xf000) == 0x4000" (parenthesized_expression "(uStack_178 & 0xf000)" ( (binary_expression "uStack_178 & 0xf000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,1,5);\n    if (iVar2 == -1) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else if ((*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8) == 0) {\n      iVar2 = 1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);\n      if (iVar2 == -1) {\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }\n  }" { (expression_statement "iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,1,5);" (assignment_expression "iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,1,5)" identifier = (call_expression "(**(code **)(puVar9 + 0x5f7f0))(uVar7,1,5)" (parenthesized_expression "(**(code **)(puVar9 + 0x5f7f0))" ( (pointer_expression "**(code **)(puVar9 + 0x5f7f0)" * (pointer_expression "*(code **)(puVar9 + 0x5f7f0)" * (cast_expression "(code **)(puVar9 + 0x5f7f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5f7f0)" ( (binary_expression "puVar9 + 0x5f7f0" identifier + number_literal) ))))) )) (argument_list "(uVar7,1,5)" ( identifier , number_literal , number_literal )))) ;) (if_statement "if (iVar2 == -1) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else if ((*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8) == 0) {\n      iVar2 = 1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);\n      if (iVar2 == -1) {\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }" if (parenthesized_expression "(iVar2 == -1)" ( (binary_expression "iVar2 == -1" identifier == number_literal) )) (compound_statement "{\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }" { (expression_statement "uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5);" (assignment_expression "uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5)" identifier = (call_expression "(**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5)" (parenthesized_expression "(**(code **)(puVar9 + 0x5f93c))" ( (pointer_expression "**(code **)(puVar9 + 0x5f93c)" * (pointer_expression "*(code **)(puVar9 + 0x5f93c)" * (cast_expression "(code **)(puVar9 + 0x5f93c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5f93c)" ( (binary_expression "puVar9 + 0x5f93c" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5)" ( number_literal , (binary_expression "*(int *)(puVar9 + 0x5ed94) + 0x4600" (pointer_expression "*(int *)(puVar9 + 0x5ed94)" * (cast_expression "(int *)(puVar9 + 0x5ed94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x5ed94)" ( (binary_expression "puVar9 + 0x5ed94" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);" (call_expression "(**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7)" (parenthesized_expression "(**(code **)(puVar9 + 0x5ee34))" ( (pointer_expression "**(code **)(puVar9 + 0x5ee34)" * (pointer_expression "*(code **)(puVar9 + 0x5ee34)" * (cast_expression "(code **)(puVar9 + 0x5ee34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5ee34)" ( (binary_expression "puVar9 + 0x5ee34" identifier + number_literal) ))))) )) (argument_list "(3,uVar3,uVar7)" ( number_literal , identifier , identifier ))) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) }) (else_clause "else if ((*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8) == 0) {\n      iVar2 = 1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);\n      if (iVar2 == -1) {\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }" else (if_statement "if ((*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8) == 0) {\n      iVar2 = 1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);\n      if (iVar2 == -1) {\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }" if (parenthesized_expression "((*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8) == 0)" ( (binary_expression "(*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8) == 0" (parenthesized_expression "(*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8)" ( (binary_expression "*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8" (pointer_expression "*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4)" * (cast_expression "(uint *)(*(int *)(puVar9 + 0x5edc0) + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar9 + 0x5edc0) + 4)" ( (binary_expression "*(int *)(puVar9 + 0x5edc0) + 4" (pointer_expression "*(int *)(puVar9 + 0x5edc0)" * (cast_expression "(int *)(puVar9 + 0x5edc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x5edc0)" ( (binary_expression "puVar9 + 0x5edc0" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      iVar2 = 1;\n    }" { (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" identifier = number_literal) ;) }) (else_clause "else {\n      iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);\n      if (iVar2 == -1) {\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }" else (compound_statement "{\n      iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);\n      if (iVar2 == -1) {\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }" { (expression_statement "iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);" (assignment_expression "iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2)" identifier = (call_expression "(**(code **)(puVar9 + 0x5f7f0))(uVar7,2)" (parenthesized_expression "(**(code **)(puVar9 + 0x5f7f0))" ( (pointer_expression "**(code **)(puVar9 + 0x5f7f0)" * (pointer_expression "*(code **)(puVar9 + 0x5f7f0)" * (cast_expression "(code **)(puVar9 + 0x5f7f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5f7f0)" ( (binary_expression "puVar9 + 0x5f7f0" identifier + number_literal) ))))) )) (argument_list "(uVar7,2)" ( identifier , number_literal )))) ;) (if_statement "if (iVar2 == -1) {\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }" if (parenthesized_expression "(iVar2 == -1)" ( (binary_expression "iVar2 == -1" identifier == number_literal) )) (compound_statement "{\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }" { (expression_statement "uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);" (assignment_expression "uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5)" identifier = (call_expression "(**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5)" (parenthesized_expression "(**(code **)(puVar9 + 0x5f93c))" ( (pointer_expression "**(code **)(puVar9 + 0x5f93c)" * (pointer_expression "*(code **)(puVar9 + 0x5f93c)" * (cast_expression "(code **)(puVar9 + 0x5f93c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5f93c)" ( (binary_expression "puVar9 + 0x5f93c" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5)" ( number_literal , (binary_expression "*(int *)(puVar9 + 0x5ed94) + 0x461c" (pointer_expression "*(int *)(puVar9 + 0x5ed94)" * (cast_expression "(int *)(puVar9 + 0x5ed94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x5ed94)" ( (binary_expression "puVar9 + 0x5ed94" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "(**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);" (call_expression "(**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7)" (parenthesized_expression "(**(code **)(puVar9 + 0x5ee34))" ( (pointer_expression "**(code **)(puVar9 + 0x5ee34)" * (pointer_expression "*(code **)(puVar9 + 0x5ee34)" * (cast_expression "(code **)(puVar9 + 0x5ee34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5ee34)" ( (binary_expression "puVar9 + 0x5ee34" identifier + number_literal) ))))) )) (argument_list "(2,uVar3,uVar7)" ( number_literal , identifier , identifier ))) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        iVar2 = 1;\n      }" else (compound_statement "{\n        iVar2 = 1;\n      }" { (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" identifier = number_literal) ;) }))) }))))) }) (else_clause "else {\n    uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45e0);\n    (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n    iVar2 = 0;\n  }" else (compound_statement "{\n    uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45e0);\n    (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n    iVar2 = 0;\n  }" { (expression_statement "uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45e0);" (assignment_expression "uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45e0)" identifier = (call_expression "(**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45e0)" (parenthesized_expression "(**(code **)(puVar9 + 0x5f93c))" ( (pointer_expression "**(code **)(puVar9 + 0x5f93c)" * (pointer_expression "*(code **)(puVar9 + 0x5f93c)" * (cast_expression "(code **)(puVar9 + 0x5f93c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5f93c)" ( (binary_expression "puVar9 + 0x5f93c" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar9 + 0x5ed94) + 0x45e0)" ( number_literal , (binary_expression "*(int *)(puVar9 + 0x5ed94) + 0x45e0" (pointer_expression "*(int *)(puVar9 + 0x5ed94)" * (cast_expression "(int *)(puVar9 + 0x5ed94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x5ed94)" ( (binary_expression "puVar9 + 0x5ed94" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);" (call_expression "(**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7)" (parenthesized_expression "(**(code **)(puVar9 + 0x5ee34))" ( (pointer_expression "**(code **)(puVar9 + 0x5ee34)" * (pointer_expression "*(code **)(puVar9 + 0x5ee34)" * (cast_expression "(code **)(puVar9 + 0x5ee34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5ee34)" ( (binary_expression "puVar9 + 0x5ee34" identifier + number_literal) ))))) )) (argument_list "(3,uVar3,uVar7)" ( number_literal , identifier , identifier ))) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) }))))) (expression_statement "(**(code **)(puVar9 + 0x5f97c))(uVar5);" (call_expression "(**(code **)(puVar9 + 0x5f97c))(uVar5)" (parenthesized_expression "(**(code **)(puVar9 + 0x5f97c))" ( (pointer_expression "**(code **)(puVar9 + 0x5f97c)" * (pointer_expression "*(code **)(puVar9 + 0x5f97c)" * (cast_expression "(code **)(puVar9 + 0x5f97c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5f97c)" ( (binary_expression "puVar9 + 0x5f97c" identifier + number_literal) ))))) )) (argument_list "(uVar5)" ( identifier ))) ;) (if_statement "if (iStack_ec != **(int **)(puVar9 + 0x5f968)) {\n    pcVar10 = *(code **)(puVar9 + 0x5f934);\n    (*pcVar10)();\n    piVar6 = *(int **)(pcVar10 + 0x5ec50);\n    iVar2 = *piVar6;\n    uVar5 = make_new_node(0);\n    *(undefined4 *)(iVar2 + 4) = uVar5;\n    puVar8 = *(undefined4 **)(*piVar6 + 4);\n    uVar5 = (**(code **)(pcVar10 + 0x5eae4))(0,*(int *)(pcVar10 + 0x5ead8) + -0x7e54);\n    *puVar8 = uVar5;\n    iVar2 = *piVar6;\n    uVar5 = *(undefined4 *)(iVar2 + 4);\n    *(undefined4 *)(iVar2 + 8) = uVar5;\n    *(undefined4 *)(iVar2 + 0xc) = uVar5;\n    *(undefined4 *)(iVar2 + 0x10) = uVar5;\n    *(undefined4 *)(iVar2 + 0x18) = 0;\n    *(undefined4 *)(iVar2 + 0x1c) = 0;\n    *(undefined4 *)(iVar2 + 0x14) = 0;\n    return iVar2;\n  }" if (parenthesized_expression "(iStack_ec != **(int **)(puVar9 + 0x5f968))" ( (binary_expression "iStack_ec != **(int **)(puVar9 + 0x5f968)" identifier != (pointer_expression "**(int **)(puVar9 + 0x5f968)" * (pointer_expression "*(int **)(puVar9 + 0x5f968)" * (cast_expression "(int **)(puVar9 + 0x5f968)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5f968)" ( (binary_expression "puVar9 + 0x5f968" identifier + number_literal) )))))) )) (compound_statement "{\n    pcVar10 = *(code **)(puVar9 + 0x5f934);\n    (*pcVar10)();\n    piVar6 = *(int **)(pcVar10 + 0x5ec50);\n    iVar2 = *piVar6;\n    uVar5 = make_new_node(0);\n    *(undefined4 *)(iVar2 + 4) = uVar5;\n    puVar8 = *(undefined4 **)(*piVar6 + 4);\n    uVar5 = (**(code **)(pcVar10 + 0x5eae4))(0,*(int *)(pcVar10 + 0x5ead8) + -0x7e54);\n    *puVar8 = uVar5;\n    iVar2 = *piVar6;\n    uVar5 = *(undefined4 *)(iVar2 + 4);\n    *(undefined4 *)(iVar2 + 8) = uVar5;\n    *(undefined4 *)(iVar2 + 0xc) = uVar5;\n    *(undefined4 *)(iVar2 + 0x10) = uVar5;\n    *(undefined4 *)(iVar2 + 0x18) = 0;\n    *(undefined4 *)(iVar2 + 0x1c) = 0;\n    *(undefined4 *)(iVar2 + 0x14) = 0;\n    return iVar2;\n  }" { (expression_statement "pcVar10 = *(code **)(puVar9 + 0x5f934);" (assignment_expression "pcVar10 = *(code **)(puVar9 + 0x5f934)" identifier = (pointer_expression "*(code **)(puVar9 + 0x5f934)" * (cast_expression "(code **)(puVar9 + 0x5f934)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x5f934)" ( (binary_expression "puVar9 + 0x5f934" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar10)();" (call_expression "(*pcVar10)()" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar6 = *(int **)(pcVar10 + 0x5ec50);" (assignment_expression "piVar6 = *(int **)(pcVar10 + 0x5ec50)" identifier = (pointer_expression "*(int **)(pcVar10 + 0x5ec50)" * (cast_expression "(int **)(pcVar10 + 0x5ec50)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x5ec50)" ( (binary_expression "pcVar10 + 0x5ec50" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *piVar6;" (assignment_expression "iVar2 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "uVar5 = make_new_node(0);" (assignment_expression "uVar5 = make_new_node(0)" identifier = (call_expression "make_new_node(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "*(undefined4 *)(iVar2 + 4) = uVar5;" (assignment_expression "*(undefined4 *)(iVar2 + 4) = uVar5" (pointer_expression "*(undefined4 *)(iVar2 + 4)" * (cast_expression "(undefined4 *)(iVar2 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar8 = *(undefined4 **)(*piVar6 + 4);" (assignment_expression "puVar8 = *(undefined4 **)(*piVar6 + 4)" identifier = (pointer_expression "*(undefined4 **)(*piVar6 + 4)" * (cast_expression "(undefined4 **)(*piVar6 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar6 + 4)" ( (binary_expression "*piVar6 + 4" (pointer_expression "*piVar6" * identifier) + number_literal) ))))) ;) (expression_statement "uVar5 = (**(code **)(pcVar10 + 0x5eae4))(0,*(int *)(pcVar10 + 0x5ead8) + -0x7e54);" (assignment_expression "uVar5 = (**(code **)(pcVar10 + 0x5eae4))(0,*(int *)(pcVar10 + 0x5ead8) + -0x7e54)" identifier = (call_expression "(**(code **)(pcVar10 + 0x5eae4))(0,*(int *)(pcVar10 + 0x5ead8) + -0x7e54)" (parenthesized_expression "(**(code **)(pcVar10 + 0x5eae4))" ( (pointer_expression "**(code **)(pcVar10 + 0x5eae4)" * (pointer_expression "*(code **)(pcVar10 + 0x5eae4)" * (cast_expression "(code **)(pcVar10 + 0x5eae4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x5eae4)" ( (binary_expression "pcVar10 + 0x5eae4" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar10 + 0x5ead8) + -0x7e54)" ( number_literal , (binary_expression "*(int *)(pcVar10 + 0x5ead8) + -0x7e54" (pointer_expression "*(int *)(pcVar10 + 0x5ead8)" * (cast_expression "(int *)(pcVar10 + 0x5ead8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x5ead8)" ( (binary_expression "pcVar10 + 0x5ead8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "*puVar8 = uVar5;" (assignment_expression "*puVar8 = uVar5" (pointer_expression "*puVar8" * identifier) = identifier) ;) (expression_statement "iVar2 = *piVar6;" (assignment_expression "iVar2 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "uVar5 = *(undefined4 *)(iVar2 + 4);" (assignment_expression "uVar5 = *(undefined4 *)(iVar2 + 4)" identifier = (pointer_expression "*(undefined4 *)(iVar2 + 4)" * (cast_expression "(undefined4 *)(iVar2 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar2 + 8) = uVar5;" (assignment_expression "*(undefined4 *)(iVar2 + 8) = uVar5" (pointer_expression "*(undefined4 *)(iVar2 + 8)" * (cast_expression "(undefined4 *)(iVar2 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar2 + 0xc) = uVar5;" (assignment_expression "*(undefined4 *)(iVar2 + 0xc) = uVar5" (pointer_expression "*(undefined4 *)(iVar2 + 0xc)" * (cast_expression "(undefined4 *)(iVar2 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xc)" ( (binary_expression "iVar2 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar2 + 0x10) = uVar5;" (assignment_expression "*(undefined4 *)(iVar2 + 0x10) = uVar5" (pointer_expression "*(undefined4 *)(iVar2 + 0x10)" * (cast_expression "(undefined4 *)(iVar2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar2 + 0x18) = 0;" (assignment_expression "*(undefined4 *)(iVar2 + 0x18) = 0" (pointer_expression "*(undefined4 *)(iVar2 + 0x18)" * (cast_expression "(undefined4 *)(iVar2 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x18)" ( (binary_expression "iVar2 + 0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar2 + 0x1c) = 0;" (assignment_expression "*(undefined4 *)(iVar2 + 0x1c) = 0" (pointer_expression "*(undefined4 *)(iVar2 + 0x1c)" * (cast_expression "(undefined4 *)(iVar2 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar2 + 0x14) = 0;" (assignment_expression "*(undefined4 *)(iVar2 + 0x14) = 0" (pointer_expression "*(undefined4 *)(iVar2 + 0x14)" * (cast_expression "(undefined4 *)(iVar2 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x14)" ( (binary_expression "iVar2 + 0x14" identifier + number_literal) )))) = number_literal) ;) (return_statement "return iVar2;" return identifier ;) })) (return_statement "return iVar2;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * 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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;))) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (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 = (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 , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression 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 , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (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) )))) ;) (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 ( LIT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , IDENT ))) ;) (expression_statement (assignment_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 ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_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 ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (return_statement return IDENT ;) })) (return_statement return IDENT ;) })))
(function_definition "int diralphasort(undefined4 *param_1,undefined4 *param_2)\n\n{\n  bool bVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  int *piVar6;\n  undefined4 uVar7;\n  undefined4 *puVar8;\n  undefined *puVar9;\n  code *pcVar10;\n  undefined1 auStack_190 [24];\n  uint uStack_178;\n  int iStack_ec;\n  undefined4 uStack_e4;\n  undefined4 uStack_e0;\n  undefined1 auStack_b8 [24];\n  uint local_a0;\n  int local_14;\n  \n  local_14 = *(int *)PTR___stack_chk_guard_0007d12c;\n  uVar5 = *param_1;\n  uVar7 = *param_2;\n  iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar5,auStack_b8);\n  if ((iVar2 == -1) || ((local_a0 & 0xf000) != 0x4000)) {\n    iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);\n    bVar1 = false;\n    if (iVar2 != -1) goto LAB_0001d724;\nLAB_0001d738:\n    iVar2 = -1;\n    if (bVar1) goto LAB_0001d758;\n  }\n  else {\n    iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);\n    bVar1 = true;\n    if (iVar2 == -1) {\n      iVar2 = -1;\n      goto LAB_0001d758;\n    }\nLAB_0001d724:\n    if ((local_a0 & 0xf000) != 0x4000) goto LAB_0001d738;\n    if (!bVar1) {\n      iVar2 = 1;\n      goto LAB_0001d758;\n    }\n  }\n  iVar2 = mbstrcasecmp(uVar5,uVar7);\nLAB_0001d758:\n  if (local_14 == *(int *)PTR___stack_chk_guard_0007d12c) {\n    return iVar2;\n  }\n  iVar2 = local_14;\n  puVar9 = PTR___stack_chk_fail_0007d0f8;\n  (*(code *)PTR___stack_chk_fail_0007d0f8)();\n  iStack_ec = **(int **)(puVar9 + 0x5f968);\n  uStack_e4 = uVar5;\n  uStack_e0 = uVar7;\n  uVar5 = (**(code **)(puVar9 + 0x5edb8))(0,iVar2);\n  uVar7 = (**(code **)(puVar9 + 0x5f898))(uVar5);\n  iVar2 = (**(code **)(puVar9 + 0x5f740))(3,uVar7,auStack_190);\n  if (iVar2 == -1) {\n    piVar6 = (int *)(**(code **)(puVar9 + 0x5f824))();\n    if (*piVar6 == 2) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45b0,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45d0);\n      uVar4 = (**(code **)(puVar9 + 0x5f89c))(*piVar6);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7,uVar4);\n      iVar2 = 0;\n    }\n  }\n  else if ((uStack_178 & 0xf000) == 0x4000) {\n    iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,1,5);\n    if (iVar2 == -1) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else if ((*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8) == 0) {\n      iVar2 = 1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);\n      if (iVar2 == -1) {\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }\n  }\n  else {\n    uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45e0);\n    (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n    iVar2 = 0;\n  }\n  (**(code **)(puVar9 + 0x5f97c))(uVar5);\n  if (iStack_ec != **(int **)(puVar9 + 0x5f968)) {\n    pcVar10 = *(code **)(puVar9 + 0x5f934);\n    (*pcVar10)();\n    piVar6 = *(int **)(pcVar10 + 0x5ec50);\n    iVar2 = *piVar6;\n    uVar5 = make_new_node(0);\n    *(undefined4 *)(iVar2 + 4) = uVar5;\n    puVar8 = *(undefined4 **)(*piVar6 + 4);\n    uVar5 = (**(code **)(pcVar10 + 0x5eae4))(0,*(int *)(pcVar10 + 0x5ead8) + -0x7e54);\n    *puVar8 = uVar5;\n    iVar2 = *piVar6;\n    uVar5 = *(undefined4 *)(iVar2 + 4);\n    *(undefined4 *)(iVar2 + 8) = uVar5;\n    *(undefined4 *)(iVar2 + 0xc) = uVar5;\n    *(undefined4 *)(iVar2 + 0x10) = uVar5;\n    *(undefined4 *)(iVar2 + 0x18) = 0;\n    *(undefined4 *)(iVar2 + 0x1c) = 0;\n    *(undefined4 *)(iVar2 + 0x14) = 0;\n    return iVar2;\n  }\n  return iVar2;\n}" (primitive_type "int") (function_declarator "diralphasort(undefined4 *param_1,undefined4 *param_2)" (identifier "diralphasort") (parameter_list "(undefined4 *param_1,undefined4 *param_2)" (( "(") (parameter_declaration "undefined4 *param_1" (type_identifier "undefined4") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined4 *param_2" (type_identifier "undefined4") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")"))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  int *piVar6;\n  undefined4 uVar7;\n  undefined4 *puVar8;\n  undefined *puVar9;\n  code *pcVar10;\n  undefined1 auStack_190 [24];\n  uint uStack_178;\n  int iStack_ec;\n  undefined4 uStack_e4;\n  undefined4 uStack_e0;\n  undefined1 auStack_b8 [24];\n  uint local_a0;\n  int local_14;\n  \n  local_14 = *(int *)PTR___stack_chk_guard_0007d12c;\n  uVar5 = *param_1;\n  uVar7 = *param_2;\n  iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar5,auStack_b8);\n  if ((iVar2 == -1) || ((local_a0 & 0xf000) != 0x4000)) {\n    iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);\n    bVar1 = false;\n    if (iVar2 != -1) goto LAB_0001d724;\nLAB_0001d738:\n    iVar2 = -1;\n    if (bVar1) goto LAB_0001d758;\n  }\n  else {\n    iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);\n    bVar1 = true;\n    if (iVar2 == -1) {\n      iVar2 = -1;\n      goto LAB_0001d758;\n    }\nLAB_0001d724:\n    if ((local_a0 & 0xf000) != 0x4000) goto LAB_0001d738;\n    if (!bVar1) {\n      iVar2 = 1;\n      goto LAB_0001d758;\n    }\n  }\n  iVar2 = mbstrcasecmp(uVar5,uVar7);\nLAB_0001d758:\n  if (local_14 == *(int *)PTR___stack_chk_guard_0007d12c) {\n    return iVar2;\n  }\n  iVar2 = local_14;\n  puVar9 = PTR___stack_chk_fail_0007d0f8;\n  (*(code *)PTR___stack_chk_fail_0007d0f8)();\n  iStack_ec = **(int **)(puVar9 + 0x5f968);\n  uStack_e4 = uVar5;\n  uStack_e0 = uVar7;\n  uVar5 = (**(code **)(puVar9 + 0x5edb8))(0,iVar2);\n  uVar7 = (**(code **)(puVar9 + 0x5f898))(uVar5);\n  iVar2 = (**(code **)(puVar9 + 0x5f740))(3,uVar7,auStack_190);\n  if (iVar2 == -1) {\n    piVar6 = (int *)(**(code **)(puVar9 + 0x5f824))();\n    if (*piVar6 == 2) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45b0,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45d0);\n      uVar4 = (**(code **)(puVar9 + 0x5f89c))(*piVar6);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7,uVar4);\n      iVar2 = 0;\n    }\n  }\n  else if ((uStack_178 & 0xf000) == 0x4000) {\n    iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,1,5);\n    if (iVar2 == -1) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else if ((*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8) == 0) {\n      iVar2 = 1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);\n      if (iVar2 == -1) {\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }\n  }\n  else {\n    uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45e0);\n    (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n    iVar2 = 0;\n  }\n  (**(code **)(puVar9 + 0x5f97c))(uVar5);\n  if (iStack_ec != **(int **)(puVar9 + 0x5f968)) {\n    pcVar10 = *(code **)(puVar9 + 0x5f934);\n    (*pcVar10)();\n    piVar6 = *(int **)(pcVar10 + 0x5ec50);\n    iVar2 = *piVar6;\n    uVar5 = make_new_node(0);\n    *(undefined4 *)(iVar2 + 4) = uVar5;\n    puVar8 = *(undefined4 **)(*piVar6 + 4);\n    uVar5 = (**(code **)(pcVar10 + 0x5eae4))(0,*(int *)(pcVar10 + 0x5ead8) + -0x7e54);\n    *puVar8 = uVar5;\n    iVar2 = *piVar6;\n    uVar5 = *(undefined4 *)(iVar2 + 4);\n    *(undefined4 *)(iVar2 + 8) = uVar5;\n    *(undefined4 *)(iVar2 + 0xc) = uVar5;\n    *(undefined4 *)(iVar2 + 0x10) = uVar5;\n    *(undefined4 *)(iVar2 + 0x18) = 0;\n    *(undefined4 *)(iVar2 + 0x1c) = 0;\n    *(undefined4 *)(iVar2 + 0x14) = 0;\n    return iVar2;\n  }\n  return iVar2;\n}" ({ "{") (declaration "bool bVar1;" (primitive_type "bool") (identifier "bVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "int *piVar6;" (primitive_type "int") (pointer_declarator "*piVar6" (* "*") (identifier "piVar6")) (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "undefined4 *puVar8;" (type_identifier "undefined4") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "undefined *puVar9;" (type_identifier "undefined") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "code *pcVar10;" (type_identifier "code") (pointer_declarator "*pcVar10" (* "*") (identifier "pcVar10")) (; ";")) (declaration "undefined1 auStack_190 [24];" (type_identifier "undefined1") (array_declarator "auStack_190 [24]" (identifier "auStack_190") ([ "[") (number_literal "24") (] "]")) (; ";")) (declaration "uint uStack_178;" (type_identifier "uint") (identifier "uStack_178") (; ";")) (declaration "int iStack_ec;" (primitive_type "int") (identifier "iStack_ec") (; ";")) (declaration "undefined4 uStack_e4;" (type_identifier "undefined4") (identifier "uStack_e4") (; ";")) (declaration "undefined4 uStack_e0;" (type_identifier "undefined4") (identifier "uStack_e0") (; ";")) (declaration "undefined1 auStack_b8 [24];" (type_identifier "undefined1") (array_declarator "auStack_b8 [24]" (identifier "auStack_b8") ([ "[") (number_literal "24") (] "]")) (; ";")) (declaration "uint local_a0;" (type_identifier "uint") (identifier "local_a0") (; ";")) (declaration "int local_14;" (primitive_type "int") (identifier "local_14") (; ";")) (expression_statement "local_14 = *(int *)PTR___stack_chk_guard_0007d12c;" (assignment_expression "local_14 = *(int *)PTR___stack_chk_guard_0007d12c" (identifier "local_14") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_0007d12c" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_0007d12c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_0007d12c")))) (; ";")) (expression_statement "uVar5 = *param_1;" (assignment_expression "uVar5 = *param_1" (identifier "uVar5") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "uVar7 = *param_2;" (assignment_expression "uVar7 = *param_2" (identifier "uVar7") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar5,auStack_b8);" (assignment_expression "iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar5,auStack_b8)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR___xstat64_0007cf04)(3,uVar5,auStack_b8)" (parenthesized_expression "(*(code *)PTR___xstat64_0007cf04)" (( "(") (pointer_expression "*(code *)PTR___xstat64_0007cf04" (* "*") (cast_expression "(code *)PTR___xstat64_0007cf04" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___xstat64_0007cf04"))) () ")")) (argument_list "(3,uVar5,auStack_b8)" (( "(") (number_literal "3") (, ",") (identifier "uVar5") (, ",") (identifier "auStack_b8") () ")")))) (; ";")) (if_statement "if ((iVar2 == -1) || ((local_a0 & 0xf000) != 0x4000)) {\n    iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);\n    bVar1 = false;\n    if (iVar2 != -1) goto LAB_0001d724;\nLAB_0001d738:\n    iVar2 = -1;\n    if (bVar1) goto LAB_0001d758;\n  }\n  else {\n    iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);\n    bVar1 = true;\n    if (iVar2 == -1) {\n      iVar2 = -1;\n      goto LAB_0001d758;\n    }\nLAB_0001d724:\n    if ((local_a0 & 0xf000) != 0x4000) goto LAB_0001d738;\n    if (!bVar1) {\n      iVar2 = 1;\n      goto LAB_0001d758;\n    }\n  }" (if "if") (parenthesized_expression "((iVar2 == -1) || ((local_a0 & 0xf000) != 0x4000))" (( "(") (binary_expression "(iVar2 == -1) || ((local_a0 & 0xf000) != 0x4000)" (parenthesized_expression "(iVar2 == -1)" (( "(") (binary_expression "iVar2 == -1" (identifier "iVar2") (== "==") (number_literal "-1")) () ")")) (|| "||") (parenthesized_expression "((local_a0 & 0xf000) != 0x4000)" (( "(") (binary_expression "(local_a0 & 0xf000) != 0x4000" (parenthesized_expression "(local_a0 & 0xf000)" (( "(") (binary_expression "local_a0 & 0xf000" (identifier "local_a0") (& "&") (number_literal "0xf000")) () ")")) (!= "!=") (number_literal "0x4000")) () ")"))) () ")")) (compound_statement "{\n    iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);\n    bVar1 = false;\n    if (iVar2 != -1) goto LAB_0001d724;\nLAB_0001d738:\n    iVar2 = -1;\n    if (bVar1) goto LAB_0001d758;\n  }" ({ "{") (expression_statement "iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);" (assignment_expression "iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8)" (parenthesized_expression "(*(code *)PTR___xstat64_0007cf04)" (( "(") (pointer_expression "*(code *)PTR___xstat64_0007cf04" (* "*") (cast_expression "(code *)PTR___xstat64_0007cf04" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___xstat64_0007cf04"))) () ")")) (argument_list "(3,uVar7,auStack_b8)" (( "(") (number_literal "3") (, ",") (identifier "uVar7") (, ",") (identifier "auStack_b8") () ")")))) (; ";")) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" (identifier "bVar1") (= "=") (false "false")) (; ";")) (if_statement "if (iVar2 != -1) goto LAB_0001d724;" (if "if") (parenthesized_expression "(iVar2 != -1)" (( "(") (binary_expression "iVar2 != -1" (identifier "iVar2") (!= "!=") (number_literal "-1")) () ")")) (goto_statement "goto LAB_0001d724;" (goto "goto") (statement_identifier "LAB_0001d724") (; ";"))) (labeled_statement "LAB_0001d738:\n    iVar2 = -1;" (statement_identifier "LAB_0001d738") (: ":") (expression_statement "iVar2 = -1;" (assignment_expression "iVar2 = -1" (identifier "iVar2") (= "=") (number_literal "-1")) (; ";"))) (if_statement "if (bVar1) goto LAB_0001d758;" (if "if") (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (goto_statement "goto LAB_0001d758;" (goto "goto") (statement_identifier "LAB_0001d758") (; ";"))) (} "}")) (else_clause "else {\n    iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);\n    bVar1 = true;\n    if (iVar2 == -1) {\n      iVar2 = -1;\n      goto LAB_0001d758;\n    }\nLAB_0001d724:\n    if ((local_a0 & 0xf000) != 0x4000) goto LAB_0001d738;\n    if (!bVar1) {\n      iVar2 = 1;\n      goto LAB_0001d758;\n    }\n  }" (else "else") (compound_statement "{\n    iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);\n    bVar1 = true;\n    if (iVar2 == -1) {\n      iVar2 = -1;\n      goto LAB_0001d758;\n    }\nLAB_0001d724:\n    if ((local_a0 & 0xf000) != 0x4000) goto LAB_0001d738;\n    if (!bVar1) {\n      iVar2 = 1;\n      goto LAB_0001d758;\n    }\n  }" ({ "{") (expression_statement "iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);" (assignment_expression "iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8)" (parenthesized_expression "(*(code *)PTR___xstat64_0007cf04)" (( "(") (pointer_expression "*(code *)PTR___xstat64_0007cf04" (* "*") (cast_expression "(code *)PTR___xstat64_0007cf04" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___xstat64_0007cf04"))) () ")")) (argument_list "(3,uVar7,auStack_b8)" (( "(") (number_literal "3") (, ",") (identifier "uVar7") (, ",") (identifier "auStack_b8") () ")")))) (; ";")) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" (identifier "bVar1") (= "=") (true "true")) (; ";")) (if_statement "if (iVar2 == -1) {\n      iVar2 = -1;\n      goto LAB_0001d758;\n    }" (if "if") (parenthesized_expression "(iVar2 == -1)" (( "(") (binary_expression "iVar2 == -1" (identifier "iVar2") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n      iVar2 = -1;\n      goto LAB_0001d758;\n    }" ({ "{") (expression_statement "iVar2 = -1;" (assignment_expression "iVar2 = -1" (identifier "iVar2") (= "=") (number_literal "-1")) (; ";")) (goto_statement "goto LAB_0001d758;" (goto "goto") (statement_identifier "LAB_0001d758") (; ";")) (} "}"))) (labeled_statement "LAB_0001d724:\n    if ((local_a0 & 0xf000) != 0x4000) goto LAB_0001d738;" (statement_identifier "LAB_0001d724") (: ":") (if_statement "if ((local_a0 & 0xf000) != 0x4000) goto LAB_0001d738;" (if "if") (parenthesized_expression "((local_a0 & 0xf000) != 0x4000)" (( "(") (binary_expression "(local_a0 & 0xf000) != 0x4000" (parenthesized_expression "(local_a0 & 0xf000)" (( "(") (binary_expression "local_a0 & 0xf000" (identifier "local_a0") (& "&") (number_literal "0xf000")) () ")")) (!= "!=") (number_literal "0x4000")) () ")")) (goto_statement "goto LAB_0001d738;" (goto "goto") (statement_identifier "LAB_0001d738") (; ";")))) (if_statement "if (!bVar1) {\n      iVar2 = 1;\n      goto LAB_0001d758;\n    }" (if "if") (parenthesized_expression "(!bVar1)" (( "(") (unary_expression "!bVar1" (! "!") (identifier "bVar1")) () ")")) (compound_statement "{\n      iVar2 = 1;\n      goto LAB_0001d758;\n    }" ({ "{") (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" (identifier "iVar2") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_0001d758;" (goto "goto") (statement_identifier "LAB_0001d758") (; ";")) (} "}"))) (} "}")))) (expression_statement "iVar2 = mbstrcasecmp(uVar5,uVar7);" (assignment_expression "iVar2 = mbstrcasecmp(uVar5,uVar7)" (identifier "iVar2") (= "=") (call_expression "mbstrcasecmp(uVar5,uVar7)" (identifier "mbstrcasecmp") (argument_list "(uVar5,uVar7)" (( "(") (identifier "uVar5") (, ",") (identifier "uVar7") () ")")))) (; ";")) (labeled_statement "LAB_0001d758:\n  if (local_14 == *(int *)PTR___stack_chk_guard_0007d12c) {\n    return iVar2;\n  }" (statement_identifier "LAB_0001d758") (: ":") (if_statement "if (local_14 == *(int *)PTR___stack_chk_guard_0007d12c) {\n    return iVar2;\n  }" (if "if") (parenthesized_expression "(local_14 == *(int *)PTR___stack_chk_guard_0007d12c)" (( "(") (binary_expression "local_14 == *(int *)PTR___stack_chk_guard_0007d12c" (identifier "local_14") (== "==") (pointer_expression "*(int *)PTR___stack_chk_guard_0007d12c" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_0007d12c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_0007d12c")))) () ")")) (compound_statement "{\n    return iVar2;\n  }" ({ "{") (return_statement "return iVar2;" (return "return") (identifier "iVar2") (; ";")) (} "}")))) (expression_statement "iVar2 = local_14;" (assignment_expression "iVar2 = local_14" (identifier "iVar2") (= "=") (identifier "local_14")) (; ";")) (expression_statement "puVar9 = PTR___stack_chk_fail_0007d0f8;" (assignment_expression "puVar9 = PTR___stack_chk_fail_0007d0f8" (identifier "puVar9") (= "=") (identifier "PTR___stack_chk_fail_0007d0f8")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_0007d0f8)();" (call_expression "(*(code *)PTR___stack_chk_fail_0007d0f8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0007d0f8)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_0007d0f8" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_0007d0f8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_0007d0f8"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iStack_ec = **(int **)(puVar9 + 0x5f968);" (assignment_expression "iStack_ec = **(int **)(puVar9 + 0x5f968)" (identifier "iStack_ec") (= "=") (pointer_expression "**(int **)(puVar9 + 0x5f968)" (* "*") (pointer_expression "*(int **)(puVar9 + 0x5f968)" (* "*") (cast_expression "(int **)(puVar9 + 0x5f968)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar9 + 0x5f968)" (( "(") (binary_expression "puVar9 + 0x5f968" (identifier "puVar9") (+ "+") (number_literal "0x5f968")) () ")")))))) (; ";")) (expression_statement "uStack_e4 = uVar5;" (assignment_expression "uStack_e4 = uVar5" (identifier "uStack_e4") (= "=") (identifier "uVar5")) (; ";")) (expression_statement "uStack_e0 = uVar7;" (assignment_expression "uStack_e0 = uVar7" (identifier "uStack_e0") (= "=") (identifier "uVar7")) (; ";")) (expression_statement "uVar5 = (**(code **)(puVar9 + 0x5edb8))(0,iVar2);" (assignment_expression "uVar5 = (**(code **)(puVar9 + 0x5edb8))(0,iVar2)" (identifier "uVar5") (= "=") (call_expression "(**(code **)(puVar9 + 0x5edb8))(0,iVar2)" (parenthesized_expression "(**(code **)(puVar9 + 0x5edb8))" (( "(") (pointer_expression "**(code **)(puVar9 + 0x5edb8)" (* "*") (pointer_expression "*(code **)(puVar9 + 0x5edb8)" (* "*") (cast_expression "(code **)(puVar9 + 0x5edb8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar9 + 0x5edb8)" (( "(") (binary_expression "puVar9 + 0x5edb8" (identifier "puVar9") (+ "+") (number_literal "0x5edb8")) () ")"))))) () ")")) (argument_list "(0,iVar2)" (( "(") (number_literal "0") (, ",") (identifier "iVar2") () ")")))) (; ";")) (expression_statement "uVar7 = (**(code **)(puVar9 + 0x5f898))(uVar5);" (assignment_expression "uVar7 = (**(code **)(puVar9 + 0x5f898))(uVar5)" (identifier "uVar7") (= "=") (call_expression "(**(code **)(puVar9 + 0x5f898))(uVar5)" (parenthesized_expression "(**(code **)(puVar9 + 0x5f898))" (( "(") (pointer_expression "**(code **)(puVar9 + 0x5f898)" (* "*") (pointer_expression "*(code **)(puVar9 + 0x5f898)" (* "*") (cast_expression "(code **)(puVar9 + 0x5f898)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar9 + 0x5f898)" (( "(") (binary_expression "puVar9 + 0x5f898" (identifier "puVar9") (+ "+") (number_literal "0x5f898")) () ")"))))) () ")")) (argument_list "(uVar5)" (( "(") (identifier "uVar5") () ")")))) (; ";")) (expression_statement "iVar2 = (**(code **)(puVar9 + 0x5f740))(3,uVar7,auStack_190);" (assignment_expression "iVar2 = (**(code **)(puVar9 + 0x5f740))(3,uVar7,auStack_190)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(puVar9 + 0x5f740))(3,uVar7,auStack_190)" (parenthesized_expression "(**(code **)(puVar9 + 0x5f740))" (( "(") (pointer_expression "**(code **)(puVar9 + 0x5f740)" (* "*") (pointer_expression "*(code **)(puVar9 + 0x5f740)" (* "*") (cast_expression "(code **)(puVar9 + 0x5f740)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar9 + 0x5f740)" (( "(") (binary_expression "puVar9 + 0x5f740" (identifier "puVar9") (+ "+") (number_literal "0x5f740")) () ")"))))) () ")")) (argument_list "(3,uVar7,auStack_190)" (( "(") (number_literal "3") (, ",") (identifier "uVar7") (, ",") (identifier "auStack_190") () ")")))) (; ";")) (if_statement "if (iVar2 == -1) {\n    piVar6 = (int *)(**(code **)(puVar9 + 0x5f824))();\n    if (*piVar6 == 2) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45b0,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45d0);\n      uVar4 = (**(code **)(puVar9 + 0x5f89c))(*piVar6);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7,uVar4);\n      iVar2 = 0;\n    }\n  }\n  else if ((uStack_178 & 0xf000) == 0x4000) {\n    iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,1,5);\n    if (iVar2 == -1) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else if ((*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8) == 0) {\n      iVar2 = 1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);\n      if (iVar2 == -1) {\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }\n  }\n  else {\n    uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45e0);\n    (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n    iVar2 = 0;\n  }" (if "if") (parenthesized_expression "(iVar2 == -1)" (( "(") (binary_expression "iVar2 == -1" (identifier "iVar2") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n    piVar6 = (int *)(**(code **)(puVar9 + 0x5f824))();\n    if (*piVar6 == 2) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45b0,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45d0);\n      uVar4 = (**(code **)(puVar9 + 0x5f89c))(*piVar6);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7,uVar4);\n      iVar2 = 0;\n    }\n  }" ({ "{") (expression_statement "piVar6 = (int *)(**(code **)(puVar9 + 0x5f824))();" (assignment_expression "piVar6 = (int *)(**(code **)(puVar9 + 0x5f824))()" (identifier "piVar6") (= "=") (cast_expression "(int *)(**(code **)(puVar9 + 0x5f824))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar9 + 0x5f824))()" (parenthesized_expression "(**(code **)(puVar9 + 0x5f824))" (( "(") (pointer_expression "**(code **)(puVar9 + 0x5f824)" (* "*") (pointer_expression "*(code **)(puVar9 + 0x5f824)" (* "*") (cast_expression "(code **)(puVar9 + 0x5f824)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar9 + 0x5f824)" (( "(") (binary_expression "puVar9 + 0x5f824" (identifier "puVar9") (+ "+") (number_literal "0x5f824")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (*piVar6 == 2) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45b0,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45d0);\n      uVar4 = (**(code **)(puVar9 + 0x5f89c))(*piVar6);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7,uVar4);\n      iVar2 = 0;\n    }" (if "if") (parenthesized_expression "(*piVar6 == 2)" (( "(") (binary_expression "*piVar6 == 2" (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45b0,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }" ({ "{") (expression_statement "uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45b0,5);" (assignment_expression "uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45b0,5)" (identifier "uVar3") (= "=") (call_expression "(**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45b0,5)" (parenthesized_expression "(**(code **)(puVar9 + 0x5f93c))" (( "(") (pointer_expression "**(code **)(puVar9 + 0x5f93c)" (* "*") (pointer_expression "*(code **)(puVar9 + 0x5f93c)" (* "*") (cast_expression "(code **)(puVar9 + 0x5f93c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar9 + 0x5f93c)" (( "(") (binary_expression "puVar9 + 0x5f93c" (identifier "puVar9") (+ "+") (number_literal "0x5f93c")) () ")"))))) () ")")) (argument_list "(0,*(int *)(puVar9 + 0x5ed94) + 0x45b0,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(puVar9 + 0x5ed94) + 0x45b0" (pointer_expression "*(int *)(puVar9 + 0x5ed94)" (* "*") (cast_expression "(int *)(puVar9 + 0x5ed94)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 0x5ed94)" (( "(") (binary_expression "puVar9 + 0x5ed94" (identifier "puVar9") (+ "+") (number_literal "0x5ed94")) () ")")))) (+ "+") (number_literal "0x45b0")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);" (call_expression "(**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7)" (parenthesized_expression "(**(code **)(puVar9 + 0x5ee34))" (( "(") (pointer_expression "**(code **)(puVar9 + 0x5ee34)" (* "*") (pointer_expression "*(code **)(puVar9 + 0x5ee34)" (* "*") (cast_expression "(code **)(puVar9 + 0x5ee34)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar9 + 0x5ee34)" (( "(") (binary_expression "puVar9 + 0x5ee34" (identifier "puVar9") (+ "+") (number_literal "0x5ee34")) () ")"))))) () ")")) (argument_list "(3,uVar3,uVar7)" (( "(") (number_literal "3") (, ",") (identifier "uVar3") (, ",") (identifier "uVar7") () ")"))) (; ";")) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" (identifier "iVar2") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45d0);\n      uVar4 = (**(code **)(puVar9 + 0x5f89c))(*piVar6);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7,uVar4);\n      iVar2 = 0;\n    }" (else "else") (compound_statement "{\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45d0);\n      uVar4 = (**(code **)(puVar9 + 0x5f89c))(*piVar6);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7,uVar4);\n      iVar2 = 0;\n    }" ({ "{") (expression_statement "uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45d0);" (assignment_expression "uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45d0)" (identifier "uVar3") (= "=") (call_expression "(**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45d0)" (parenthesized_expression "(**(code **)(puVar9 + 0x5f93c))" (( "(") (pointer_expression "**(code **)(puVar9 + 0x5f93c)" (* "*") (pointer_expression "*(code **)(puVar9 + 0x5f93c)" (* "*") (cast_expression "(code **)(puVar9 + 0x5f93c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar9 + 0x5f93c)" (( "(") (binary_expression "puVar9 + 0x5f93c" (identifier "puVar9") (+ "+") (number_literal "0x5f93c")) () ")"))))) () ")")) (argument_list "(0,*(int *)(puVar9 + 0x5ed94) + 0x45d0)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(puVar9 + 0x5ed94) + 0x45d0" (pointer_expression "*(int *)(puVar9 + 0x5ed94)" (* "*") (cast_expression "(int *)(puVar9 + 0x5ed94)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 0x5ed94)" (( "(") (binary_expression "puVar9 + 0x5ed94" (identifier "puVar9") (+ "+") (number_literal "0x5ed94")) () ")")))) (+ "+") (number_literal "0x45d0")) () ")")))) (; ";")) (expression_statement "uVar4 = (**(code **)(puVar9 + 0x5f89c))(*piVar6);" (assignment_expression "uVar4 = (**(code **)(puVar9 + 0x5f89c))(*piVar6)" (identifier "uVar4") (= "=") (call_expression "(**(code **)(puVar9 + 0x5f89c))(*piVar6)" (parenthesized_expression "(**(code **)(puVar9 + 0x5f89c))" (( "(") (pointer_expression "**(code **)(puVar9 + 0x5f89c)" (* "*") (pointer_expression "*(code **)(puVar9 + 0x5f89c)" (* "*") (cast_expression "(code **)(puVar9 + 0x5f89c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar9 + 0x5f89c)" (( "(") (binary_expression "puVar9 + 0x5f89c" (identifier "puVar9") (+ "+") (number_literal "0x5f89c")) () ")"))))) () ")")) (argument_list "(*piVar6)" (( "(") (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) () ")")))) (; ";")) (expression_statement "(**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7,uVar4);" (call_expression "(**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7,uVar4)" (parenthesized_expression "(**(code **)(puVar9 + 0x5ee34))" (( "(") (pointer_expression "**(code **)(puVar9 + 0x5ee34)" (* "*") (pointer_expression "*(code **)(puVar9 + 0x5ee34)" (* "*") (cast_expression "(code **)(puVar9 + 0x5ee34)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar9 + 0x5ee34)" (( "(") (binary_expression "puVar9 + 0x5ee34" (identifier "puVar9") (+ "+") (number_literal "0x5ee34")) () ")"))))) () ")")) (argument_list "(3,uVar3,uVar7,uVar4)" (( "(") (number_literal "3") (, ",") (identifier "uVar3") (, ",") (identifier "uVar7") (, ",") (identifier "uVar4") () ")"))) (; ";")) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" (identifier "iVar2") (= "=") (number_literal "0")) (; ";")) (} "}")))) (} "}")) (else_clause "else if ((uStack_178 & 0xf000) == 0x4000) {\n    iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,1,5);\n    if (iVar2 == -1) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else if ((*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8) == 0) {\n      iVar2 = 1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);\n      if (iVar2 == -1) {\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }\n  }\n  else {\n    uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45e0);\n    (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n    iVar2 = 0;\n  }" (else "else") (if_statement "if ((uStack_178 & 0xf000) == 0x4000) {\n    iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,1,5);\n    if (iVar2 == -1) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else if ((*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8) == 0) {\n      iVar2 = 1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);\n      if (iVar2 == -1) {\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }\n  }\n  else {\n    uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45e0);\n    (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n    iVar2 = 0;\n  }" (if "if") (parenthesized_expression "((uStack_178 & 0xf000) == 0x4000)" (( "(") (binary_expression "(uStack_178 & 0xf000) == 0x4000" (parenthesized_expression "(uStack_178 & 0xf000)" (( "(") (binary_expression "uStack_178 & 0xf000" (identifier "uStack_178") (& "&") (number_literal "0xf000")) () ")")) (== "==") (number_literal "0x4000")) () ")")) (compound_statement "{\n    iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,1,5);\n    if (iVar2 == -1) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else if ((*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8) == 0) {\n      iVar2 = 1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);\n      if (iVar2 == -1) {\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }\n  }" ({ "{") (expression_statement "iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,1,5);" (assignment_expression "iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,1,5)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(puVar9 + 0x5f7f0))(uVar7,1,5)" (parenthesized_expression "(**(code **)(puVar9 + 0x5f7f0))" (( "(") (pointer_expression "**(code **)(puVar9 + 0x5f7f0)" (* "*") (pointer_expression "*(code **)(puVar9 + 0x5f7f0)" (* "*") (cast_expression "(code **)(puVar9 + 0x5f7f0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar9 + 0x5f7f0)" (( "(") (binary_expression "puVar9 + 0x5f7f0" (identifier "puVar9") (+ "+") (number_literal "0x5f7f0")) () ")"))))) () ")")) (argument_list "(uVar7,1,5)" (( "(") (identifier "uVar7") (, ",") (number_literal "1") (, ",") (number_literal "5") () ")")))) (; ";")) (if_statement "if (iVar2 == -1) {\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }\n    else if ((*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8) == 0) {\n      iVar2 = 1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);\n      if (iVar2 == -1) {\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }" (if "if") (parenthesized_expression "(iVar2 == -1)" (( "(") (binary_expression "iVar2 == -1" (identifier "iVar2") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5);\n      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n      iVar2 = 0;\n    }" ({ "{") (expression_statement "uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5);" (assignment_expression "uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5)" (identifier "uVar3") (= "=") (call_expression "(**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5)" (parenthesized_expression "(**(code **)(puVar9 + 0x5f93c))" (( "(") (pointer_expression "**(code **)(puVar9 + 0x5f93c)" (* "*") (pointer_expression "*(code **)(puVar9 + 0x5f93c)" (* "*") (cast_expression "(code **)(puVar9 + 0x5f93c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar9 + 0x5f93c)" (( "(") (binary_expression "puVar9 + 0x5f93c" (identifier "puVar9") (+ "+") (number_literal "0x5f93c")) () ")"))))) () ")")) (argument_list "(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(puVar9 + 0x5ed94) + 0x4600" (pointer_expression "*(int *)(puVar9 + 0x5ed94)" (* "*") (cast_expression "(int *)(puVar9 + 0x5ed94)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 0x5ed94)" (( "(") (binary_expression "puVar9 + 0x5ed94" (identifier "puVar9") (+ "+") (number_literal "0x5ed94")) () ")")))) (+ "+") (number_literal "0x4600")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);" (call_expression "(**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7)" (parenthesized_expression "(**(code **)(puVar9 + 0x5ee34))" (( "(") (pointer_expression "**(code **)(puVar9 + 0x5ee34)" (* "*") (pointer_expression "*(code **)(puVar9 + 0x5ee34)" (* "*") (cast_expression "(code **)(puVar9 + 0x5ee34)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar9 + 0x5ee34)" (( "(") (binary_expression "puVar9 + 0x5ee34" (identifier "puVar9") (+ "+") (number_literal "0x5ee34")) () ")"))))) () ")")) (argument_list "(3,uVar3,uVar7)" (( "(") (number_literal "3") (, ",") (identifier "uVar3") (, ",") (identifier "uVar7") () ")"))) (; ";")) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" (identifier "iVar2") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else if ((*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8) == 0) {\n      iVar2 = 1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);\n      if (iVar2 == -1) {\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }" (else "else") (if_statement "if ((*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8) == 0) {\n      iVar2 = 1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);\n      if (iVar2 == -1) {\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }" (if "if") (parenthesized_expression "((*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8) == 0)" (( "(") (binary_expression "(*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8) == 0" (parenthesized_expression "(*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8)" (( "(") (binary_expression "*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8" (pointer_expression "*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4)" (* "*") (cast_expression "(uint *)(*(int *)(puVar9 + 0x5edc0) + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar9 + 0x5edc0) + 4)" (( "(") (binary_expression "*(int *)(puVar9 + 0x5edc0) + 4" (pointer_expression "*(int *)(puVar9 + 0x5edc0)" (* "*") (cast_expression "(int *)(puVar9 + 0x5edc0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 0x5edc0)" (( "(") (binary_expression "puVar9 + 0x5edc0" (identifier "puVar9") (+ "+") (number_literal "0x5edc0")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar2 = 1;\n    }" ({ "{") (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" (identifier "iVar2") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n      iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);\n      if (iVar2 == -1) {\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }" (else "else") (compound_statement "{\n      iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);\n      if (iVar2 == -1) {\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }\n    }" ({ "{") (expression_statement "iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);" (assignment_expression "iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(puVar9 + 0x5f7f0))(uVar7,2)" (parenthesized_expression "(**(code **)(puVar9 + 0x5f7f0))" (( "(") (pointer_expression "**(code **)(puVar9 + 0x5f7f0)" (* "*") (pointer_expression "*(code **)(puVar9 + 0x5f7f0)" (* "*") (cast_expression "(code **)(puVar9 + 0x5f7f0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar9 + 0x5f7f0)" (( "(") (binary_expression "puVar9 + 0x5f7f0" (identifier "puVar9") (+ "+") (number_literal "0x5f7f0")) () ")"))))) () ")")) (argument_list "(uVar7,2)" (( "(") (identifier "uVar7") (, ",") (number_literal "2") () ")")))) (; ";")) (if_statement "if (iVar2 == -1) {\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }\n      else {\n        iVar2 = 1;\n      }" (if "if") (parenthesized_expression "(iVar2 == -1)" (( "(") (binary_expression "iVar2 == -1" (identifier "iVar2") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);\n        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);\n        iVar2 = 0;\n      }" ({ "{") (expression_statement "uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);" (assignment_expression "uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5)" (identifier "uVar3") (= "=") (call_expression "(**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5)" (parenthesized_expression "(**(code **)(puVar9 + 0x5f93c))" (( "(") (pointer_expression "**(code **)(puVar9 + 0x5f93c)" (* "*") (pointer_expression "*(code **)(puVar9 + 0x5f93c)" (* "*") (cast_expression "(code **)(puVar9 + 0x5f93c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar9 + 0x5f93c)" (( "(") (binary_expression "puVar9 + 0x5f93c" (identifier "puVar9") (+ "+") (number_literal "0x5f93c")) () ")"))))) () ")")) (argument_list "(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(puVar9 + 0x5ed94) + 0x461c" (pointer_expression "*(int *)(puVar9 + 0x5ed94)" (* "*") (cast_expression "(int *)(puVar9 + 0x5ed94)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 0x5ed94)" (( "(") (binary_expression "puVar9 + 0x5ed94" (identifier "puVar9") (+ "+") (number_literal "0x5ed94")) () ")")))) (+ "+") (number_literal "0x461c")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);" (call_expression "(**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7)" (parenthesized_expression "(**(code **)(puVar9 + 0x5ee34))" (( "(") (pointer_expression "**(code **)(puVar9 + 0x5ee34)" (* "*") (pointer_expression "*(code **)(puVar9 + 0x5ee34)" (* "*") (cast_expression "(code **)(puVar9 + 0x5ee34)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar9 + 0x5ee34)" (( "(") (binary_expression "puVar9 + 0x5ee34" (identifier "puVar9") (+ "+") (number_literal "0x5ee34")) () ")"))))) () ")")) (argument_list "(2,uVar3,uVar7)" (( "(") (number_literal "2") (, ",") (identifier "uVar3") (, ",") (identifier "uVar7") () ")"))) (; ";")) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" (identifier "iVar2") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        iVar2 = 1;\n      }" (else "else") (compound_statement "{\n        iVar2 = 1;\n      }" ({ "{") (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" (identifier "iVar2") (= "=") (number_literal "1")) (; ";")) (} "}")))) (} "}")))))) (} "}")) (else_clause "else {\n    uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45e0);\n    (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n    iVar2 = 0;\n  }" (else "else") (compound_statement "{\n    uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45e0);\n    (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);\n    iVar2 = 0;\n  }" ({ "{") (expression_statement "uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45e0);" (assignment_expression "uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45e0)" (identifier "uVar3") (= "=") (call_expression "(**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45e0)" (parenthesized_expression "(**(code **)(puVar9 + 0x5f93c))" (( "(") (pointer_expression "**(code **)(puVar9 + 0x5f93c)" (* "*") (pointer_expression "*(code **)(puVar9 + 0x5f93c)" (* "*") (cast_expression "(code **)(puVar9 + 0x5f93c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar9 + 0x5f93c)" (( "(") (binary_expression "puVar9 + 0x5f93c" (identifier "puVar9") (+ "+") (number_literal "0x5f93c")) () ")"))))) () ")")) (argument_list "(0,*(int *)(puVar9 + 0x5ed94) + 0x45e0)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(puVar9 + 0x5ed94) + 0x45e0" (pointer_expression "*(int *)(puVar9 + 0x5ed94)" (* "*") (cast_expression "(int *)(puVar9 + 0x5ed94)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 0x5ed94)" (( "(") (binary_expression "puVar9 + 0x5ed94" (identifier "puVar9") (+ "+") (number_literal "0x5ed94")) () ")")))) (+ "+") (number_literal "0x45e0")) () ")")))) (; ";")) (expression_statement "(**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);" (call_expression "(**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7)" (parenthesized_expression "(**(code **)(puVar9 + 0x5ee34))" (( "(") (pointer_expression "**(code **)(puVar9 + 0x5ee34)" (* "*") (pointer_expression "*(code **)(puVar9 + 0x5ee34)" (* "*") (cast_expression "(code **)(puVar9 + 0x5ee34)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar9 + 0x5ee34)" (( "(") (binary_expression "puVar9 + 0x5ee34" (identifier "puVar9") (+ "+") (number_literal "0x5ee34")) () ")"))))) () ")")) (argument_list "(3,uVar3,uVar7)" (( "(") (number_literal "3") (, ",") (identifier "uVar3") (, ",") (identifier "uVar7") () ")"))) (; ";")) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" (identifier "iVar2") (= "=") (number_literal "0")) (; ";")) (} "}")))))) (expression_statement "(**(code **)(puVar9 + 0x5f97c))(uVar5);" (call_expression "(**(code **)(puVar9 + 0x5f97c))(uVar5)" (parenthesized_expression "(**(code **)(puVar9 + 0x5f97c))" (( "(") (pointer_expression "**(code **)(puVar9 + 0x5f97c)" (* "*") (pointer_expression "*(code **)(puVar9 + 0x5f97c)" (* "*") (cast_expression "(code **)(puVar9 + 0x5f97c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar9 + 0x5f97c)" (( "(") (binary_expression "puVar9 + 0x5f97c" (identifier "puVar9") (+ "+") (number_literal "0x5f97c")) () ")"))))) () ")")) (argument_list "(uVar5)" (( "(") (identifier "uVar5") () ")"))) (; ";")) (if_statement "if (iStack_ec != **(int **)(puVar9 + 0x5f968)) {\n    pcVar10 = *(code **)(puVar9 + 0x5f934);\n    (*pcVar10)();\n    piVar6 = *(int **)(pcVar10 + 0x5ec50);\n    iVar2 = *piVar6;\n    uVar5 = make_new_node(0);\n    *(undefined4 *)(iVar2 + 4) = uVar5;\n    puVar8 = *(undefined4 **)(*piVar6 + 4);\n    uVar5 = (**(code **)(pcVar10 + 0x5eae4))(0,*(int *)(pcVar10 + 0x5ead8) + -0x7e54);\n    *puVar8 = uVar5;\n    iVar2 = *piVar6;\n    uVar5 = *(undefined4 *)(iVar2 + 4);\n    *(undefined4 *)(iVar2 + 8) = uVar5;\n    *(undefined4 *)(iVar2 + 0xc) = uVar5;\n    *(undefined4 *)(iVar2 + 0x10) = uVar5;\n    *(undefined4 *)(iVar2 + 0x18) = 0;\n    *(undefined4 *)(iVar2 + 0x1c) = 0;\n    *(undefined4 *)(iVar2 + 0x14) = 0;\n    return iVar2;\n  }" (if "if") (parenthesized_expression "(iStack_ec != **(int **)(puVar9 + 0x5f968))" (( "(") (binary_expression "iStack_ec != **(int **)(puVar9 + 0x5f968)" (identifier "iStack_ec") (!= "!=") (pointer_expression "**(int **)(puVar9 + 0x5f968)" (* "*") (pointer_expression "*(int **)(puVar9 + 0x5f968)" (* "*") (cast_expression "(int **)(puVar9 + 0x5f968)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar9 + 0x5f968)" (( "(") (binary_expression "puVar9 + 0x5f968" (identifier "puVar9") (+ "+") (number_literal "0x5f968")) () ")")))))) () ")")) (compound_statement "{\n    pcVar10 = *(code **)(puVar9 + 0x5f934);\n    (*pcVar10)();\n    piVar6 = *(int **)(pcVar10 + 0x5ec50);\n    iVar2 = *piVar6;\n    uVar5 = make_new_node(0);\n    *(undefined4 *)(iVar2 + 4) = uVar5;\n    puVar8 = *(undefined4 **)(*piVar6 + 4);\n    uVar5 = (**(code **)(pcVar10 + 0x5eae4))(0,*(int *)(pcVar10 + 0x5ead8) + -0x7e54);\n    *puVar8 = uVar5;\n    iVar2 = *piVar6;\n    uVar5 = *(undefined4 *)(iVar2 + 4);\n    *(undefined4 *)(iVar2 + 8) = uVar5;\n    *(undefined4 *)(iVar2 + 0xc) = uVar5;\n    *(undefined4 *)(iVar2 + 0x10) = uVar5;\n    *(undefined4 *)(iVar2 + 0x18) = 0;\n    *(undefined4 *)(iVar2 + 0x1c) = 0;\n    *(undefined4 *)(iVar2 + 0x14) = 0;\n    return iVar2;\n  }" ({ "{") (expression_statement "pcVar10 = *(code **)(puVar9 + 0x5f934);" (assignment_expression "pcVar10 = *(code **)(puVar9 + 0x5f934)" (identifier "pcVar10") (= "=") (pointer_expression "*(code **)(puVar9 + 0x5f934)" (* "*") (cast_expression "(code **)(puVar9 + 0x5f934)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar9 + 0x5f934)" (( "(") (binary_expression "puVar9 + 0x5f934" (identifier "puVar9") (+ "+") (number_literal "0x5f934")) () ")"))))) (; ";")) (expression_statement "(*pcVar10)();" (call_expression "(*pcVar10)()" (parenthesized_expression "(*pcVar10)" (( "(") (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar6 = *(int **)(pcVar10 + 0x5ec50);" (assignment_expression "piVar6 = *(int **)(pcVar10 + 0x5ec50)" (identifier "piVar6") (= "=") (pointer_expression "*(int **)(pcVar10 + 0x5ec50)" (* "*") (cast_expression "(int **)(pcVar10 + 0x5ec50)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x5ec50)" (( "(") (binary_expression "pcVar10 + 0x5ec50" (identifier "pcVar10") (+ "+") (number_literal "0x5ec50")) () ")"))))) (; ";")) (expression_statement "iVar2 = *piVar6;" (assignment_expression "iVar2 = *piVar6" (identifier "iVar2") (= "=") (pointer_expression "*piVar6" (* "*") (identifier "piVar6"))) (; ";")) (expression_statement "uVar5 = make_new_node(0);" (assignment_expression "uVar5 = make_new_node(0)" (identifier "uVar5") (= "=") (call_expression "make_new_node(0)" (identifier "make_new_node") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar2 + 4) = uVar5;" (assignment_expression "*(undefined4 *)(iVar2 + 4) = uVar5" (pointer_expression "*(undefined4 *)(iVar2 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 4)" (( "(") (binary_expression "iVar2 + 4" (identifier "iVar2") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "puVar8 = *(undefined4 **)(*piVar6 + 4);" (assignment_expression "puVar8 = *(undefined4 **)(*piVar6 + 4)" (identifier "puVar8") (= "=") (pointer_expression "*(undefined4 **)(*piVar6 + 4)" (* "*") (cast_expression "(undefined4 **)(*piVar6 + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar6 + 4)" (( "(") (binary_expression "*piVar6 + 4" (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uVar5 = (**(code **)(pcVar10 + 0x5eae4))(0,*(int *)(pcVar10 + 0x5ead8) + -0x7e54);" (assignment_expression "uVar5 = (**(code **)(pcVar10 + 0x5eae4))(0,*(int *)(pcVar10 + 0x5ead8) + -0x7e54)" (identifier "uVar5") (= "=") (call_expression "(**(code **)(pcVar10 + 0x5eae4))(0,*(int *)(pcVar10 + 0x5ead8) + -0x7e54)" (parenthesized_expression "(**(code **)(pcVar10 + 0x5eae4))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x5eae4)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x5eae4)" (* "*") (cast_expression "(code **)(pcVar10 + 0x5eae4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x5eae4)" (( "(") (binary_expression "pcVar10 + 0x5eae4" (identifier "pcVar10") (+ "+") (number_literal "0x5eae4")) () ")"))))) () ")")) (argument_list "(0,*(int *)(pcVar10 + 0x5ead8) + -0x7e54)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(pcVar10 + 0x5ead8) + -0x7e54" (pointer_expression "*(int *)(pcVar10 + 0x5ead8)" (* "*") (cast_expression "(int *)(pcVar10 + 0x5ead8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x5ead8)" (( "(") (binary_expression "pcVar10 + 0x5ead8" (identifier "pcVar10") (+ "+") (number_literal "0x5ead8")) () ")")))) (+ "+") (number_literal "-0x7e54")) () ")")))) (; ";")) (expression_statement "*puVar8 = uVar5;" (assignment_expression "*puVar8 = uVar5" (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "iVar2 = *piVar6;" (assignment_expression "iVar2 = *piVar6" (identifier "iVar2") (= "=") (pointer_expression "*piVar6" (* "*") (identifier "piVar6"))) (; ";")) (expression_statement "uVar5 = *(undefined4 *)(iVar2 + 4);" (assignment_expression "uVar5 = *(undefined4 *)(iVar2 + 4)" (identifier "uVar5") (= "=") (pointer_expression "*(undefined4 *)(iVar2 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 4)" (( "(") (binary_expression "iVar2 + 4" (identifier "iVar2") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(iVar2 + 8) = uVar5;" (assignment_expression "*(undefined4 *)(iVar2 + 8) = uVar5" (pointer_expression "*(undefined4 *)(iVar2 + 8)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 8)" (( "(") (binary_expression "iVar2 + 8" (identifier "iVar2") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "*(undefined4 *)(iVar2 + 0xc) = uVar5;" (assignment_expression "*(undefined4 *)(iVar2 + 0xc) = uVar5" (pointer_expression "*(undefined4 *)(iVar2 + 0xc)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xc)" (( "(") (binary_expression "iVar2 + 0xc" (identifier "iVar2") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "*(undefined4 *)(iVar2 + 0x10) = uVar5;" (assignment_expression "*(undefined4 *)(iVar2 + 0x10) = uVar5" (pointer_expression "*(undefined4 *)(iVar2 + 0x10)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x10)" (( "(") (binary_expression "iVar2 + 0x10" (identifier "iVar2") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "*(undefined4 *)(iVar2 + 0x18) = 0;" (assignment_expression "*(undefined4 *)(iVar2 + 0x18) = 0" (pointer_expression "*(undefined4 *)(iVar2 + 0x18)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x18)" (( "(") (binary_expression "iVar2 + 0x18" (identifier "iVar2") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(iVar2 + 0x1c) = 0;" (assignment_expression "*(undefined4 *)(iVar2 + 0x1c) = 0" (pointer_expression "*(undefined4 *)(iVar2 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x1c)" (( "(") (binary_expression "iVar2 + 0x1c" (identifier "iVar2") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(iVar2 + 0x14) = 0;" (assignment_expression "*(undefined4 *)(iVar2 + 0x14) = 0" (pointer_expression "*(undefined4 *)(iVar2 + 0x14)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x14)" (( "(") (binary_expression "iVar2 + 0x14" (identifier "iVar2") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (number_literal "0")) (; ";")) (return_statement "return iVar2;" (return "return") (identifier "iVar2") (; ";")) (} "}"))) (return_statement "return iVar2;" (return "return") (identifier "iVar2") (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (false))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (true))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (unary_expression argument: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) consequence: (compound_statement (return_statement (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (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: (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) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (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) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (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 (number_literal) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (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)))))) (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 (number_literal) (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (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 (number_literal) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (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 (number_literal) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) 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)))))))) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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 (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (return_statement (identifier)))) (return_statement (identifier)))))

int MASKED(undefined4 *param_1,undefined4 *param_2)

{
  bool bVar1;
  int iVar2;
  undefined4 uVar3;
  undefined4 uVar4;
  undefined4 uVar5;
  int *piVar6;
  undefined4 uVar7;
  undefined4 *puVar8;
  undefined *puVar9;
  code *pcVar10;
  undefined1 auStack_190 [24];
  uint uStack_178;
  int iStack_ec;
  undefined4 uStack_e4;
  undefined4 uStack_e0;
  undefined1 auStack_b8 [24];
  uint local_a0;
  int local_14;
  
  local_14 = *(int *)PTR___stack_chk_guard_0007d12c;
  uVar5 = *param_1;
  uVar7 = *param_2;
  iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar5,auStack_b8);
  if ((iVar2 == -1) || ((local_a0 & 0xf000) != 0x4000)) {
    iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);
    bVar1 = false;
    if (iVar2 != -1) goto LAB_0001d724;
LAB_0001d738:
    iVar2 = -1;
    if (bVar1) goto LAB_0001d758;
  }
  else {
    iVar2 = (*(code *)PTR___xstat64_0007cf04)(3,uVar7,auStack_b8);
    bVar1 = true;
    if (iVar2 == -1) {
      iVar2 = -1;
      goto LAB_0001d758;
    }
LAB_0001d724:
    if ((local_a0 & 0xf000) != 0x4000) goto LAB_0001d738;
    if (!bVar1) {
      iVar2 = 1;
      goto LAB_0001d758;
    }
  }
  iVar2 = mbstrcasecmp(uVar5,uVar7);
LAB_0001d758:
  if (local_14 == *(int *)PTR___stack_chk_guard_0007d12c) {
    return iVar2;
  }
  iVar2 = local_14;
  puVar9 = PTR___stack_chk_fail_0007d0f8;
  (*(code *)PTR___stack_chk_fail_0007d0f8)();
  iStack_ec = **(int **)(puVar9 + 0x5f968);
  uStack_e4 = uVar5;
  uStack_e0 = uVar7;
  uVar5 = (**(code **)(puVar9 + 0x5edb8))(0,iVar2);
  uVar7 = (**(code **)(puVar9 + 0x5f898))(uVar5);
  iVar2 = (**(code **)(puVar9 + 0x5f740))(3,uVar7,auStack_190);
  if (iVar2 == -1) {
    piVar6 = (int *)(**(code **)(puVar9 + 0x5f824))();
    if (*piVar6 == 2) {
      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45b0,5);
      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);
      iVar2 = 0;
    }
    else {
      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45d0);
      uVar4 = (**(code **)(puVar9 + 0x5f89c))(*piVar6);
      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7,uVar4);
      iVar2 = 0;
    }
  }
  else if ((uStack_178 & 0xf000) == 0x4000) {
    iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,1,5);
    if (iVar2 == -1) {
      uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x4600,5);
      (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);
      iVar2 = 0;
    }
    else if ((*(uint *)(*(int *)(puVar9 + 0x5edc0) + 4) & 8) == 0) {
      iVar2 = 1;
    }
    else {
      iVar2 = (**(code **)(puVar9 + 0x5f7f0))(uVar7,2);
      if (iVar2 == -1) {
        uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x461c,5);
        (**(code **)(puVar9 + 0x5ee34))(2,uVar3,uVar7);
        iVar2 = 0;
      }
      else {
        iVar2 = 1;
      }
    }
  }
  else {
    uVar3 = (**(code **)(puVar9 + 0x5f93c))(0,*(int *)(puVar9 + 0x5ed94) + 0x45e0);
    (**(code **)(puVar9 + 0x5ee34))(3,uVar3,uVar7);
    iVar2 = 0;
  }
  (**(code **)(puVar9 + 0x5f97c))(uVar5);
  if (iStack_ec != **(int **)(puVar9 + 0x5f968)) {
    pcVar10 = *(code **)(puVar9 + 0x5f934);
    (*pcVar10)();
    piVar6 = *(int **)(pcVar10 + 0x5ec50);
    iVar2 = *piVar6;
    uVar5 = make_new_node(0);
    *(undefined4 *)(iVar2 + 4) = uVar5;
    puVar8 = *(undefined4 **)(*piVar6 + 4);
    uVar5 = (**(code **)(pcVar10 + 0x5eae4))(0,*(int *)(pcVar10 + 0x5ead8) + -0x7e54);
    *puVar8 = uVar5;
    iVar2 = *piVar6;
    uVar5 = *(undefined4 *)(iVar2 + 4);
    *(undefined4 *)(iVar2 + 8) = uVar5;
    *(undefined4 *)(iVar2 + 0xc) = uVar5;
    *(undefined4 *)(iVar2 + 0x10) = uVar5;
    *(undefined4 *)(iVar2 + 0x18) = 0;
    *(undefined4 *)(iVar2 + 0x1c) = 0;
    *(undefined4 *)(iVar2 + 0x14) = 0;
    return iVar2;
  }
  return iVar2;
}

