
char * sysfs_attr(char *dev,char *attr)

{
  undefined *puVar1;
  int iVar2;
  int iVar3;
  int *piVar4;
  char *pcVar5;
  undefined4 uVar6;
  int iVar7;
  char *pcVar8;
  char *pcVar9;
  undefined *puVar10;
  char path [4096];
  
  puVar1 = PTR___stack_chk_guard_000220c0;
  puVar10 = PTR_DAT_00022038;
  pcVar9 = PTR_DAT_00022038 + 0x20f0;
  iVar7 = *(int *)PTR___stack_chk_guard_000220c0;
  (*(code *)PTR_memset_00022084)(pcVar9,0,0x81);
  (*(code *)PTR_snprintf_00022080)(path,0xfff,PTR_00022044 + 0x174c,dev,attr);
  iVar2 = (*(code *)PTR_open_000220a0)(path,0);
  if (-1 < iVar2) {
    iVar3 = (*(code *)PTR_read_000220d0)(iVar2,pcVar9,0x80);
    (*(code *)PTR_close_00022070)(iVar2);
    pcVar5 = (char *)(iVar3 + -1);
    if (0 < (int)pcVar5) {
      piVar4 = (int *)(*(code *)PTR___ctype_b_loc_00022064)();
      pcVar8 = pcVar9 + iVar3;
      do {
        pcVar5 = pcVar8 + (-2 - (int)pcVar9);
        if ((*(ushort *)(*piVar4 + pcVar8[-1] * 2) & 0x20) == 0) goto LAB_00010e68;
        pcVar8[-1] = '\0';
        pcVar8 = pcVar8 + -1;
      } while (pcVar8 != puVar10 + 0x20f1);
    }
    if (-1 < (int)pcVar5) goto LAB_00010e68;
  }
  pcVar9 = (char *)0x0;
LAB_00010e68:
  if (iVar7 == *(int *)puVar1) {
    return pcVar9;
  }
  puVar10 = PTR___stack_chk_fail_000220bc;
  (*(code *)PTR___stack_chk_fail_000220bc)();
  do {
    iVar2 = (**(code **)(puVar10 + 0x11134))(iVar7);
    pcVar9 = (char *)(iVar2 + 0xb);
    if (iVar2 == 0) goto LAB_00011170;
    piVar4 = (int *)(**(code **)(puVar10 + 0x11120))();
  } while (((*(ushort *)(*piVar4 + *(char *)(iVar2 + 0xb) * 2) & 8) == 0) ||
          (iVar2 = (**(code **)(puVar10 + 0x11154))(pcVar9,0x3a), iVar2 != 0));
  iVar2 = *(int *)(puVar10 + 0x110f4);
  (**(code **)(puVar10 + 0x11140))((char *)(iVar2 + 0x2174),0,0x110);
  pcVar5 = sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x1768));
  if (pcVar5 != (char *)0x0) {
    uVar6 = (**(code **)(puVar10 + 0x11158))(pcVar5,0,10);
    *(undefined4 *)(iVar2 + 0x2174) = uVar6;
  }
  pcVar5 = sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 6000));
  if (pcVar5 != (char *)0x0) {
    uVar6 = (**(code **)(puVar10 + 0x11158))(pcVar5,0,10);
    *(undefined4 *)(iVar2 + 0x2178) = uVar6;
  }
  pcVar5 = sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x1778));
  if (pcVar5 != (char *)0x0) {
    uVar6 = (**(code **)(puVar10 + 0x11158))(pcVar5,0,0x10);
    *(undefined4 *)(iVar2 + 0x217c) = uVar6;
  }
  pcVar5 = sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x1784));
  if (pcVar5 != (char *)0x0) {
    uVar6 = (**(code **)(puVar10 + 0x11158))(pcVar5,0,0x10);
    *(undefined4 *)(iVar2 + 0x2180) = uVar6;
  }
  pcVar5 = sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x1790));
  if (pcVar5 != (char *)0x0) {
    (**(code **)(puVar10 + 0x1116c))(*(int *)(puVar10 + 0x110f4) + 0x2184,pcVar5);
  }
  pcVar9 = sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x17a0));
  if (pcVar9 != (char *)0x0) {
    (**(code **)(puVar10 + 0x1116c))(*(int *)(puVar10 + 0x110f4) + 0x2204,pcVar9);
  }
  pcVar9 = (char *)0x0;
  if ((((*(int *)(iVar2 + 0x2174) != 0) && (pcVar9 = (char *)0x0, *(int *)(iVar2 + 0x2178) != 0)) &&
      (pcVar9 = (char *)0x0, *(int *)(iVar2 + 0x217c) != 0)) &&
     (pcVar9 = (char *)(iVar2 + 0x2174), *(int *)(iVar2 + 0x2180) == 0)) {
LAB_00011170:
    pcVar9 = (char *)0x0;
  }
  return pcVar9;
}



undefined * FUN_00010dc0(undefined4 param_1,undefined4 param_2)

{
  undefined *puVar1;
  int iVar2;
  int iVar3;
  int *piVar4;
  undefined4 uVar5;
  undefined *puVar6;
  undefined *puVar7;
  undefined *puVar8;
  int iVar9;
  undefined *puVar10;
  undefined1 auStack_101c [4096];
  int local_1c;
  
  puVar1 = PTR___stack_chk_guard_000220c0;
  puVar6 = PTR_DAT_00022038;
  puVar10 = PTR_DAT_00022038 + 0x20f0;
  local_1c = *(int *)PTR___stack_chk_guard_000220c0;
  (*(code *)PTR_memset_00022084)(puVar10,0,0x81);
  (*(code *)PTR_snprintf_00022080)(auStack_101c,0xfff,PTR_00022044 + 0x174c,param_1,param_2);
  iVar2 = (*(code *)PTR_open_000220a0)(auStack_101c,0);
  if (-1 < iVar2) {
    iVar3 = (*(code *)PTR_read_000220d0)(iVar2,puVar10,0x80);
    (*(code *)PTR_close_00022070)(iVar2);
    puVar8 = (undefined *)(iVar3 + -1);
    if (0 < (int)puVar8) {
      piVar4 = (int *)(*(code *)PTR___ctype_b_loc_00022064)();
      puVar7 = puVar10 + iVar3;
      do {
        puVar8 = puVar7 + (-2 - (int)puVar10);
        if ((*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20) == 0) goto LAB_00010e68;
        puVar7[-1] = 0;
        puVar7 = puVar7 + -1;
      } while (puVar7 != puVar6 + 0x20f1);
    }
    if (-1 < (int)puVar8) goto LAB_00010e68;
  }
  puVar10 = (undefined *)0x0;
LAB_00010e68:
  if (local_1c == *(int *)puVar1) {
    return puVar10;
  }
  iVar2 = local_1c;
  puVar6 = PTR___stack_chk_fail_000220bc;
  (*(code *)PTR___stack_chk_fail_000220bc)();
  do {
    iVar3 = (**(code **)(puVar6 + 0x11134))(iVar2);
    iVar9 = iVar3 + 0xb;
    if (iVar3 == 0) goto LAB_00011170;
    piVar4 = (int *)(**(code **)(puVar6 + 0x11120))();
  } while (((*(ushort *)(*piVar4 + *(char *)(iVar3 + 0xb) * 2) & 8) == 0) ||
          (iVar3 = (**(code **)(puVar6 + 0x11154))(iVar9,0x3a), iVar3 != 0));
  iVar3 = *(int *)(puVar6 + 0x110f4);
  (**(code **)(puVar6 + 0x11140))((undefined *)(iVar3 + 0x2174),0,0x110);
  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1768);
  if (iVar2 != 0) {
    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10);
    *(undefined4 *)(iVar3 + 0x2174) = uVar5;
  }
  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 6000);
  if (iVar2 != 0) {
    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10);
    *(undefined4 *)(iVar3 + 0x2178) = uVar5;
  }
  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1778);
  if (iVar2 != 0) {
    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10);
    *(undefined4 *)(iVar3 + 0x217c) = uVar5;
  }
  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1784);
  if (iVar2 != 0) {
    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10);
    *(undefined4 *)(iVar3 + 0x2180) = uVar5;
  }
  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1790);
  if (iVar2 != 0) {
    (**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2184,iVar2);
  }
  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x17a0);
  if (iVar2 != 0) {
    (**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2204,iVar2);
  }
  puVar6 = (undefined *)0x0;
  if ((((*(int *)(iVar3 + 0x2174) != 0) &&
       (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x2178) != 0)) &&
      (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x217c) != 0)) &&
     (puVar6 = (undefined *)(iVar3 + 0x2174), *(int *)(iVar3 + 0x2180) == 0)) {
LAB_00011170:
    puVar6 = (undefined *)0x0;
  }
  return puVar6;
}


lui gp,0x2
addiu gp,gp,-0x6db0
addu gp,gp,t9
addiu sp,sp,-0x1040
lw t9,-0x7f8c(gp)
li a2,0x81
sw s1,0x102c(sp)
sw s2,0x1030(sp)
lw s1,-0x7f50(gp)
lw s2,-0x7fd8(gp)
sw s3,0x1034(sp)
or s3,a1,zero
or a1,zero,zero
sw ra,0x103c(sp)
sw gp,0x18(sp)
addiu s2,s2,0x20f0
sw s4,0x1038(sp)
or s4,a0,zero
sw s0,0x1028(sp)
or a0,s2,zero
lw v1,0x0(s1)
addiu s0,sp,0x24
sw v1,0x1024(sp)
jalr t9
_nop
li a1,0xfff
lw gp,0x18(sp)
or a0,s0,zero
or a3,s4,zero
sw s3,0x10(sp)
lw a2,-0x7fcc(gp)
lw t9,-0x7f90(gp)
jalr t9
_addiu a2,a2,0x174c
or a1,zero,zero
lw gp,0x18(sp)
lw t9,-0x7f70(gp)
jalr t9
_or a0,s0,zero
bgez v0,0x00010e94
_lw gp,0x18(sp)
or v0,zero,zero
lw a0,0x1024(sp)
lw v1,0x0(s1)
bne a0,v1,0x00010f38
_lw ra,0x103c(sp)
lw s4,0x1038(sp)
lw s3,0x1034(sp)
lw s2,0x1030(sp)
lw s1,0x102c(sp)
lw s0,0x1028(sp)
jr ra
_addiu sp,sp,0x1040
lw t9,-0x7f40(gp)
li a2,0x80
or a0,v0,zero
or a1,s2,zero
jalr t9
_or s0,v0,zero
lw gp,0x18(sp)
or a0,s0,zero
lw t9,-0x7fa0(gp)
jalr t9
_or s0,v0,zero
addiu a0,s0,-0x1
blez a0,0x00010f28
_lw gp,0x18(sp)
lw t9,-0x7fac(gp)
jalr t9
_nop
li a2,-0x2
lw gp,0x18(sp)
addu v1,s2,s0
addiu a3,s2,0x1
b 0x00010f00
_subu a2,a2,s2
sb zero,-0x1(v1)
addiu v1,v1,-0x1
beq v1,a3,0x00010f28
_nop
lb a1,-0x1(v1)
lw a0,0x0(v0)
sll a1,a1,0x1
addu a0,a0,a1
lhu a0,0x0(a0)
andi a0,a0,0x20
bne a0,zero,0x00010ef0
_addu a0,a2,v1
b 0x00010e68
_or v0,s2,zero
bltz a0,0x00010e64
_or v0,s2,zero
b 0x00010e68
_nop
lw t9,-0x7f54(gp)
jalr t9
_nop
(translation_unit "undefined * FUN_00010dc0(undefined4 param_1,undefined4 param_2)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  int iVar9;\n  undefined *puVar10;\n  undefined1 auStack_101c [4096];\n  int local_1c;\n  \n  puVar1 = PTR___stack_chk_guard_000220c0;\n  puVar6 = PTR_DAT_00022038;\n  puVar10 = PTR_DAT_00022038 + 0x20f0;\n  local_1c = *(int *)PTR___stack_chk_guard_000220c0;\n  (*(code *)PTR_memset_00022084)(puVar10,0,0x81);\n  (*(code *)PTR_snprintf_00022080)(auStack_101c,0xfff,PTR_00022044 + 0x174c,param_1,param_2);\n  iVar2 = (*(code *)PTR_open_000220a0)(auStack_101c,0);\n  if (-1 < iVar2) {\n    iVar3 = (*(code *)PTR_read_000220d0)(iVar2,puVar10,0x80);\n    (*(code *)PTR_close_00022070)(iVar2);\n    puVar8 = (undefined *)(iVar3 + -1);\n    if (0 < (int)puVar8) {\n      piVar4 = (int *)(*(code *)PTR___ctype_b_loc_00022064)();\n      puVar7 = puVar10 + iVar3;\n      do {\n        puVar8 = puVar7 + (-2 - (int)puVar10);\n        if ((*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20) == 0) goto LAB_00010e68;\n        puVar7[-1] = 0;\n        puVar7 = puVar7 + -1;\n      } while (puVar7 != puVar6 + 0x20f1);\n    }\n    if (-1 < (int)puVar8) goto LAB_00010e68;\n  }\n  puVar10 = (undefined *)0x0;\nLAB_00010e68:\n  if (local_1c == *(int *)puVar1) {\n    return puVar10;\n  }\n  iVar2 = local_1c;\n  puVar6 = PTR___stack_chk_fail_000220bc;\n  (*(code *)PTR___stack_chk_fail_000220bc)();\n  do {\n    iVar3 = (**(code **)(puVar6 + 0x11134))(iVar2);\n    iVar9 = iVar3 + 0xb;\n    if (iVar3 == 0) goto LAB_00011170;\n    piVar4 = (int *)(**(code **)(puVar6 + 0x11120))();\n  } while (((*(ushort *)(*piVar4 + *(char *)(iVar3 + 0xb) * 2) & 8) == 0) ||\n          (iVar3 = (**(code **)(puVar6 + 0x11154))(iVar9,0x3a), iVar3 != 0));\n  iVar3 = *(int *)(puVar6 + 0x110f4);\n  (**(code **)(puVar6 + 0x11140))((undefined *)(iVar3 + 0x2174),0,0x110);\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1768);\n  if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10);\n    *(undefined4 *)(iVar3 + 0x2174) = uVar5;\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 6000);\n  if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10);\n    *(undefined4 *)(iVar3 + 0x2178) = uVar5;\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1778);\n  if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10);\n    *(undefined4 *)(iVar3 + 0x217c) = uVar5;\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1784);\n  if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10);\n    *(undefined4 *)(iVar3 + 0x2180) = uVar5;\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1790);\n  if (iVar2 != 0) {\n    (**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2184,iVar2);\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x17a0);\n  if (iVar2 != 0) {\n    (**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2204,iVar2);\n  }\n  puVar6 = (undefined *)0x0;\n  if ((((*(int *)(iVar3 + 0x2174) != 0) &&\n       (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x2178) != 0)) &&\n      (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x217c) != 0)) &&\n     (puVar6 = (undefined *)(iVar3 + 0x2174), *(int *)(iVar3 + 0x2180) == 0)) {\nLAB_00011170:\n    puVar6 = (undefined *)0x0;\n  }\n  return puVar6;\n}\n\n" (function_definition "undefined * FUN_00010dc0(undefined4 param_1,undefined4 param_2)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  int iVar9;\n  undefined *puVar10;\n  undefined1 auStack_101c [4096];\n  int local_1c;\n  \n  puVar1 = PTR___stack_chk_guard_000220c0;\n  puVar6 = PTR_DAT_00022038;\n  puVar10 = PTR_DAT_00022038 + 0x20f0;\n  local_1c = *(int *)PTR___stack_chk_guard_000220c0;\n  (*(code *)PTR_memset_00022084)(puVar10,0,0x81);\n  (*(code *)PTR_snprintf_00022080)(auStack_101c,0xfff,PTR_00022044 + 0x174c,param_1,param_2);\n  iVar2 = (*(code *)PTR_open_000220a0)(auStack_101c,0);\n  if (-1 < iVar2) {\n    iVar3 = (*(code *)PTR_read_000220d0)(iVar2,puVar10,0x80);\n    (*(code *)PTR_close_00022070)(iVar2);\n    puVar8 = (undefined *)(iVar3 + -1);\n    if (0 < (int)puVar8) {\n      piVar4 = (int *)(*(code *)PTR___ctype_b_loc_00022064)();\n      puVar7 = puVar10 + iVar3;\n      do {\n        puVar8 = puVar7 + (-2 - (int)puVar10);\n        if ((*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20) == 0) goto LAB_00010e68;\n        puVar7[-1] = 0;\n        puVar7 = puVar7 + -1;\n      } while (puVar7 != puVar6 + 0x20f1);\n    }\n    if (-1 < (int)puVar8) goto LAB_00010e68;\n  }\n  puVar10 = (undefined *)0x0;\nLAB_00010e68:\n  if (local_1c == *(int *)puVar1) {\n    return puVar10;\n  }\n  iVar2 = local_1c;\n  puVar6 = PTR___stack_chk_fail_000220bc;\n  (*(code *)PTR___stack_chk_fail_000220bc)();\n  do {\n    iVar3 = (**(code **)(puVar6 + 0x11134))(iVar2);\n    iVar9 = iVar3 + 0xb;\n    if (iVar3 == 0) goto LAB_00011170;\n    piVar4 = (int *)(**(code **)(puVar6 + 0x11120))();\n  } while (((*(ushort *)(*piVar4 + *(char *)(iVar3 + 0xb) * 2) & 8) == 0) ||\n          (iVar3 = (**(code **)(puVar6 + 0x11154))(iVar9,0x3a), iVar3 != 0));\n  iVar3 = *(int *)(puVar6 + 0x110f4);\n  (**(code **)(puVar6 + 0x11140))((undefined *)(iVar3 + 0x2174),0,0x110);\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1768);\n  if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10);\n    *(undefined4 *)(iVar3 + 0x2174) = uVar5;\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 6000);\n  if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10);\n    *(undefined4 *)(iVar3 + 0x2178) = uVar5;\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1778);\n  if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10);\n    *(undefined4 *)(iVar3 + 0x217c) = uVar5;\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1784);\n  if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10);\n    *(undefined4 *)(iVar3 + 0x2180) = uVar5;\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1790);\n  if (iVar2 != 0) {\n    (**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2184,iVar2);\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x17a0);\n  if (iVar2 != 0) {\n    (**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2204,iVar2);\n  }\n  puVar6 = (undefined *)0x0;\n  if ((((*(int *)(iVar3 + 0x2174) != 0) &&\n       (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x2178) != 0)) &&\n      (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x217c) != 0)) &&\n     (puVar6 = (undefined *)(iVar3 + 0x2174), *(int *)(iVar3 + 0x2180) == 0)) {\nLAB_00011170:\n    puVar6 = (undefined *)0x0;\n  }\n  return puVar6;\n}" type_identifier (pointer_declarator "* FUN_00010dc0(undefined4 param_1,undefined4 param_2)" * (function_declarator "FUN_00010dc0(undefined4 param_1,undefined4 param_2)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) )))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  int iVar9;\n  undefined *puVar10;\n  undefined1 auStack_101c [4096];\n  int local_1c;\n  \n  puVar1 = PTR___stack_chk_guard_000220c0;\n  puVar6 = PTR_DAT_00022038;\n  puVar10 = PTR_DAT_00022038 + 0x20f0;\n  local_1c = *(int *)PTR___stack_chk_guard_000220c0;\n  (*(code *)PTR_memset_00022084)(puVar10,0,0x81);\n  (*(code *)PTR_snprintf_00022080)(auStack_101c,0xfff,PTR_00022044 + 0x174c,param_1,param_2);\n  iVar2 = (*(code *)PTR_open_000220a0)(auStack_101c,0);\n  if (-1 < iVar2) {\n    iVar3 = (*(code *)PTR_read_000220d0)(iVar2,puVar10,0x80);\n    (*(code *)PTR_close_00022070)(iVar2);\n    puVar8 = (undefined *)(iVar3 + -1);\n    if (0 < (int)puVar8) {\n      piVar4 = (int *)(*(code *)PTR___ctype_b_loc_00022064)();\n      puVar7 = puVar10 + iVar3;\n      do {\n        puVar8 = puVar7 + (-2 - (int)puVar10);\n        if ((*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20) == 0) goto LAB_00010e68;\n        puVar7[-1] = 0;\n        puVar7 = puVar7 + -1;\n      } while (puVar7 != puVar6 + 0x20f1);\n    }\n    if (-1 < (int)puVar8) goto LAB_00010e68;\n  }\n  puVar10 = (undefined *)0x0;\nLAB_00010e68:\n  if (local_1c == *(int *)puVar1) {\n    return puVar10;\n  }\n  iVar2 = local_1c;\n  puVar6 = PTR___stack_chk_fail_000220bc;\n  (*(code *)PTR___stack_chk_fail_000220bc)();\n  do {\n    iVar3 = (**(code **)(puVar6 + 0x11134))(iVar2);\n    iVar9 = iVar3 + 0xb;\n    if (iVar3 == 0) goto LAB_00011170;\n    piVar4 = (int *)(**(code **)(puVar6 + 0x11120))();\n  } while (((*(ushort *)(*piVar4 + *(char *)(iVar3 + 0xb) * 2) & 8) == 0) ||\n          (iVar3 = (**(code **)(puVar6 + 0x11154))(iVar9,0x3a), iVar3 != 0));\n  iVar3 = *(int *)(puVar6 + 0x110f4);\n  (**(code **)(puVar6 + 0x11140))((undefined *)(iVar3 + 0x2174),0,0x110);\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1768);\n  if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10);\n    *(undefined4 *)(iVar3 + 0x2174) = uVar5;\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 6000);\n  if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10);\n    *(undefined4 *)(iVar3 + 0x2178) = uVar5;\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1778);\n  if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10);\n    *(undefined4 *)(iVar3 + 0x217c) = uVar5;\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1784);\n  if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10);\n    *(undefined4 *)(iVar3 + 0x2180) = uVar5;\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1790);\n  if (iVar2 != 0) {\n    (**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2184,iVar2);\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x17a0);\n  if (iVar2 != 0) {\n    (**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2204,iVar2);\n  }\n  puVar6 = (undefined *)0x0;\n  if ((((*(int *)(iVar3 + 0x2174) != 0) &&\n       (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x2178) != 0)) &&\n      (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x217c) != 0)) &&\n     (puVar6 = (undefined *)(iVar3 + 0x2174), *(int *)(iVar3 + 0x2180) == 0)) {\nLAB_00011170:\n    puVar6 = (undefined *)0x0;\n  }\n  return puVar6;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined1 auStack_101c [4096];" type_identifier (array_declarator "auStack_101c [4096]" identifier [ number_literal ]) ;) (declaration "int local_1c;" primitive_type identifier ;) (expression_statement "puVar1 = PTR___stack_chk_guard_000220c0;" (assignment_expression "puVar1 = PTR___stack_chk_guard_000220c0" identifier = identifier) ;) (expression_statement "puVar6 = PTR_DAT_00022038;" (assignment_expression "puVar6 = PTR_DAT_00022038" identifier = identifier) ;) (expression_statement "puVar10 = PTR_DAT_00022038 + 0x20f0;" (assignment_expression "puVar10 = PTR_DAT_00022038 + 0x20f0" identifier = (binary_expression "PTR_DAT_00022038 + 0x20f0" identifier + number_literal)) ;) (expression_statement "local_1c = *(int *)PTR___stack_chk_guard_000220c0;" (assignment_expression "local_1c = *(int *)PTR___stack_chk_guard_000220c0" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000220c0" * (cast_expression "(int *)PTR___stack_chk_guard_000220c0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "(*(code *)PTR_memset_00022084)(puVar10,0,0x81);" (call_expression "(*(code *)PTR_memset_00022084)(puVar10,0,0x81)" (parenthesized_expression "(*(code *)PTR_memset_00022084)" ( (pointer_expression "*(code *)PTR_memset_00022084" * (cast_expression "(code *)PTR_memset_00022084" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,0,0x81)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "(*(code *)PTR_snprintf_00022080)(auStack_101c,0xfff,PTR_00022044 + 0x174c,param_1,param_2);" (call_expression "(*(code *)PTR_snprintf_00022080)(auStack_101c,0xfff,PTR_00022044 + 0x174c,param_1,param_2)" (parenthesized_expression "(*(code *)PTR_snprintf_00022080)" ( (pointer_expression "*(code *)PTR_snprintf_00022080" * (cast_expression "(code *)PTR_snprintf_00022080" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_101c,0xfff,PTR_00022044 + 0x174c,param_1,param_2)" ( identifier , number_literal , (binary_expression "PTR_00022044 + 0x174c" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "iVar2 = (*(code *)PTR_open_000220a0)(auStack_101c,0);" (assignment_expression "iVar2 = (*(code *)PTR_open_000220a0)(auStack_101c,0)" identifier = (call_expression "(*(code *)PTR_open_000220a0)(auStack_101c,0)" (parenthesized_expression "(*(code *)PTR_open_000220a0)" ( (pointer_expression "*(code *)PTR_open_000220a0" * (cast_expression "(code *)PTR_open_000220a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_101c,0)" ( identifier , number_literal )))) ;) (if_statement "if (-1 < iVar2) {\n    iVar3 = (*(code *)PTR_read_000220d0)(iVar2,puVar10,0x80);\n    (*(code *)PTR_close_00022070)(iVar2);\n    puVar8 = (undefined *)(iVar3 + -1);\n    if (0 < (int)puVar8) {\n      piVar4 = (int *)(*(code *)PTR___ctype_b_loc_00022064)();\n      puVar7 = puVar10 + iVar3;\n      do {\n        puVar8 = puVar7 + (-2 - (int)puVar10);\n        if ((*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20) == 0) goto LAB_00010e68;\n        puVar7[-1] = 0;\n        puVar7 = puVar7 + -1;\n      } while (puVar7 != puVar6 + 0x20f1);\n    }\n    if (-1 < (int)puVar8) goto LAB_00010e68;\n  }" if (parenthesized_expression "(-1 < iVar2)" ( (binary_expression "-1 < iVar2" number_literal < identifier) )) (compound_statement "{\n    iVar3 = (*(code *)PTR_read_000220d0)(iVar2,puVar10,0x80);\n    (*(code *)PTR_close_00022070)(iVar2);\n    puVar8 = (undefined *)(iVar3 + -1);\n    if (0 < (int)puVar8) {\n      piVar4 = (int *)(*(code *)PTR___ctype_b_loc_00022064)();\n      puVar7 = puVar10 + iVar3;\n      do {\n        puVar8 = puVar7 + (-2 - (int)puVar10);\n        if ((*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20) == 0) goto LAB_00010e68;\n        puVar7[-1] = 0;\n        puVar7 = puVar7 + -1;\n      } while (puVar7 != puVar6 + 0x20f1);\n    }\n    if (-1 < (int)puVar8) goto LAB_00010e68;\n  }" { (expression_statement "iVar3 = (*(code *)PTR_read_000220d0)(iVar2,puVar10,0x80);" (assignment_expression "iVar3 = (*(code *)PTR_read_000220d0)(iVar2,puVar10,0x80)" identifier = (call_expression "(*(code *)PTR_read_000220d0)(iVar2,puVar10,0x80)" (parenthesized_expression "(*(code *)PTR_read_000220d0)" ( (pointer_expression "*(code *)PTR_read_000220d0" * (cast_expression "(code *)PTR_read_000220d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar2,puVar10,0x80)" ( identifier , identifier , number_literal )))) ;) (expression_statement "(*(code *)PTR_close_00022070)(iVar2);" (call_expression "(*(code *)PTR_close_00022070)(iVar2)" (parenthesized_expression "(*(code *)PTR_close_00022070)" ( (pointer_expression "*(code *)PTR_close_00022070" * (cast_expression "(code *)PTR_close_00022070" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar2)" ( identifier ))) ;) (expression_statement "puVar8 = (undefined *)(iVar3 + -1);" (assignment_expression "puVar8 = (undefined *)(iVar3 + -1)" identifier = (cast_expression "(undefined *)(iVar3 + -1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + -1)" ( (binary_expression "iVar3 + -1" identifier + number_literal) )))) ;) (if_statement "if (0 < (int)puVar8) {\n      piVar4 = (int *)(*(code *)PTR___ctype_b_loc_00022064)();\n      puVar7 = puVar10 + iVar3;\n      do {\n        puVar8 = puVar7 + (-2 - (int)puVar10);\n        if ((*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20) == 0) goto LAB_00010e68;\n        puVar7[-1] = 0;\n        puVar7 = puVar7 + -1;\n      } while (puVar7 != puVar6 + 0x20f1);\n    }" if (parenthesized_expression "(0 < (int)puVar8)" ( (binary_expression "0 < (int)puVar8" number_literal < (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      piVar4 = (int *)(*(code *)PTR___ctype_b_loc_00022064)();\n      puVar7 = puVar10 + iVar3;\n      do {\n        puVar8 = puVar7 + (-2 - (int)puVar10);\n        if ((*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20) == 0) goto LAB_00010e68;\n        puVar7[-1] = 0;\n        puVar7 = puVar7 + -1;\n      } while (puVar7 != puVar6 + 0x20f1);\n    }" { (expression_statement "piVar4 = (int *)(*(code *)PTR___ctype_b_loc_00022064)();" (assignment_expression "piVar4 = (int *)(*(code *)PTR___ctype_b_loc_00022064)()" identifier = (cast_expression "(int *)(*(code *)PTR___ctype_b_loc_00022064)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___ctype_b_loc_00022064)()" (parenthesized_expression "(*(code *)PTR___ctype_b_loc_00022064)" ( (pointer_expression "*(code *)PTR___ctype_b_loc_00022064" * (cast_expression "(code *)PTR___ctype_b_loc_00022064" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "puVar7 = puVar10 + iVar3;" (assignment_expression "puVar7 = puVar10 + iVar3" identifier = (binary_expression "puVar10 + iVar3" identifier + identifier)) ;) (do_statement "do {\n        puVar8 = puVar7 + (-2 - (int)puVar10);\n        if ((*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20) == 0) goto LAB_00010e68;\n        puVar7[-1] = 0;\n        puVar7 = puVar7 + -1;\n      } while (puVar7 != puVar6 + 0x20f1);" do (compound_statement "{\n        puVar8 = puVar7 + (-2 - (int)puVar10);\n        if ((*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20) == 0) goto LAB_00010e68;\n        puVar7[-1] = 0;\n        puVar7 = puVar7 + -1;\n      }" { (expression_statement "puVar8 = puVar7 + (-2 - (int)puVar10);" (assignment_expression "puVar8 = puVar7 + (-2 - (int)puVar10)" identifier = (binary_expression "puVar7 + (-2 - (int)puVar10)" identifier + (parenthesized_expression "(-2 - (int)puVar10)" ( (binary_expression "-2 - (int)puVar10" number_literal - (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if ((*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20) == 0) goto LAB_00010e68;" if (parenthesized_expression "((*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20) == 0)" ( (binary_expression "(*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20) == 0" (parenthesized_expression "(*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20)" ( (binary_expression "*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20" (pointer_expression "*(ushort *)(*piVar4 + (char)puVar7[-1] * 2)" * (cast_expression "(ushort *)(*piVar4 + (char)puVar7[-1] * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar4 + (char)puVar7[-1] * 2)" ( (binary_expression "*piVar4 + (char)puVar7[-1] * 2" (pointer_expression "*piVar4" * identifier) + (binary_expression "(char)puVar7[-1] * 2" (cast_expression "(char)puVar7[-1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "puVar7[-1]" identifier [ number_literal ])) * number_literal)) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00010e68;" goto statement_identifier ;)) (expression_statement "puVar7[-1] = 0;" (assignment_expression "puVar7[-1] = 0" (subscript_expression "puVar7[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7 = puVar7 + -1;" (assignment_expression "puVar7 = puVar7 + -1" identifier = (binary_expression "puVar7 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar7 != puVar6 + 0x20f1)" ( (binary_expression "puVar7 != puVar6 + 0x20f1" identifier != (binary_expression "puVar6 + 0x20f1" identifier + number_literal)) )) ;) })) (if_statement "if (-1 < (int)puVar8) goto LAB_00010e68;" if (parenthesized_expression "(-1 < (int)puVar8)" ( (binary_expression "-1 < (int)puVar8" number_literal < (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_00010e68;" goto statement_identifier ;)) })) (expression_statement "puVar10 = (undefined *)0x0;" (assignment_expression "puVar10 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00010e68:\n  if (local_1c == *(int *)puVar1) {\n    return puVar10;\n  }" statement_identifier : (if_statement "if (local_1c == *(int *)puVar1) {\n    return puVar10;\n  }" if (parenthesized_expression "(local_1c == *(int *)puVar1)" ( (binary_expression "local_1c == *(int *)puVar1" identifier == (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return puVar10;\n  }" { (return_statement "return puVar10;" return identifier ;) }))) (expression_statement "iVar2 = local_1c;" (assignment_expression "iVar2 = local_1c" identifier = identifier) ;) (expression_statement "puVar6 = PTR___stack_chk_fail_000220bc;" (assignment_expression "puVar6 = PTR___stack_chk_fail_000220bc" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000220bc)();" (call_expression "(*(code *)PTR___stack_chk_fail_000220bc)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000220bc)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000220bc" * (cast_expression "(code *)PTR___stack_chk_fail_000220bc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (do_statement "do {\n    iVar3 = (**(code **)(puVar6 + 0x11134))(iVar2);\n    iVar9 = iVar3 + 0xb;\n    if (iVar3 == 0) goto LAB_00011170;\n    piVar4 = (int *)(**(code **)(puVar6 + 0x11120))();\n  } while (((*(ushort *)(*piVar4 + *(char *)(iVar3 + 0xb) * 2) & 8) == 0) ||\n          (iVar3 = (**(code **)(puVar6 + 0x11154))(iVar9,0x3a), iVar3 != 0));" do (compound_statement "{\n    iVar3 = (**(code **)(puVar6 + 0x11134))(iVar2);\n    iVar9 = iVar3 + 0xb;\n    if (iVar3 == 0) goto LAB_00011170;\n    piVar4 = (int *)(**(code **)(puVar6 + 0x11120))();\n  }" { (expression_statement "iVar3 = (**(code **)(puVar6 + 0x11134))(iVar2);" (assignment_expression "iVar3 = (**(code **)(puVar6 + 0x11134))(iVar2)" identifier = (call_expression "(**(code **)(puVar6 + 0x11134))(iVar2)" (parenthesized_expression "(**(code **)(puVar6 + 0x11134))" ( (pointer_expression "**(code **)(puVar6 + 0x11134)" * (pointer_expression "*(code **)(puVar6 + 0x11134)" * (cast_expression "(code **)(puVar6 + 0x11134)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x11134)" ( (binary_expression "puVar6 + 0x11134" identifier + number_literal) ))))) )) (argument_list "(iVar2)" ( identifier )))) ;) (expression_statement "iVar9 = iVar3 + 0xb;" (assignment_expression "iVar9 = iVar3 + 0xb" identifier = (binary_expression "iVar3 + 0xb" identifier + number_literal)) ;) (if_statement "if (iVar3 == 0) goto LAB_00011170;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00011170;" goto statement_identifier ;)) (expression_statement "piVar4 = (int *)(**(code **)(puVar6 + 0x11120))();" (assignment_expression "piVar4 = (int *)(**(code **)(puVar6 + 0x11120))()" identifier = (cast_expression "(int *)(**(code **)(puVar6 + 0x11120))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar6 + 0x11120))()" (parenthesized_expression "(**(code **)(puVar6 + 0x11120))" ( (pointer_expression "**(code **)(puVar6 + 0x11120)" * (pointer_expression "*(code **)(puVar6 + 0x11120)" * (cast_expression "(code **)(puVar6 + 0x11120)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x11120)" ( (binary_expression "puVar6 + 0x11120" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) }) while (parenthesized_expression "(((*(ushort *)(*piVar4 + *(char *)(iVar3 + 0xb) * 2) & 8) == 0) ||\n          (iVar3 = (**(code **)(puVar6 + 0x11154))(iVar9,0x3a), iVar3 != 0))" ( (binary_expression "((*(ushort *)(*piVar4 + *(char *)(iVar3 + 0xb) * 2) & 8) == 0) ||\n          (iVar3 = (**(code **)(puVar6 + 0x11154))(iVar9,0x3a), iVar3 != 0)" (parenthesized_expression "((*(ushort *)(*piVar4 + *(char *)(iVar3 + 0xb) * 2) & 8) == 0)" ( (binary_expression "(*(ushort *)(*piVar4 + *(char *)(iVar3 + 0xb) * 2) & 8) == 0" (parenthesized_expression "(*(ushort *)(*piVar4 + *(char *)(iVar3 + 0xb) * 2) & 8)" ( (binary_expression "*(ushort *)(*piVar4 + *(char *)(iVar3 + 0xb) * 2) & 8" (pointer_expression "*(ushort *)(*piVar4 + *(char *)(iVar3 + 0xb) * 2)" * (cast_expression "(ushort *)(*piVar4 + *(char *)(iVar3 + 0xb) * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar4 + *(char *)(iVar3 + 0xb) * 2)" ( (binary_expression "*piVar4 + *(char *)(iVar3 + 0xb) * 2" (pointer_expression "*piVar4" * identifier) + (binary_expression "*(char *)(iVar3 + 0xb) * 2" (pointer_expression "*(char *)(iVar3 + 0xb)" * (cast_expression "(char *)(iVar3 + 0xb)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0xb)" ( (binary_expression "iVar3 + 0xb" identifier + number_literal) )))) * number_literal)) )))) & number_literal) )) == number_literal) )) || (parenthesized_expression "(iVar3 = (**(code **)(puVar6 + 0x11154))(iVar9,0x3a), iVar3 != 0)" ( (comma_expression "iVar3 = (**(code **)(puVar6 + 0x11154))(iVar9,0x3a), iVar3 != 0" (assignment_expression "iVar3 = (**(code **)(puVar6 + 0x11154))(iVar9,0x3a)" identifier = (call_expression "(**(code **)(puVar6 + 0x11154))(iVar9,0x3a)" (parenthesized_expression "(**(code **)(puVar6 + 0x11154))" ( (pointer_expression "**(code **)(puVar6 + 0x11154)" * (pointer_expression "*(code **)(puVar6 + 0x11154)" * (cast_expression "(code **)(puVar6 + 0x11154)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x11154)" ( (binary_expression "puVar6 + 0x11154" identifier + number_literal) ))))) )) (argument_list "(iVar9,0x3a)" ( identifier , number_literal )))) , (binary_expression "iVar3 != 0" identifier != number_literal)) ))) )) ;) (expression_statement "iVar3 = *(int *)(puVar6 + 0x110f4);" (assignment_expression "iVar3 = *(int *)(puVar6 + 0x110f4)" identifier = (pointer_expression "*(int *)(puVar6 + 0x110f4)" * (cast_expression "(int *)(puVar6 + 0x110f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x110f4)" ( (binary_expression "puVar6 + 0x110f4" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(puVar6 + 0x11140))((undefined *)(iVar3 + 0x2174),0,0x110);" (call_expression "(**(code **)(puVar6 + 0x11140))((undefined *)(iVar3 + 0x2174),0,0x110)" (parenthesized_expression "(**(code **)(puVar6 + 0x11140))" ( (pointer_expression "**(code **)(puVar6 + 0x11140)" * (pointer_expression "*(code **)(puVar6 + 0x11140)" * (cast_expression "(code **)(puVar6 + 0x11140)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x11140)" ( (binary_expression "puVar6 + 0x11140" identifier + number_literal) ))))) )) (argument_list "((undefined *)(iVar3 + 0x2174),0,0x110)" ( (cast_expression "(undefined *)(iVar3 + 0x2174)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x2174)" ( (binary_expression "iVar3 + 0x2174" identifier + number_literal) ))) , number_literal , number_literal ))) ;) (expression_statement "iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1768);" (assignment_expression "iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1768)" identifier = (call_expression "FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1768)" identifier (argument_list "(iVar9,*(int *)(puVar6 + 0x11100) + 0x1768)" ( identifier , (binary_expression "*(int *)(puVar6 + 0x11100) + 0x1768" (pointer_expression "*(int *)(puVar6 + 0x11100)" * (cast_expression "(int *)(puVar6 + 0x11100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x11100)" ( (binary_expression "puVar6 + 0x11100" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10);\n    *(undefined4 *)(iVar3 + 0x2174) = uVar5;\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10);\n    *(undefined4 *)(iVar3 + 0x2174) = uVar5;\n  }" { (expression_statement "uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10);" (assignment_expression "uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10)" identifier = (call_expression "(**(code **)(puVar6 + 0x11158))(iVar2,0,10)" (parenthesized_expression "(**(code **)(puVar6 + 0x11158))" ( (pointer_expression "**(code **)(puVar6 + 0x11158)" * (pointer_expression "*(code **)(puVar6 + 0x11158)" * (cast_expression "(code **)(puVar6 + 0x11158)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x11158)" ( (binary_expression "puVar6 + 0x11158" identifier + number_literal) ))))) )) (argument_list "(iVar2,0,10)" ( identifier , number_literal , number_literal )))) ;) (expression_statement "*(undefined4 *)(iVar3 + 0x2174) = uVar5;" (assignment_expression "*(undefined4 *)(iVar3 + 0x2174) = uVar5" (pointer_expression "*(undefined4 *)(iVar3 + 0x2174)" * (cast_expression "(undefined4 *)(iVar3 + 0x2174)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x2174)" ( (binary_expression "iVar3 + 0x2174" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 6000);" (assignment_expression "iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 6000)" identifier = (call_expression "FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 6000)" identifier (argument_list "(iVar9,*(int *)(puVar6 + 0x11100) + 6000)" ( identifier , (binary_expression "*(int *)(puVar6 + 0x11100) + 6000" (pointer_expression "*(int *)(puVar6 + 0x11100)" * (cast_expression "(int *)(puVar6 + 0x11100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x11100)" ( (binary_expression "puVar6 + 0x11100" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10);\n    *(undefined4 *)(iVar3 + 0x2178) = uVar5;\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10);\n    *(undefined4 *)(iVar3 + 0x2178) = uVar5;\n  }" { (expression_statement "uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10);" (assignment_expression "uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10)" identifier = (call_expression "(**(code **)(puVar6 + 0x11158))(iVar2,0,10)" (parenthesized_expression "(**(code **)(puVar6 + 0x11158))" ( (pointer_expression "**(code **)(puVar6 + 0x11158)" * (pointer_expression "*(code **)(puVar6 + 0x11158)" * (cast_expression "(code **)(puVar6 + 0x11158)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x11158)" ( (binary_expression "puVar6 + 0x11158" identifier + number_literal) ))))) )) (argument_list "(iVar2,0,10)" ( identifier , number_literal , number_literal )))) ;) (expression_statement "*(undefined4 *)(iVar3 + 0x2178) = uVar5;" (assignment_expression "*(undefined4 *)(iVar3 + 0x2178) = uVar5" (pointer_expression "*(undefined4 *)(iVar3 + 0x2178)" * (cast_expression "(undefined4 *)(iVar3 + 0x2178)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x2178)" ( (binary_expression "iVar3 + 0x2178" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1778);" (assignment_expression "iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1778)" identifier = (call_expression "FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1778)" identifier (argument_list "(iVar9,*(int *)(puVar6 + 0x11100) + 0x1778)" ( identifier , (binary_expression "*(int *)(puVar6 + 0x11100) + 0x1778" (pointer_expression "*(int *)(puVar6 + 0x11100)" * (cast_expression "(int *)(puVar6 + 0x11100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x11100)" ( (binary_expression "puVar6 + 0x11100" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10);\n    *(undefined4 *)(iVar3 + 0x217c) = uVar5;\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10);\n    *(undefined4 *)(iVar3 + 0x217c) = uVar5;\n  }" { (expression_statement "uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10);" (assignment_expression "uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10)" identifier = (call_expression "(**(code **)(puVar6 + 0x11158))(iVar2,0,0x10)" (parenthesized_expression "(**(code **)(puVar6 + 0x11158))" ( (pointer_expression "**(code **)(puVar6 + 0x11158)" * (pointer_expression "*(code **)(puVar6 + 0x11158)" * (cast_expression "(code **)(puVar6 + 0x11158)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x11158)" ( (binary_expression "puVar6 + 0x11158" identifier + number_literal) ))))) )) (argument_list "(iVar2,0,0x10)" ( identifier , number_literal , number_literal )))) ;) (expression_statement "*(undefined4 *)(iVar3 + 0x217c) = uVar5;" (assignment_expression "*(undefined4 *)(iVar3 + 0x217c) = uVar5" (pointer_expression "*(undefined4 *)(iVar3 + 0x217c)" * (cast_expression "(undefined4 *)(iVar3 + 0x217c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x217c)" ( (binary_expression "iVar3 + 0x217c" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1784);" (assignment_expression "iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1784)" identifier = (call_expression "FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1784)" identifier (argument_list "(iVar9,*(int *)(puVar6 + 0x11100) + 0x1784)" ( identifier , (binary_expression "*(int *)(puVar6 + 0x11100) + 0x1784" (pointer_expression "*(int *)(puVar6 + 0x11100)" * (cast_expression "(int *)(puVar6 + 0x11100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x11100)" ( (binary_expression "puVar6 + 0x11100" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10);\n    *(undefined4 *)(iVar3 + 0x2180) = uVar5;\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10);\n    *(undefined4 *)(iVar3 + 0x2180) = uVar5;\n  }" { (expression_statement "uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10);" (assignment_expression "uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10)" identifier = (call_expression "(**(code **)(puVar6 + 0x11158))(iVar2,0,0x10)" (parenthesized_expression "(**(code **)(puVar6 + 0x11158))" ( (pointer_expression "**(code **)(puVar6 + 0x11158)" * (pointer_expression "*(code **)(puVar6 + 0x11158)" * (cast_expression "(code **)(puVar6 + 0x11158)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x11158)" ( (binary_expression "puVar6 + 0x11158" identifier + number_literal) ))))) )) (argument_list "(iVar2,0,0x10)" ( identifier , number_literal , number_literal )))) ;) (expression_statement "*(undefined4 *)(iVar3 + 0x2180) = uVar5;" (assignment_expression "*(undefined4 *)(iVar3 + 0x2180) = uVar5" (pointer_expression "*(undefined4 *)(iVar3 + 0x2180)" * (cast_expression "(undefined4 *)(iVar3 + 0x2180)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x2180)" ( (binary_expression "iVar3 + 0x2180" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1790);" (assignment_expression "iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1790)" identifier = (call_expression "FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1790)" identifier (argument_list "(iVar9,*(int *)(puVar6 + 0x11100) + 0x1790)" ( identifier , (binary_expression "*(int *)(puVar6 + 0x11100) + 0x1790" (pointer_expression "*(int *)(puVar6 + 0x11100)" * (cast_expression "(int *)(puVar6 + 0x11100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x11100)" ( (binary_expression "puVar6 + 0x11100" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar2 != 0) {\n    (**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2184,iVar2);\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    (**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2184,iVar2);\n  }" { (expression_statement "(**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2184,iVar2);" (call_expression "(**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2184,iVar2)" (parenthesized_expression "(**(code **)(puVar6 + 0x1116c))" ( (pointer_expression "**(code **)(puVar6 + 0x1116c)" * (pointer_expression "*(code **)(puVar6 + 0x1116c)" * (cast_expression "(code **)(puVar6 + 0x1116c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x1116c)" ( (binary_expression "puVar6 + 0x1116c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar6 + 0x110f4) + 0x2184,iVar2)" ( (binary_expression "*(int *)(puVar6 + 0x110f4) + 0x2184" (pointer_expression "*(int *)(puVar6 + 0x110f4)" * (cast_expression "(int *)(puVar6 + 0x110f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x110f4)" ( (binary_expression "puVar6 + 0x110f4" identifier + number_literal) )))) + number_literal) , identifier ))) ;) })) (expression_statement "iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x17a0);" (assignment_expression "iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x17a0)" identifier = (call_expression "FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x17a0)" identifier (argument_list "(iVar9,*(int *)(puVar6 + 0x11100) + 0x17a0)" ( identifier , (binary_expression "*(int *)(puVar6 + 0x11100) + 0x17a0" (pointer_expression "*(int *)(puVar6 + 0x11100)" * (cast_expression "(int *)(puVar6 + 0x11100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x11100)" ( (binary_expression "puVar6 + 0x11100" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar2 != 0) {\n    (**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2204,iVar2);\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    (**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2204,iVar2);\n  }" { (expression_statement "(**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2204,iVar2);" (call_expression "(**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2204,iVar2)" (parenthesized_expression "(**(code **)(puVar6 + 0x1116c))" ( (pointer_expression "**(code **)(puVar6 + 0x1116c)" * (pointer_expression "*(code **)(puVar6 + 0x1116c)" * (cast_expression "(code **)(puVar6 + 0x1116c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x1116c)" ( (binary_expression "puVar6 + 0x1116c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar6 + 0x110f4) + 0x2204,iVar2)" ( (binary_expression "*(int *)(puVar6 + 0x110f4) + 0x2204" (pointer_expression "*(int *)(puVar6 + 0x110f4)" * (cast_expression "(int *)(puVar6 + 0x110f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x110f4)" ( (binary_expression "puVar6 + 0x110f4" identifier + number_literal) )))) + number_literal) , identifier ))) ;) })) (expression_statement "puVar6 = (undefined *)0x0;" (assignment_expression "puVar6 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((((*(int *)(iVar3 + 0x2174) != 0) &&\n       (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x2178) != 0)) &&\n      (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x217c) != 0)) &&\n     (puVar6 = (undefined *)(iVar3 + 0x2174), *(int *)(iVar3 + 0x2180) == 0)) {\nLAB_00011170:\n    puVar6 = (undefined *)0x0;\n  }" if (parenthesized_expression "((((*(int *)(iVar3 + 0x2174) != 0) &&\n       (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x2178) != 0)) &&\n      (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x217c) != 0)) &&\n     (puVar6 = (undefined *)(iVar3 + 0x2174), *(int *)(iVar3 + 0x2180) == 0))" ( (binary_expression "(((*(int *)(iVar3 + 0x2174) != 0) &&\n       (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x2178) != 0)) &&\n      (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x217c) != 0)) &&\n     (puVar6 = (undefined *)(iVar3 + 0x2174), *(int *)(iVar3 + 0x2180) == 0)" (parenthesized_expression "(((*(int *)(iVar3 + 0x2174) != 0) &&\n       (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x2178) != 0)) &&\n      (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x217c) != 0))" ( (binary_expression "((*(int *)(iVar3 + 0x2174) != 0) &&\n       (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x2178) != 0)) &&\n      (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x217c) != 0)" (parenthesized_expression "((*(int *)(iVar3 + 0x2174) != 0) &&\n       (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x2178) != 0))" ( (binary_expression "(*(int *)(iVar3 + 0x2174) != 0) &&\n       (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x2178) != 0)" (parenthesized_expression "(*(int *)(iVar3 + 0x2174) != 0)" ( (binary_expression "*(int *)(iVar3 + 0x2174) != 0" (pointer_expression "*(int *)(iVar3 + 0x2174)" * (cast_expression "(int *)(iVar3 + 0x2174)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x2174)" ( (binary_expression "iVar3 + 0x2174" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x2178) != 0)" ( (comma_expression "puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x2178) != 0" (assignment_expression "puVar6 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) , (binary_expression "*(int *)(iVar3 + 0x2178) != 0" (pointer_expression "*(int *)(iVar3 + 0x2178)" * (cast_expression "(int *)(iVar3 + 0x2178)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x2178)" ( (binary_expression "iVar3 + 0x2178" identifier + number_literal) )))) != number_literal)) ))) )) && (parenthesized_expression "(puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x217c) != 0)" ( (comma_expression "puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x217c) != 0" (assignment_expression "puVar6 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) , (binary_expression "*(int *)(iVar3 + 0x217c) != 0" (pointer_expression "*(int *)(iVar3 + 0x217c)" * (cast_expression "(int *)(iVar3 + 0x217c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x217c)" ( (binary_expression "iVar3 + 0x217c" identifier + number_literal) )))) != number_literal)) ))) )) && (parenthesized_expression "(puVar6 = (undefined *)(iVar3 + 0x2174), *(int *)(iVar3 + 0x2180) == 0)" ( (comma_expression "puVar6 = (undefined *)(iVar3 + 0x2174), *(int *)(iVar3 + 0x2180) == 0" (assignment_expression "puVar6 = (undefined *)(iVar3 + 0x2174)" identifier = (cast_expression "(undefined *)(iVar3 + 0x2174)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x2174)" ( (binary_expression "iVar3 + 0x2174" identifier + number_literal) )))) , (binary_expression "*(int *)(iVar3 + 0x2180) == 0" (pointer_expression "*(int *)(iVar3 + 0x2180)" * (cast_expression "(int *)(iVar3 + 0x2180)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x2180)" ( (binary_expression "iVar3 + 0x2180" identifier + number_literal) )))) == number_literal)) ))) )) (compound_statement "{\nLAB_00011170:\n    puVar6 = (undefined *)0x0;\n  }" { (labeled_statement "LAB_00011170:\n    puVar6 = (undefined *)0x0;" statement_identifier : (expression_statement "puVar6 = (undefined *)0x0;" (assignment_expression "puVar6 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) })) (return_statement "return puVar6;" return identifier ;) })))
(translation_unit "char * sysfs_attr(char *dev,char *attr)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  int *piVar4;\n  char *pcVar5;\n  undefined4 uVar6;\n  int iVar7;\n  char *pcVar8;\n  char *pcVar9;\n  undefined *puVar10;\n  char path [4096];\n  \n  puVar1 = PTR___stack_chk_guard_000220c0;\n  puVar10 = PTR_DAT_00022038;\n  pcVar9 = PTR_DAT_00022038 + 0x20f0;\n  iVar7 = *(int *)PTR___stack_chk_guard_000220c0;\n  (*(code *)PTR_memset_00022084)(pcVar9,0,0x81);\n  (*(code *)PTR_snprintf_00022080)(path,0xfff,PTR_00022044 + 0x174c,dev,attr);\n  iVar2 = (*(code *)PTR_open_000220a0)(path,0);\n  if (-1 < iVar2) {\n    iVar3 = (*(code *)PTR_read_000220d0)(iVar2,pcVar9,0x80);\n    (*(code *)PTR_close_00022070)(iVar2);\n    pcVar5 = (char *)(iVar3 + -1);\n    if (0 < (int)pcVar5) {\n      piVar4 = (int *)(*(code *)PTR___ctype_b_loc_00022064)();\n      pcVar8 = pcVar9 + iVar3;\n      do {\n        pcVar5 = pcVar8 + (-2 - (int)pcVar9);\n        if ((*(ushort *)(*piVar4 + pcVar8[-1] * 2) & 0x20) == 0) goto LAB_00010e68;\n        pcVar8[-1] = '\0';\n        pcVar8 = pcVar8 + -1;\n      } while (pcVar8 != puVar10 + 0x20f1);\n    }\n    if (-1 < (int)pcVar5) goto LAB_00010e68;\n  }\n  pcVar9 = (char *)0x0;\nLAB_00010e68:\n  if (iVar7 == *(int *)puVar1) {\n    return pcVar9;\n  }\n  puVar10 = PTR___stack_chk_fail_000220bc;\n  (*(code *)PTR___stack_chk_fail_000220bc)();\n  do {\n    iVar2 = (**(code **)(puVar10 + 0x11134))(iVar7);\n    pcVar9 = (char *)(iVar2 + 0xb);\n    if (iVar2 == 0) goto LAB_00011170;\n    piVar4 = (int *)(**(code **)(puVar10 + 0x11120))();\n  } while (((*(ushort *)(*piVar4 + *(char *)(iVar2 + 0xb) * 2) & 8) == 0) ||\n          (iVar2 = (**(code **)(puVar10 + 0x11154))(pcVar9,0x3a), iVar2 != 0));\n  iVar2 = *(int *)(puVar10 + 0x110f4);\n  (**(code **)(puVar10 + 0x11140))((char *)(iVar2 + 0x2174),0,0x110);\n  pcVar5 = sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x1768));\n  if (pcVar5 != (char *)0x0) {\n    uVar6 = (**(code **)(puVar10 + 0x11158))(pcVar5,0,10);\n    *(undefined4 *)(iVar2 + 0x2174) = uVar6;\n  }\n  pcVar5 = sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 6000));\n  if (pcVar5 != (char *)0x0) {\n    uVar6 = (**(code **)(puVar10 + 0x11158))(pcVar5,0,10);\n    *(undefined4 *)(iVar2 + 0x2178) = uVar6;\n  }\n  pcVar5 = sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x1778));\n  if (pcVar5 != (char *)0x0) {\n    uVar6 = (**(code **)(puVar10 + 0x11158))(pcVar5,0,0x10);\n    *(undefined4 *)(iVar2 + 0x217c) = uVar6;\n  }\n  pcVar5 = sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x1784));\n  if (pcVar5 != (char *)0x0) {\n    uVar6 = (**(code **)(puVar10 + 0x11158))(pcVar5,0,0x10);\n    *(undefined4 *)(iVar2 + 0x2180) = uVar6;\n  }\n  pcVar5 = sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x1790));\n  if (pcVar5 != (char *)0x0) {\n    (**(code **)(puVar10 + 0x1116c))(*(int *)(puVar10 + 0x110f4) + 0x2184,pcVar5);\n  }\n  pcVar9 = sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x17a0));\n  if (pcVar9 != (char *)0x0) {\n    (**(code **)(puVar10 + 0x1116c))(*(int *)(puVar10 + 0x110f4) + 0x2204,pcVar9);\n  }\n  pcVar9 = (char *)0x0;\n  if ((((*(int *)(iVar2 + 0x2174) != 0) && (pcVar9 = (char *)0x0, *(int *)(iVar2 + 0x2178) != 0)) &&\n      (pcVar9 = (char *)0x0, *(int *)(iVar2 + 0x217c) != 0)) &&\n     (pcVar9 = (char *)(iVar2 + 0x2174), *(int *)(iVar2 + 0x2180) == 0)) {\nLAB_00011170:\n    pcVar9 = (char *)0x0;\n  }\n  return pcVar9;\n}\n\n" (function_definition "char * sysfs_attr(char *dev,char *attr)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  int *piVar4;\n  char *pcVar5;\n  undefined4 uVar6;\n  int iVar7;\n  char *pcVar8;\n  char *pcVar9;\n  undefined *puVar10;\n  char path [4096];\n  \n  puVar1 = PTR___stack_chk_guard_000220c0;\n  puVar10 = PTR_DAT_00022038;\n  pcVar9 = PTR_DAT_00022038 + 0x20f0;\n  iVar7 = *(int *)PTR___stack_chk_guard_000220c0;\n  (*(code *)PTR_memset_00022084)(pcVar9,0,0x81);\n  (*(code *)PTR_snprintf_00022080)(path,0xfff,PTR_00022044 + 0x174c,dev,attr);\n  iVar2 = (*(code *)PTR_open_000220a0)(path,0);\n  if (-1 < iVar2) {\n    iVar3 = (*(code *)PTR_read_000220d0)(iVar2,pcVar9,0x80);\n    (*(code *)PTR_close_00022070)(iVar2);\n    pcVar5 = (char *)(iVar3 + -1);\n    if (0 < (int)pcVar5) {\n      piVar4 = (int *)(*(code *)PTR___ctype_b_loc_00022064)();\n      pcVar8 = pcVar9 + iVar3;\n      do {\n        pcVar5 = pcVar8 + (-2 - (int)pcVar9);\n        if ((*(ushort *)(*piVar4 + pcVar8[-1] * 2) & 0x20) == 0) goto LAB_00010e68;\n        pcVar8[-1] = '\0';\n        pcVar8 = pcVar8 + -1;\n      } while (pcVar8 != puVar10 + 0x20f1);\n    }\n    if (-1 < (int)pcVar5) goto LAB_00010e68;\n  }\n  pcVar9 = (char *)0x0;\nLAB_00010e68:\n  if (iVar7 == *(int *)puVar1) {\n    return pcVar9;\n  }\n  puVar10 = PTR___stack_chk_fail_000220bc;\n  (*(code *)PTR___stack_chk_fail_000220bc)();\n  do {\n    iVar2 = (**(code **)(puVar10 + 0x11134))(iVar7);\n    pcVar9 = (char *)(iVar2 + 0xb);\n    if (iVar2 == 0) goto LAB_00011170;\n    piVar4 = (int *)(**(code **)(puVar10 + 0x11120))();\n  } while (((*(ushort *)(*piVar4 + *(char *)(iVar2 + 0xb) * 2) & 8) == 0) ||\n          (iVar2 = (**(code **)(puVar10 + 0x11154))(pcVar9,0x3a), iVar2 != 0));\n  iVar2 = *(int *)(puVar10 + 0x110f4);\n  (**(code **)(puVar10 + 0x11140))((char *)(iVar2 + 0x2174),0,0x110);\n  pcVar5 = sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x1768));\n  if (pcVar5 != (char *)0x0) {\n    uVar6 = (**(code **)(puVar10 + 0x11158))(pcVar5,0,10);\n    *(undefined4 *)(iVar2 + 0x2174) = uVar6;\n  }\n  pcVar5 = sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 6000));\n  if (pcVar5 != (char *)0x0) {\n    uVar6 = (**(code **)(puVar10 + 0x11158))(pcVar5,0,10);\n    *(undefined4 *)(iVar2 + 0x2178) = uVar6;\n  }\n  pcVar5 = sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x1778));\n  if (pcVar5 != (char *)0x0) {\n    uVar6 = (**(code **)(puVar10 + 0x11158))(pcVar5,0,0x10);\n    *(undefined4 *)(iVar2 + 0x217c) = uVar6;\n  }\n  pcVar5 = sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x1784));\n  if (pcVar5 != (char *)0x0) {\n    uVar6 = (**(code **)(puVar10 + 0x11158))(pcVar5,0,0x10);\n    *(undefined4 *)(iVar2 + 0x2180) = uVar6;\n  }\n  pcVar5 = sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x1790));\n  if (pcVar5 != (char *)0x0) {\n    (**(code **)(puVar10 + 0x1116c))(*(int *)(puVar10 + 0x110f4) + 0x2184,pcVar5);\n  }\n  pcVar9 = sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x17a0));\n  if (pcVar9 != (char *)0x0) {\n    (**(code **)(puVar10 + 0x1116c))(*(int *)(puVar10 + 0x110f4) + 0x2204,pcVar9);\n  }\n  pcVar9 = (char *)0x0;\n  if ((((*(int *)(iVar2 + 0x2174) != 0) && (pcVar9 = (char *)0x0, *(int *)(iVar2 + 0x2178) != 0)) &&\n      (pcVar9 = (char *)0x0, *(int *)(iVar2 + 0x217c) != 0)) &&\n     (pcVar9 = (char *)(iVar2 + 0x2174), *(int *)(iVar2 + 0x2180) == 0)) {\nLAB_00011170:\n    pcVar9 = (char *)0x0;\n  }\n  return pcVar9;\n}" primitive_type (pointer_declarator "* sysfs_attr(char *dev,char *attr)" * (function_declarator "sysfs_attr(char *dev,char *attr)" identifier (parameter_list "(char *dev,char *attr)" ( (parameter_declaration "char *dev" primitive_type (pointer_declarator "*dev" * identifier)) , (parameter_declaration "char *attr" primitive_type (pointer_declarator "*attr" * identifier)) )))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  int *piVar4;\n  char *pcVar5;\n  undefined4 uVar6;\n  int iVar7;\n  char *pcVar8;\n  char *pcVar9;\n  undefined *puVar10;\n  char path [4096];\n  \n  puVar1 = PTR___stack_chk_guard_000220c0;\n  puVar10 = PTR_DAT_00022038;\n  pcVar9 = PTR_DAT_00022038 + 0x20f0;\n  iVar7 = *(int *)PTR___stack_chk_guard_000220c0;\n  (*(code *)PTR_memset_00022084)(pcVar9,0,0x81);\n  (*(code *)PTR_snprintf_00022080)(path,0xfff,PTR_00022044 + 0x174c,dev,attr);\n  iVar2 = (*(code *)PTR_open_000220a0)(path,0);\n  if (-1 < iVar2) {\n    iVar3 = (*(code *)PTR_read_000220d0)(iVar2,pcVar9,0x80);\n    (*(code *)PTR_close_00022070)(iVar2);\n    pcVar5 = (char *)(iVar3 + -1);\n    if (0 < (int)pcVar5) {\n      piVar4 = (int *)(*(code *)PTR___ctype_b_loc_00022064)();\n      pcVar8 = pcVar9 + iVar3;\n      do {\n        pcVar5 = pcVar8 + (-2 - (int)pcVar9);\n        if ((*(ushort *)(*piVar4 + pcVar8[-1] * 2) & 0x20) == 0) goto LAB_00010e68;\n        pcVar8[-1] = '\0';\n        pcVar8 = pcVar8 + -1;\n      } while (pcVar8 != puVar10 + 0x20f1);\n    }\n    if (-1 < (int)pcVar5) goto LAB_00010e68;\n  }\n  pcVar9 = (char *)0x0;\nLAB_00010e68:\n  if (iVar7 == *(int *)puVar1) {\n    return pcVar9;\n  }\n  puVar10 = PTR___stack_chk_fail_000220bc;\n  (*(code *)PTR___stack_chk_fail_000220bc)();\n  do {\n    iVar2 = (**(code **)(puVar10 + 0x11134))(iVar7);\n    pcVar9 = (char *)(iVar2 + 0xb);\n    if (iVar2 == 0) goto LAB_00011170;\n    piVar4 = (int *)(**(code **)(puVar10 + 0x11120))();\n  } while (((*(ushort *)(*piVar4 + *(char *)(iVar2 + 0xb) * 2) & 8) == 0) ||\n          (iVar2 = (**(code **)(puVar10 + 0x11154))(pcVar9,0x3a), iVar2 != 0));\n  iVar2 = *(int *)(puVar10 + 0x110f4);\n  (**(code **)(puVar10 + 0x11140))((char *)(iVar2 + 0x2174),0,0x110);\n  pcVar5 = sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x1768));\n  if (pcVar5 != (char *)0x0) {\n    uVar6 = (**(code **)(puVar10 + 0x11158))(pcVar5,0,10);\n    *(undefined4 *)(iVar2 + 0x2174) = uVar6;\n  }\n  pcVar5 = sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 6000));\n  if (pcVar5 != (char *)0x0) {\n    uVar6 = (**(code **)(puVar10 + 0x11158))(pcVar5,0,10);\n    *(undefined4 *)(iVar2 + 0x2178) = uVar6;\n  }\n  pcVar5 = sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x1778));\n  if (pcVar5 != (char *)0x0) {\n    uVar6 = (**(code **)(puVar10 + 0x11158))(pcVar5,0,0x10);\n    *(undefined4 *)(iVar2 + 0x217c) = uVar6;\n  }\n  pcVar5 = sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x1784));\n  if (pcVar5 != (char *)0x0) {\n    uVar6 = (**(code **)(puVar10 + 0x11158))(pcVar5,0,0x10);\n    *(undefined4 *)(iVar2 + 0x2180) = uVar6;\n  }\n  pcVar5 = sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x1790));\n  if (pcVar5 != (char *)0x0) {\n    (**(code **)(puVar10 + 0x1116c))(*(int *)(puVar10 + 0x110f4) + 0x2184,pcVar5);\n  }\n  pcVar9 = sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x17a0));\n  if (pcVar9 != (char *)0x0) {\n    (**(code **)(puVar10 + 0x1116c))(*(int *)(puVar10 + 0x110f4) + 0x2204,pcVar9);\n  }\n  pcVar9 = (char *)0x0;\n  if ((((*(int *)(iVar2 + 0x2174) != 0) && (pcVar9 = (char *)0x0, *(int *)(iVar2 + 0x2178) != 0)) &&\n      (pcVar9 = (char *)0x0, *(int *)(iVar2 + 0x217c) != 0)) &&\n     (pcVar9 = (char *)(iVar2 + 0x2174), *(int *)(iVar2 + 0x2180) == 0)) {\nLAB_00011170:\n    pcVar9 = (char *)0x0;\n  }\n  return pcVar9;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "char path [4096];" primitive_type (array_declarator "path [4096]" identifier [ number_literal ]) ;) (expression_statement "puVar1 = PTR___stack_chk_guard_000220c0;" (assignment_expression "puVar1 = PTR___stack_chk_guard_000220c0" identifier = identifier) ;) (expression_statement "puVar10 = PTR_DAT_00022038;" (assignment_expression "puVar10 = PTR_DAT_00022038" identifier = identifier) ;) (expression_statement "pcVar9 = PTR_DAT_00022038 + 0x20f0;" (assignment_expression "pcVar9 = PTR_DAT_00022038 + 0x20f0" identifier = (binary_expression "PTR_DAT_00022038 + 0x20f0" identifier + number_literal)) ;) (expression_statement "iVar7 = *(int *)PTR___stack_chk_guard_000220c0;" (assignment_expression "iVar7 = *(int *)PTR___stack_chk_guard_000220c0" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000220c0" * (cast_expression "(int *)PTR___stack_chk_guard_000220c0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "(*(code *)PTR_memset_00022084)(pcVar9,0,0x81);" (call_expression "(*(code *)PTR_memset_00022084)(pcVar9,0,0x81)" (parenthesized_expression "(*(code *)PTR_memset_00022084)" ( (pointer_expression "*(code *)PTR_memset_00022084" * (cast_expression "(code *)PTR_memset_00022084" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar9,0,0x81)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "(*(code *)PTR_snprintf_00022080)(path,0xfff,PTR_00022044 + 0x174c,dev,attr);" (call_expression "(*(code *)PTR_snprintf_00022080)(path,0xfff,PTR_00022044 + 0x174c,dev,attr)" (parenthesized_expression "(*(code *)PTR_snprintf_00022080)" ( (pointer_expression "*(code *)PTR_snprintf_00022080" * (cast_expression "(code *)PTR_snprintf_00022080" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(path,0xfff,PTR_00022044 + 0x174c,dev,attr)" ( identifier , number_literal , (binary_expression "PTR_00022044 + 0x174c" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "iVar2 = (*(code *)PTR_open_000220a0)(path,0);" (assignment_expression "iVar2 = (*(code *)PTR_open_000220a0)(path,0)" identifier = (call_expression "(*(code *)PTR_open_000220a0)(path,0)" (parenthesized_expression "(*(code *)PTR_open_000220a0)" ( (pointer_expression "*(code *)PTR_open_000220a0" * (cast_expression "(code *)PTR_open_000220a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(path,0)" ( identifier , number_literal )))) ;) (if_statement "if (-1 < iVar2) {\n    iVar3 = (*(code *)PTR_read_000220d0)(iVar2,pcVar9,0x80);\n    (*(code *)PTR_close_00022070)(iVar2);\n    pcVar5 = (char *)(iVar3 + -1);\n    if (0 < (int)pcVar5) {\n      piVar4 = (int *)(*(code *)PTR___ctype_b_loc_00022064)();\n      pcVar8 = pcVar9 + iVar3;\n      do {\n        pcVar5 = pcVar8 + (-2 - (int)pcVar9);\n        if ((*(ushort *)(*piVar4 + pcVar8[-1] * 2) & 0x20) == 0) goto LAB_00010e68;\n        pcVar8[-1] = '\0';\n        pcVar8 = pcVar8 + -1;\n      } while (pcVar8 != puVar10 + 0x20f1);\n    }\n    if (-1 < (int)pcVar5) goto LAB_00010e68;\n  }" if (parenthesized_expression "(-1 < iVar2)" ( (binary_expression "-1 < iVar2" number_literal < identifier) )) (compound_statement "{\n    iVar3 = (*(code *)PTR_read_000220d0)(iVar2,pcVar9,0x80);\n    (*(code *)PTR_close_00022070)(iVar2);\n    pcVar5 = (char *)(iVar3 + -1);\n    if (0 < (int)pcVar5) {\n      piVar4 = (int *)(*(code *)PTR___ctype_b_loc_00022064)();\n      pcVar8 = pcVar9 + iVar3;\n      do {\n        pcVar5 = pcVar8 + (-2 - (int)pcVar9);\n        if ((*(ushort *)(*piVar4 + pcVar8[-1] * 2) & 0x20) == 0) goto LAB_00010e68;\n        pcVar8[-1] = '\0';\n        pcVar8 = pcVar8 + -1;\n      } while (pcVar8 != puVar10 + 0x20f1);\n    }\n    if (-1 < (int)pcVar5) goto LAB_00010e68;\n  }" { (expression_statement "iVar3 = (*(code *)PTR_read_000220d0)(iVar2,pcVar9,0x80);" (assignment_expression "iVar3 = (*(code *)PTR_read_000220d0)(iVar2,pcVar9,0x80)" identifier = (call_expression "(*(code *)PTR_read_000220d0)(iVar2,pcVar9,0x80)" (parenthesized_expression "(*(code *)PTR_read_000220d0)" ( (pointer_expression "*(code *)PTR_read_000220d0" * (cast_expression "(code *)PTR_read_000220d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar2,pcVar9,0x80)" ( identifier , identifier , number_literal )))) ;) (expression_statement "(*(code *)PTR_close_00022070)(iVar2);" (call_expression "(*(code *)PTR_close_00022070)(iVar2)" (parenthesized_expression "(*(code *)PTR_close_00022070)" ( (pointer_expression "*(code *)PTR_close_00022070" * (cast_expression "(code *)PTR_close_00022070" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar2)" ( identifier ))) ;) (expression_statement "pcVar5 = (char *)(iVar3 + -1);" (assignment_expression "pcVar5 = (char *)(iVar3 + -1)" identifier = (cast_expression "(char *)(iVar3 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + -1)" ( (binary_expression "iVar3 + -1" identifier + number_literal) )))) ;) (if_statement "if (0 < (int)pcVar5) {\n      piVar4 = (int *)(*(code *)PTR___ctype_b_loc_00022064)();\n      pcVar8 = pcVar9 + iVar3;\n      do {\n        pcVar5 = pcVar8 + (-2 - (int)pcVar9);\n        if ((*(ushort *)(*piVar4 + pcVar8[-1] * 2) & 0x20) == 0) goto LAB_00010e68;\n        pcVar8[-1] = '\0';\n        pcVar8 = pcVar8 + -1;\n      } while (pcVar8 != puVar10 + 0x20f1);\n    }" if (parenthesized_expression "(0 < (int)pcVar5)" ( (binary_expression "0 < (int)pcVar5" number_literal < (cast_expression "(int)pcVar5" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      piVar4 = (int *)(*(code *)PTR___ctype_b_loc_00022064)();\n      pcVar8 = pcVar9 + iVar3;\n      do {\n        pcVar5 = pcVar8 + (-2 - (int)pcVar9);\n        if ((*(ushort *)(*piVar4 + pcVar8[-1] * 2) & 0x20) == 0) goto LAB_00010e68;\n        pcVar8[-1] = '\0';\n        pcVar8 = pcVar8 + -1;\n      } while (pcVar8 != puVar10 + 0x20f1);\n    }" { (expression_statement "piVar4 = (int *)(*(code *)PTR___ctype_b_loc_00022064)();" (assignment_expression "piVar4 = (int *)(*(code *)PTR___ctype_b_loc_00022064)()" identifier = (cast_expression "(int *)(*(code *)PTR___ctype_b_loc_00022064)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___ctype_b_loc_00022064)()" (parenthesized_expression "(*(code *)PTR___ctype_b_loc_00022064)" ( (pointer_expression "*(code *)PTR___ctype_b_loc_00022064" * (cast_expression "(code *)PTR___ctype_b_loc_00022064" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "pcVar8 = pcVar9 + iVar3;" (assignment_expression "pcVar8 = pcVar9 + iVar3" identifier = (binary_expression "pcVar9 + iVar3" identifier + identifier)) ;) (do_statement "do {\n        pcVar5 = pcVar8 + (-2 - (int)pcVar9);\n        if ((*(ushort *)(*piVar4 + pcVar8[-1] * 2) & 0x20) == 0) goto LAB_00010e68;\n        pcVar8[-1] = '\0';\n        pcVar8 = pcVar8 + -1;\n      } while (pcVar8 != puVar10 + 0x20f1);" do (compound_statement "{\n        pcVar5 = pcVar8 + (-2 - (int)pcVar9);\n        if ((*(ushort *)(*piVar4 + pcVar8[-1] * 2) & 0x20) == 0) goto LAB_00010e68;\n        pcVar8[-1] = '\0';\n        pcVar8 = pcVar8 + -1;\n      }" { (expression_statement "pcVar5 = pcVar8 + (-2 - (int)pcVar9);" (assignment_expression "pcVar5 = pcVar8 + (-2 - (int)pcVar9)" identifier = (binary_expression "pcVar8 + (-2 - (int)pcVar9)" identifier + (parenthesized_expression "(-2 - (int)pcVar9)" ( (binary_expression "-2 - (int)pcVar9" number_literal - (cast_expression "(int)pcVar9" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if ((*(ushort *)(*piVar4 + pcVar8[-1] * 2) & 0x20) == 0) goto LAB_00010e68;" if (parenthesized_expression "((*(ushort *)(*piVar4 + pcVar8[-1] * 2) & 0x20) == 0)" ( (binary_expression "(*(ushort *)(*piVar4 + pcVar8[-1] * 2) & 0x20) == 0" (parenthesized_expression "(*(ushort *)(*piVar4 + pcVar8[-1] * 2) & 0x20)" ( (binary_expression "*(ushort *)(*piVar4 + pcVar8[-1] * 2) & 0x20" (pointer_expression "*(ushort *)(*piVar4 + pcVar8[-1] * 2)" * (cast_expression "(ushort *)(*piVar4 + pcVar8[-1] * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar4 + pcVar8[-1] * 2)" ( (binary_expression "*piVar4 + pcVar8[-1] * 2" (pointer_expression "*piVar4" * identifier) + (binary_expression "pcVar8[-1] * 2" (subscript_expression "pcVar8[-1]" identifier [ number_literal ]) * number_literal)) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00010e68;" goto statement_identifier ;)) (expression_statement "pcVar8[-1] = '\0';" (assignment_expression "pcVar8[-1] = '\0'" (subscript_expression "pcVar8[-1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar8 = pcVar8 + -1;" (assignment_expression "pcVar8 = pcVar8 + -1" identifier = (binary_expression "pcVar8 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pcVar8 != puVar10 + 0x20f1)" ( (binary_expression "pcVar8 != puVar10 + 0x20f1" identifier != (binary_expression "puVar10 + 0x20f1" identifier + number_literal)) )) ;) })) (if_statement "if (-1 < (int)pcVar5) goto LAB_00010e68;" if (parenthesized_expression "(-1 < (int)pcVar5)" ( (binary_expression "-1 < (int)pcVar5" number_literal < (cast_expression "(int)pcVar5" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_00010e68;" goto statement_identifier ;)) })) (expression_statement "pcVar9 = (char *)0x0;" (assignment_expression "pcVar9 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00010e68:\n  if (iVar7 == *(int *)puVar1) {\n    return pcVar9;\n  }" statement_identifier : (if_statement "if (iVar7 == *(int *)puVar1) {\n    return pcVar9;\n  }" if (parenthesized_expression "(iVar7 == *(int *)puVar1)" ( (binary_expression "iVar7 == *(int *)puVar1" identifier == (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return pcVar9;\n  }" { (return_statement "return pcVar9;" return identifier ;) }))) (expression_statement "puVar10 = PTR___stack_chk_fail_000220bc;" (assignment_expression "puVar10 = PTR___stack_chk_fail_000220bc" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000220bc)();" (call_expression "(*(code *)PTR___stack_chk_fail_000220bc)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000220bc)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000220bc" * (cast_expression "(code *)PTR___stack_chk_fail_000220bc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (do_statement "do {\n    iVar2 = (**(code **)(puVar10 + 0x11134))(iVar7);\n    pcVar9 = (char *)(iVar2 + 0xb);\n    if (iVar2 == 0) goto LAB_00011170;\n    piVar4 = (int *)(**(code **)(puVar10 + 0x11120))();\n  } while (((*(ushort *)(*piVar4 + *(char *)(iVar2 + 0xb) * 2) & 8) == 0) ||\n          (iVar2 = (**(code **)(puVar10 + 0x11154))(pcVar9,0x3a), iVar2 != 0));" do (compound_statement "{\n    iVar2 = (**(code **)(puVar10 + 0x11134))(iVar7);\n    pcVar9 = (char *)(iVar2 + 0xb);\n    if (iVar2 == 0) goto LAB_00011170;\n    piVar4 = (int *)(**(code **)(puVar10 + 0x11120))();\n  }" { (expression_statement "iVar2 = (**(code **)(puVar10 + 0x11134))(iVar7);" (assignment_expression "iVar2 = (**(code **)(puVar10 + 0x11134))(iVar7)" identifier = (call_expression "(**(code **)(puVar10 + 0x11134))(iVar7)" (parenthesized_expression "(**(code **)(puVar10 + 0x11134))" ( (pointer_expression "**(code **)(puVar10 + 0x11134)" * (pointer_expression "*(code **)(puVar10 + 0x11134)" * (cast_expression "(code **)(puVar10 + 0x11134)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x11134)" ( (binary_expression "puVar10 + 0x11134" identifier + number_literal) ))))) )) (argument_list "(iVar7)" ( identifier )))) ;) (expression_statement "pcVar9 = (char *)(iVar2 + 0xb);" (assignment_expression "pcVar9 = (char *)(iVar2 + 0xb)" identifier = (cast_expression "(char *)(iVar2 + 0xb)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb)" ( (binary_expression "iVar2 + 0xb" identifier + number_literal) )))) ;) (if_statement "if (iVar2 == 0) goto LAB_00011170;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00011170;" goto statement_identifier ;)) (expression_statement "piVar4 = (int *)(**(code **)(puVar10 + 0x11120))();" (assignment_expression "piVar4 = (int *)(**(code **)(puVar10 + 0x11120))()" identifier = (cast_expression "(int *)(**(code **)(puVar10 + 0x11120))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar10 + 0x11120))()" (parenthesized_expression "(**(code **)(puVar10 + 0x11120))" ( (pointer_expression "**(code **)(puVar10 + 0x11120)" * (pointer_expression "*(code **)(puVar10 + 0x11120)" * (cast_expression "(code **)(puVar10 + 0x11120)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x11120)" ( (binary_expression "puVar10 + 0x11120" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) }) while (parenthesized_expression "(((*(ushort *)(*piVar4 + *(char *)(iVar2 + 0xb) * 2) & 8) == 0) ||\n          (iVar2 = (**(code **)(puVar10 + 0x11154))(pcVar9,0x3a), iVar2 != 0))" ( (binary_expression "((*(ushort *)(*piVar4 + *(char *)(iVar2 + 0xb) * 2) & 8) == 0) ||\n          (iVar2 = (**(code **)(puVar10 + 0x11154))(pcVar9,0x3a), iVar2 != 0)" (parenthesized_expression "((*(ushort *)(*piVar4 + *(char *)(iVar2 + 0xb) * 2) & 8) == 0)" ( (binary_expression "(*(ushort *)(*piVar4 + *(char *)(iVar2 + 0xb) * 2) & 8) == 0" (parenthesized_expression "(*(ushort *)(*piVar4 + *(char *)(iVar2 + 0xb) * 2) & 8)" ( (binary_expression "*(ushort *)(*piVar4 + *(char *)(iVar2 + 0xb) * 2) & 8" (pointer_expression "*(ushort *)(*piVar4 + *(char *)(iVar2 + 0xb) * 2)" * (cast_expression "(ushort *)(*piVar4 + *(char *)(iVar2 + 0xb) * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar4 + *(char *)(iVar2 + 0xb) * 2)" ( (binary_expression "*piVar4 + *(char *)(iVar2 + 0xb) * 2" (pointer_expression "*piVar4" * identifier) + (binary_expression "*(char *)(iVar2 + 0xb) * 2" (pointer_expression "*(char *)(iVar2 + 0xb)" * (cast_expression "(char *)(iVar2 + 0xb)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb)" ( (binary_expression "iVar2 + 0xb" identifier + number_literal) )))) * number_literal)) )))) & number_literal) )) == number_literal) )) || (parenthesized_expression "(iVar2 = (**(code **)(puVar10 + 0x11154))(pcVar9,0x3a), iVar2 != 0)" ( (comma_expression "iVar2 = (**(code **)(puVar10 + 0x11154))(pcVar9,0x3a), iVar2 != 0" (assignment_expression "iVar2 = (**(code **)(puVar10 + 0x11154))(pcVar9,0x3a)" identifier = (call_expression "(**(code **)(puVar10 + 0x11154))(pcVar9,0x3a)" (parenthesized_expression "(**(code **)(puVar10 + 0x11154))" ( (pointer_expression "**(code **)(puVar10 + 0x11154)" * (pointer_expression "*(code **)(puVar10 + 0x11154)" * (cast_expression "(code **)(puVar10 + 0x11154)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x11154)" ( (binary_expression "puVar10 + 0x11154" identifier + number_literal) ))))) )) (argument_list "(pcVar9,0x3a)" ( identifier , number_literal )))) , (binary_expression "iVar2 != 0" identifier != number_literal)) ))) )) ;) (expression_statement "iVar2 = *(int *)(puVar10 + 0x110f4);" (assignment_expression "iVar2 = *(int *)(puVar10 + 0x110f4)" identifier = (pointer_expression "*(int *)(puVar10 + 0x110f4)" * (cast_expression "(int *)(puVar10 + 0x110f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x110f4)" ( (binary_expression "puVar10 + 0x110f4" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(puVar10 + 0x11140))((char *)(iVar2 + 0x2174),0,0x110);" (call_expression "(**(code **)(puVar10 + 0x11140))((char *)(iVar2 + 0x2174),0,0x110)" (parenthesized_expression "(**(code **)(puVar10 + 0x11140))" ( (pointer_expression "**(code **)(puVar10 + 0x11140)" * (pointer_expression "*(code **)(puVar10 + 0x11140)" * (cast_expression "(code **)(puVar10 + 0x11140)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x11140)" ( (binary_expression "puVar10 + 0x11140" identifier + number_literal) ))))) )) (argument_list "((char *)(iVar2 + 0x2174),0,0x110)" ( (cast_expression "(char *)(iVar2 + 0x2174)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x2174)" ( (binary_expression "iVar2 + 0x2174" identifier + number_literal) ))) , number_literal , number_literal ))) ;) (expression_statement "pcVar5 = sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x1768));" (assignment_expression "pcVar5 = sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x1768))" identifier = (call_expression "sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x1768))" identifier (argument_list "(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x1768))" ( identifier , (cast_expression "(char *)(*(int *)(puVar10 + 0x11100) + 0x1768)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar10 + 0x11100) + 0x1768)" ( (binary_expression "*(int *)(puVar10 + 0x11100) + 0x1768" (pointer_expression "*(int *)(puVar10 + 0x11100)" * (cast_expression "(int *)(puVar10 + 0x11100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x11100)" ( (binary_expression "puVar10 + 0x11100" identifier + number_literal) )))) + number_literal) ))) )))) ;) (if_statement "if (pcVar5 != (char *)0x0) {\n    uVar6 = (**(code **)(puVar10 + 0x11158))(pcVar5,0,10);\n    *(undefined4 *)(iVar2 + 0x2174) = uVar6;\n  }" if (parenthesized_expression "(pcVar5 != (char *)0x0)" ( (binary_expression "pcVar5 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar6 = (**(code **)(puVar10 + 0x11158))(pcVar5,0,10);\n    *(undefined4 *)(iVar2 + 0x2174) = uVar6;\n  }" { (expression_statement "uVar6 = (**(code **)(puVar10 + 0x11158))(pcVar5,0,10);" (assignment_expression "uVar6 = (**(code **)(puVar10 + 0x11158))(pcVar5,0,10)" identifier = (call_expression "(**(code **)(puVar10 + 0x11158))(pcVar5,0,10)" (parenthesized_expression "(**(code **)(puVar10 + 0x11158))" ( (pointer_expression "**(code **)(puVar10 + 0x11158)" * (pointer_expression "*(code **)(puVar10 + 0x11158)" * (cast_expression "(code **)(puVar10 + 0x11158)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x11158)" ( (binary_expression "puVar10 + 0x11158" identifier + number_literal) ))))) )) (argument_list "(pcVar5,0,10)" ( identifier , number_literal , number_literal )))) ;) (expression_statement "*(undefined4 *)(iVar2 + 0x2174) = uVar6;" (assignment_expression "*(undefined4 *)(iVar2 + 0x2174) = uVar6" (pointer_expression "*(undefined4 *)(iVar2 + 0x2174)" * (cast_expression "(undefined4 *)(iVar2 + 0x2174)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x2174)" ( (binary_expression "iVar2 + 0x2174" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "pcVar5 = sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 6000));" (assignment_expression "pcVar5 = sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 6000))" identifier = (call_expression "sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 6000))" identifier (argument_list "(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 6000))" ( identifier , (cast_expression "(char *)(*(int *)(puVar10 + 0x11100) + 6000)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar10 + 0x11100) + 6000)" ( (binary_expression "*(int *)(puVar10 + 0x11100) + 6000" (pointer_expression "*(int *)(puVar10 + 0x11100)" * (cast_expression "(int *)(puVar10 + 0x11100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x11100)" ( (binary_expression "puVar10 + 0x11100" identifier + number_literal) )))) + number_literal) ))) )))) ;) (if_statement "if (pcVar5 != (char *)0x0) {\n    uVar6 = (**(code **)(puVar10 + 0x11158))(pcVar5,0,10);\n    *(undefined4 *)(iVar2 + 0x2178) = uVar6;\n  }" if (parenthesized_expression "(pcVar5 != (char *)0x0)" ( (binary_expression "pcVar5 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar6 = (**(code **)(puVar10 + 0x11158))(pcVar5,0,10);\n    *(undefined4 *)(iVar2 + 0x2178) = uVar6;\n  }" { (expression_statement "uVar6 = (**(code **)(puVar10 + 0x11158))(pcVar5,0,10);" (assignment_expression "uVar6 = (**(code **)(puVar10 + 0x11158))(pcVar5,0,10)" identifier = (call_expression "(**(code **)(puVar10 + 0x11158))(pcVar5,0,10)" (parenthesized_expression "(**(code **)(puVar10 + 0x11158))" ( (pointer_expression "**(code **)(puVar10 + 0x11158)" * (pointer_expression "*(code **)(puVar10 + 0x11158)" * (cast_expression "(code **)(puVar10 + 0x11158)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x11158)" ( (binary_expression "puVar10 + 0x11158" identifier + number_literal) ))))) )) (argument_list "(pcVar5,0,10)" ( identifier , number_literal , number_literal )))) ;) (expression_statement "*(undefined4 *)(iVar2 + 0x2178) = uVar6;" (assignment_expression "*(undefined4 *)(iVar2 + 0x2178) = uVar6" (pointer_expression "*(undefined4 *)(iVar2 + 0x2178)" * (cast_expression "(undefined4 *)(iVar2 + 0x2178)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x2178)" ( (binary_expression "iVar2 + 0x2178" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "pcVar5 = sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x1778));" (assignment_expression "pcVar5 = sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x1778))" identifier = (call_expression "sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x1778))" identifier (argument_list "(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x1778))" ( identifier , (cast_expression "(char *)(*(int *)(puVar10 + 0x11100) + 0x1778)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar10 + 0x11100) + 0x1778)" ( (binary_expression "*(int *)(puVar10 + 0x11100) + 0x1778" (pointer_expression "*(int *)(puVar10 + 0x11100)" * (cast_expression "(int *)(puVar10 + 0x11100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x11100)" ( (binary_expression "puVar10 + 0x11100" identifier + number_literal) )))) + number_literal) ))) )))) ;) (if_statement "if (pcVar5 != (char *)0x0) {\n    uVar6 = (**(code **)(puVar10 + 0x11158))(pcVar5,0,0x10);\n    *(undefined4 *)(iVar2 + 0x217c) = uVar6;\n  }" if (parenthesized_expression "(pcVar5 != (char *)0x0)" ( (binary_expression "pcVar5 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar6 = (**(code **)(puVar10 + 0x11158))(pcVar5,0,0x10);\n    *(undefined4 *)(iVar2 + 0x217c) = uVar6;\n  }" { (expression_statement "uVar6 = (**(code **)(puVar10 + 0x11158))(pcVar5,0,0x10);" (assignment_expression "uVar6 = (**(code **)(puVar10 + 0x11158))(pcVar5,0,0x10)" identifier = (call_expression "(**(code **)(puVar10 + 0x11158))(pcVar5,0,0x10)" (parenthesized_expression "(**(code **)(puVar10 + 0x11158))" ( (pointer_expression "**(code **)(puVar10 + 0x11158)" * (pointer_expression "*(code **)(puVar10 + 0x11158)" * (cast_expression "(code **)(puVar10 + 0x11158)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x11158)" ( (binary_expression "puVar10 + 0x11158" identifier + number_literal) ))))) )) (argument_list "(pcVar5,0,0x10)" ( identifier , number_literal , number_literal )))) ;) (expression_statement "*(undefined4 *)(iVar2 + 0x217c) = uVar6;" (assignment_expression "*(undefined4 *)(iVar2 + 0x217c) = uVar6" (pointer_expression "*(undefined4 *)(iVar2 + 0x217c)" * (cast_expression "(undefined4 *)(iVar2 + 0x217c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x217c)" ( (binary_expression "iVar2 + 0x217c" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "pcVar5 = sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x1784));" (assignment_expression "pcVar5 = sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x1784))" identifier = (call_expression "sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x1784))" identifier (argument_list "(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x1784))" ( identifier , (cast_expression "(char *)(*(int *)(puVar10 + 0x11100) + 0x1784)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar10 + 0x11100) + 0x1784)" ( (binary_expression "*(int *)(puVar10 + 0x11100) + 0x1784" (pointer_expression "*(int *)(puVar10 + 0x11100)" * (cast_expression "(int *)(puVar10 + 0x11100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x11100)" ( (binary_expression "puVar10 + 0x11100" identifier + number_literal) )))) + number_literal) ))) )))) ;) (if_statement "if (pcVar5 != (char *)0x0) {\n    uVar6 = (**(code **)(puVar10 + 0x11158))(pcVar5,0,0x10);\n    *(undefined4 *)(iVar2 + 0x2180) = uVar6;\n  }" if (parenthesized_expression "(pcVar5 != (char *)0x0)" ( (binary_expression "pcVar5 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar6 = (**(code **)(puVar10 + 0x11158))(pcVar5,0,0x10);\n    *(undefined4 *)(iVar2 + 0x2180) = uVar6;\n  }" { (expression_statement "uVar6 = (**(code **)(puVar10 + 0x11158))(pcVar5,0,0x10);" (assignment_expression "uVar6 = (**(code **)(puVar10 + 0x11158))(pcVar5,0,0x10)" identifier = (call_expression "(**(code **)(puVar10 + 0x11158))(pcVar5,0,0x10)" (parenthesized_expression "(**(code **)(puVar10 + 0x11158))" ( (pointer_expression "**(code **)(puVar10 + 0x11158)" * (pointer_expression "*(code **)(puVar10 + 0x11158)" * (cast_expression "(code **)(puVar10 + 0x11158)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x11158)" ( (binary_expression "puVar10 + 0x11158" identifier + number_literal) ))))) )) (argument_list "(pcVar5,0,0x10)" ( identifier , number_literal , number_literal )))) ;) (expression_statement "*(undefined4 *)(iVar2 + 0x2180) = uVar6;" (assignment_expression "*(undefined4 *)(iVar2 + 0x2180) = uVar6" (pointer_expression "*(undefined4 *)(iVar2 + 0x2180)" * (cast_expression "(undefined4 *)(iVar2 + 0x2180)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x2180)" ( (binary_expression "iVar2 + 0x2180" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "pcVar5 = sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x1790));" (assignment_expression "pcVar5 = sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x1790))" identifier = (call_expression "sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x1790))" identifier (argument_list "(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x1790))" ( identifier , (cast_expression "(char *)(*(int *)(puVar10 + 0x11100) + 0x1790)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar10 + 0x11100) + 0x1790)" ( (binary_expression "*(int *)(puVar10 + 0x11100) + 0x1790" (pointer_expression "*(int *)(puVar10 + 0x11100)" * (cast_expression "(int *)(puVar10 + 0x11100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x11100)" ( (binary_expression "puVar10 + 0x11100" identifier + number_literal) )))) + number_literal) ))) )))) ;) (if_statement "if (pcVar5 != (char *)0x0) {\n    (**(code **)(puVar10 + 0x1116c))(*(int *)(puVar10 + 0x110f4) + 0x2184,pcVar5);\n  }" if (parenthesized_expression "(pcVar5 != (char *)0x0)" ( (binary_expression "pcVar5 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (**(code **)(puVar10 + 0x1116c))(*(int *)(puVar10 + 0x110f4) + 0x2184,pcVar5);\n  }" { (expression_statement "(**(code **)(puVar10 + 0x1116c))(*(int *)(puVar10 + 0x110f4) + 0x2184,pcVar5);" (call_expression "(**(code **)(puVar10 + 0x1116c))(*(int *)(puVar10 + 0x110f4) + 0x2184,pcVar5)" (parenthesized_expression "(**(code **)(puVar10 + 0x1116c))" ( (pointer_expression "**(code **)(puVar10 + 0x1116c)" * (pointer_expression "*(code **)(puVar10 + 0x1116c)" * (cast_expression "(code **)(puVar10 + 0x1116c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x1116c)" ( (binary_expression "puVar10 + 0x1116c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar10 + 0x110f4) + 0x2184,pcVar5)" ( (binary_expression "*(int *)(puVar10 + 0x110f4) + 0x2184" (pointer_expression "*(int *)(puVar10 + 0x110f4)" * (cast_expression "(int *)(puVar10 + 0x110f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x110f4)" ( (binary_expression "puVar10 + 0x110f4" identifier + number_literal) )))) + number_literal) , identifier ))) ;) })) (expression_statement "pcVar9 = sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x17a0));" (assignment_expression "pcVar9 = sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x17a0))" identifier = (call_expression "sysfs_attr(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x17a0))" identifier (argument_list "(pcVar9,(char *)(*(int *)(puVar10 + 0x11100) + 0x17a0))" ( identifier , (cast_expression "(char *)(*(int *)(puVar10 + 0x11100) + 0x17a0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar10 + 0x11100) + 0x17a0)" ( (binary_expression "*(int *)(puVar10 + 0x11100) + 0x17a0" (pointer_expression "*(int *)(puVar10 + 0x11100)" * (cast_expression "(int *)(puVar10 + 0x11100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x11100)" ( (binary_expression "puVar10 + 0x11100" identifier + number_literal) )))) + number_literal) ))) )))) ;) (if_statement "if (pcVar9 != (char *)0x0) {\n    (**(code **)(puVar10 + 0x1116c))(*(int *)(puVar10 + 0x110f4) + 0x2204,pcVar9);\n  }" if (parenthesized_expression "(pcVar9 != (char *)0x0)" ( (binary_expression "pcVar9 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (**(code **)(puVar10 + 0x1116c))(*(int *)(puVar10 + 0x110f4) + 0x2204,pcVar9);\n  }" { (expression_statement "(**(code **)(puVar10 + 0x1116c))(*(int *)(puVar10 + 0x110f4) + 0x2204,pcVar9);" (call_expression "(**(code **)(puVar10 + 0x1116c))(*(int *)(puVar10 + 0x110f4) + 0x2204,pcVar9)" (parenthesized_expression "(**(code **)(puVar10 + 0x1116c))" ( (pointer_expression "**(code **)(puVar10 + 0x1116c)" * (pointer_expression "*(code **)(puVar10 + 0x1116c)" * (cast_expression "(code **)(puVar10 + 0x1116c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x1116c)" ( (binary_expression "puVar10 + 0x1116c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar10 + 0x110f4) + 0x2204,pcVar9)" ( (binary_expression "*(int *)(puVar10 + 0x110f4) + 0x2204" (pointer_expression "*(int *)(puVar10 + 0x110f4)" * (cast_expression "(int *)(puVar10 + 0x110f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x110f4)" ( (binary_expression "puVar10 + 0x110f4" identifier + number_literal) )))) + number_literal) , identifier ))) ;) })) (expression_statement "pcVar9 = (char *)0x0;" (assignment_expression "pcVar9 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((((*(int *)(iVar2 + 0x2174) != 0) && (pcVar9 = (char *)0x0, *(int *)(iVar2 + 0x2178) != 0)) &&\n      (pcVar9 = (char *)0x0, *(int *)(iVar2 + 0x217c) != 0)) &&\n     (pcVar9 = (char *)(iVar2 + 0x2174), *(int *)(iVar2 + 0x2180) == 0)) {\nLAB_00011170:\n    pcVar9 = (char *)0x0;\n  }" if (parenthesized_expression "((((*(int *)(iVar2 + 0x2174) != 0) && (pcVar9 = (char *)0x0, *(int *)(iVar2 + 0x2178) != 0)) &&\n      (pcVar9 = (char *)0x0, *(int *)(iVar2 + 0x217c) != 0)) &&\n     (pcVar9 = (char *)(iVar2 + 0x2174), *(int *)(iVar2 + 0x2180) == 0))" ( (binary_expression "(((*(int *)(iVar2 + 0x2174) != 0) && (pcVar9 = (char *)0x0, *(int *)(iVar2 + 0x2178) != 0)) &&\n      (pcVar9 = (char *)0x0, *(int *)(iVar2 + 0x217c) != 0)) &&\n     (pcVar9 = (char *)(iVar2 + 0x2174), *(int *)(iVar2 + 0x2180) == 0)" (parenthesized_expression "(((*(int *)(iVar2 + 0x2174) != 0) && (pcVar9 = (char *)0x0, *(int *)(iVar2 + 0x2178) != 0)) &&\n      (pcVar9 = (char *)0x0, *(int *)(iVar2 + 0x217c) != 0))" ( (binary_expression "((*(int *)(iVar2 + 0x2174) != 0) && (pcVar9 = (char *)0x0, *(int *)(iVar2 + 0x2178) != 0)) &&\n      (pcVar9 = (char *)0x0, *(int *)(iVar2 + 0x217c) != 0)" (parenthesized_expression "((*(int *)(iVar2 + 0x2174) != 0) && (pcVar9 = (char *)0x0, *(int *)(iVar2 + 0x2178) != 0))" ( (binary_expression "(*(int *)(iVar2 + 0x2174) != 0) && (pcVar9 = (char *)0x0, *(int *)(iVar2 + 0x2178) != 0)" (parenthesized_expression "(*(int *)(iVar2 + 0x2174) != 0)" ( (binary_expression "*(int *)(iVar2 + 0x2174) != 0" (pointer_expression "*(int *)(iVar2 + 0x2174)" * (cast_expression "(int *)(iVar2 + 0x2174)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x2174)" ( (binary_expression "iVar2 + 0x2174" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(pcVar9 = (char *)0x0, *(int *)(iVar2 + 0x2178) != 0)" ( (comma_expression "pcVar9 = (char *)0x0, *(int *)(iVar2 + 0x2178) != 0" (assignment_expression "pcVar9 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) , (binary_expression "*(int *)(iVar2 + 0x2178) != 0" (pointer_expression "*(int *)(iVar2 + 0x2178)" * (cast_expression "(int *)(iVar2 + 0x2178)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x2178)" ( (binary_expression "iVar2 + 0x2178" identifier + number_literal) )))) != number_literal)) ))) )) && (parenthesized_expression "(pcVar9 = (char *)0x0, *(int *)(iVar2 + 0x217c) != 0)" ( (comma_expression "pcVar9 = (char *)0x0, *(int *)(iVar2 + 0x217c) != 0" (assignment_expression "pcVar9 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) , (binary_expression "*(int *)(iVar2 + 0x217c) != 0" (pointer_expression "*(int *)(iVar2 + 0x217c)" * (cast_expression "(int *)(iVar2 + 0x217c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x217c)" ( (binary_expression "iVar2 + 0x217c" identifier + number_literal) )))) != number_literal)) ))) )) && (parenthesized_expression "(pcVar9 = (char *)(iVar2 + 0x2174), *(int *)(iVar2 + 0x2180) == 0)" ( (comma_expression "pcVar9 = (char *)(iVar2 + 0x2174), *(int *)(iVar2 + 0x2180) == 0" (assignment_expression "pcVar9 = (char *)(iVar2 + 0x2174)" identifier = (cast_expression "(char *)(iVar2 + 0x2174)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x2174)" ( (binary_expression "iVar2 + 0x2174" identifier + number_literal) )))) , (binary_expression "*(int *)(iVar2 + 0x2180) == 0" (pointer_expression "*(int *)(iVar2 + 0x2180)" * (cast_expression "(int *)(iVar2 + 0x2180)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x2180)" ( (binary_expression "iVar2 + 0x2180" identifier + number_literal) )))) == number_literal)) ))) )) (compound_statement "{\nLAB_00011170:\n    pcVar9 = (char *)0x0;\n  }" { (labeled_statement "LAB_00011170:\n    pcVar9 = (char *)0x0;" statement_identifier : (expression_statement "pcVar9 = (char *)0x0;" (assignment_expression "pcVar9 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) })) (return_statement "return pcVar9;" return identifier ;) })))
(translation_unit "undefined * FUN_00010dc0(undefined4 param_1,undefined4 param_2)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  int iVar9;\n  undefined *puVar10;\n  undefined1 auStack_101c [4096];\n  int local_1c;\n  \n  puVar1 = PTR___stack_chk_guard_000220c0;\n  puVar6 = PTR_DAT_00022038;\n  puVar10 = PTR_DAT_00022038 + 0x20f0;\n  local_1c = *(int *)PTR___stack_chk_guard_000220c0;\n  (*(code *)PTR_memset_00022084)(puVar10,0,0x81);\n  (*(code *)PTR_snprintf_00022080)(auStack_101c,0xfff,PTR_00022044 + 0x174c,param_1,param_2);\n  iVar2 = (*(code *)PTR_open_000220a0)(auStack_101c,0);\n  if (-1 < iVar2) {\n    iVar3 = (*(code *)PTR_read_000220d0)(iVar2,puVar10,0x80);\n    (*(code *)PTR_close_00022070)(iVar2);\n    puVar8 = (undefined *)(iVar3 + -1);\n    if (0 < (int)puVar8) {\n      piVar4 = (int *)(*(code *)PTR___ctype_b_loc_00022064)();\n      puVar7 = puVar10 + iVar3;\n      do {\n        puVar8 = puVar7 + (-2 - (int)puVar10);\n        if ((*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20) == 0) goto LAB_00010e68;\n        puVar7[-1] = 0;\n        puVar7 = puVar7 + -1;\n      } while (puVar7 != puVar6 + 0x20f1);\n    }\n    if (-1 < (int)puVar8) goto LAB_00010e68;\n  }\n  puVar10 = (undefined *)0x0;\nLAB_00010e68:\n  if (local_1c == *(int *)puVar1) {\n    return puVar10;\n  }\n  iVar2 = local_1c;\n  puVar6 = PTR___stack_chk_fail_000220bc;\n  (*(code *)PTR___stack_chk_fail_000220bc)();\n  do {\n    iVar3 = (**(code **)(puVar6 + 0x11134))(iVar2);\n    iVar9 = iVar3 + 0xb;\n    if (iVar3 == 0) goto LAB_00011170;\n    piVar4 = (int *)(**(code **)(puVar6 + 0x11120))();\n  } while (((*(ushort *)(*piVar4 + *(char *)(iVar3 + 0xb) * 2) & 8) == 0) ||\n          (iVar3 = (**(code **)(puVar6 + 0x11154))(iVar9,0x3a), iVar3 != 0));\n  iVar3 = *(int *)(puVar6 + 0x110f4);\n  (**(code **)(puVar6 + 0x11140))((undefined *)(iVar3 + 0x2174),0,0x110);\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1768);\n  if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10);\n    *(undefined4 *)(iVar3 + 0x2174) = uVar5;\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 6000);\n  if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10);\n    *(undefined4 *)(iVar3 + 0x2178) = uVar5;\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1778);\n  if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10);\n    *(undefined4 *)(iVar3 + 0x217c) = uVar5;\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1784);\n  if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10);\n    *(undefined4 *)(iVar3 + 0x2180) = uVar5;\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1790);\n  if (iVar2 != 0) {\n    (**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2184,iVar2);\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x17a0);\n  if (iVar2 != 0) {\n    (**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2204,iVar2);\n  }\n  puVar6 = (undefined *)0x0;\n  if ((((*(int *)(iVar3 + 0x2174) != 0) &&\n       (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x2178) != 0)) &&\n      (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x217c) != 0)) &&\n     (puVar6 = (undefined *)(iVar3 + 0x2174), *(int *)(iVar3 + 0x2180) == 0)) {\nLAB_00011170:\n    puVar6 = (undefined *)0x0;\n  }\n  return puVar6;\n}\n\n" (function_definition "undefined * FUN_00010dc0(undefined4 param_1,undefined4 param_2)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  int iVar9;\n  undefined *puVar10;\n  undefined1 auStack_101c [4096];\n  int local_1c;\n  \n  puVar1 = PTR___stack_chk_guard_000220c0;\n  puVar6 = PTR_DAT_00022038;\n  puVar10 = PTR_DAT_00022038 + 0x20f0;\n  local_1c = *(int *)PTR___stack_chk_guard_000220c0;\n  (*(code *)PTR_memset_00022084)(puVar10,0,0x81);\n  (*(code *)PTR_snprintf_00022080)(auStack_101c,0xfff,PTR_00022044 + 0x174c,param_1,param_2);\n  iVar2 = (*(code *)PTR_open_000220a0)(auStack_101c,0);\n  if (-1 < iVar2) {\n    iVar3 = (*(code *)PTR_read_000220d0)(iVar2,puVar10,0x80);\n    (*(code *)PTR_close_00022070)(iVar2);\n    puVar8 = (undefined *)(iVar3 + -1);\n    if (0 < (int)puVar8) {\n      piVar4 = (int *)(*(code *)PTR___ctype_b_loc_00022064)();\n      puVar7 = puVar10 + iVar3;\n      do {\n        puVar8 = puVar7 + (-2 - (int)puVar10);\n        if ((*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20) == 0) goto LAB_00010e68;\n        puVar7[-1] = 0;\n        puVar7 = puVar7 + -1;\n      } while (puVar7 != puVar6 + 0x20f1);\n    }\n    if (-1 < (int)puVar8) goto LAB_00010e68;\n  }\n  puVar10 = (undefined *)0x0;\nLAB_00010e68:\n  if (local_1c == *(int *)puVar1) {\n    return puVar10;\n  }\n  iVar2 = local_1c;\n  puVar6 = PTR___stack_chk_fail_000220bc;\n  (*(code *)PTR___stack_chk_fail_000220bc)();\n  do {\n    iVar3 = (**(code **)(puVar6 + 0x11134))(iVar2);\n    iVar9 = iVar3 + 0xb;\n    if (iVar3 == 0) goto LAB_00011170;\n    piVar4 = (int *)(**(code **)(puVar6 + 0x11120))();\n  } while (((*(ushort *)(*piVar4 + *(char *)(iVar3 + 0xb) * 2) & 8) == 0) ||\n          (iVar3 = (**(code **)(puVar6 + 0x11154))(iVar9,0x3a), iVar3 != 0));\n  iVar3 = *(int *)(puVar6 + 0x110f4);\n  (**(code **)(puVar6 + 0x11140))((undefined *)(iVar3 + 0x2174),0,0x110);\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1768);\n  if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10);\n    *(undefined4 *)(iVar3 + 0x2174) = uVar5;\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 6000);\n  if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10);\n    *(undefined4 *)(iVar3 + 0x2178) = uVar5;\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1778);\n  if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10);\n    *(undefined4 *)(iVar3 + 0x217c) = uVar5;\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1784);\n  if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10);\n    *(undefined4 *)(iVar3 + 0x2180) = uVar5;\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1790);\n  if (iVar2 != 0) {\n    (**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2184,iVar2);\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x17a0);\n  if (iVar2 != 0) {\n    (**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2204,iVar2);\n  }\n  puVar6 = (undefined *)0x0;\n  if ((((*(int *)(iVar3 + 0x2174) != 0) &&\n       (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x2178) != 0)) &&\n      (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x217c) != 0)) &&\n     (puVar6 = (undefined *)(iVar3 + 0x2174), *(int *)(iVar3 + 0x2180) == 0)) {\nLAB_00011170:\n    puVar6 = (undefined *)0x0;\n  }\n  return puVar6;\n}" type_identifier (pointer_declarator "* FUN_00010dc0(undefined4 param_1,undefined4 param_2)" * (function_declarator "FUN_00010dc0(undefined4 param_1,undefined4 param_2)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) )))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  int iVar9;\n  undefined *puVar10;\n  undefined1 auStack_101c [4096];\n  int local_1c;\n  \n  puVar1 = PTR___stack_chk_guard_000220c0;\n  puVar6 = PTR_DAT_00022038;\n  puVar10 = PTR_DAT_00022038 + 0x20f0;\n  local_1c = *(int *)PTR___stack_chk_guard_000220c0;\n  (*(code *)PTR_memset_00022084)(puVar10,0,0x81);\n  (*(code *)PTR_snprintf_00022080)(auStack_101c,0xfff,PTR_00022044 + 0x174c,param_1,param_2);\n  iVar2 = (*(code *)PTR_open_000220a0)(auStack_101c,0);\n  if (-1 < iVar2) {\n    iVar3 = (*(code *)PTR_read_000220d0)(iVar2,puVar10,0x80);\n    (*(code *)PTR_close_00022070)(iVar2);\n    puVar8 = (undefined *)(iVar3 + -1);\n    if (0 < (int)puVar8) {\n      piVar4 = (int *)(*(code *)PTR___ctype_b_loc_00022064)();\n      puVar7 = puVar10 + iVar3;\n      do {\n        puVar8 = puVar7 + (-2 - (int)puVar10);\n        if ((*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20) == 0) goto LAB_00010e68;\n        puVar7[-1] = 0;\n        puVar7 = puVar7 + -1;\n      } while (puVar7 != puVar6 + 0x20f1);\n    }\n    if (-1 < (int)puVar8) goto LAB_00010e68;\n  }\n  puVar10 = (undefined *)0x0;\nLAB_00010e68:\n  if (local_1c == *(int *)puVar1) {\n    return puVar10;\n  }\n  iVar2 = local_1c;\n  puVar6 = PTR___stack_chk_fail_000220bc;\n  (*(code *)PTR___stack_chk_fail_000220bc)();\n  do {\n    iVar3 = (**(code **)(puVar6 + 0x11134))(iVar2);\n    iVar9 = iVar3 + 0xb;\n    if (iVar3 == 0) goto LAB_00011170;\n    piVar4 = (int *)(**(code **)(puVar6 + 0x11120))();\n  } while (((*(ushort *)(*piVar4 + *(char *)(iVar3 + 0xb) * 2) & 8) == 0) ||\n          (iVar3 = (**(code **)(puVar6 + 0x11154))(iVar9,0x3a), iVar3 != 0));\n  iVar3 = *(int *)(puVar6 + 0x110f4);\n  (**(code **)(puVar6 + 0x11140))((undefined *)(iVar3 + 0x2174),0,0x110);\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1768);\n  if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10);\n    *(undefined4 *)(iVar3 + 0x2174) = uVar5;\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 6000);\n  if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10);\n    *(undefined4 *)(iVar3 + 0x2178) = uVar5;\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1778);\n  if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10);\n    *(undefined4 *)(iVar3 + 0x217c) = uVar5;\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1784);\n  if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10);\n    *(undefined4 *)(iVar3 + 0x2180) = uVar5;\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1790);\n  if (iVar2 != 0) {\n    (**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2184,iVar2);\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x17a0);\n  if (iVar2 != 0) {\n    (**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2204,iVar2);\n  }\n  puVar6 = (undefined *)0x0;\n  if ((((*(int *)(iVar3 + 0x2174) != 0) &&\n       (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x2178) != 0)) &&\n      (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x217c) != 0)) &&\n     (puVar6 = (undefined *)(iVar3 + 0x2174), *(int *)(iVar3 + 0x2180) == 0)) {\nLAB_00011170:\n    puVar6 = (undefined *)0x0;\n  }\n  return puVar6;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined1 auStack_101c [4096];" type_identifier (array_declarator "auStack_101c [4096]" identifier [ number_literal ]) ;) (declaration "int local_1c;" primitive_type identifier ;) (expression_statement "puVar1 = PTR___stack_chk_guard_000220c0;" (assignment_expression "puVar1 = PTR___stack_chk_guard_000220c0" identifier = identifier) ;) (expression_statement "puVar6 = PTR_DAT_00022038;" (assignment_expression "puVar6 = PTR_DAT_00022038" identifier = identifier) ;) (expression_statement "puVar10 = PTR_DAT_00022038 + 0x20f0;" (assignment_expression "puVar10 = PTR_DAT_00022038 + 0x20f0" identifier = (binary_expression "PTR_DAT_00022038 + 0x20f0" identifier + number_literal)) ;) (expression_statement "local_1c = *(int *)PTR___stack_chk_guard_000220c0;" (assignment_expression "local_1c = *(int *)PTR___stack_chk_guard_000220c0" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000220c0" * (cast_expression "(int *)PTR___stack_chk_guard_000220c0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "(*(code *)PTR_memset_00022084)(puVar10,0,0x81);" (call_expression "(*(code *)PTR_memset_00022084)(puVar10,0,0x81)" (parenthesized_expression "(*(code *)PTR_memset_00022084)" ( (pointer_expression "*(code *)PTR_memset_00022084" * (cast_expression "(code *)PTR_memset_00022084" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10,0,0x81)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "(*(code *)PTR_snprintf_00022080)(auStack_101c,0xfff,PTR_00022044 + 0x174c,param_1,param_2);" (call_expression "(*(code *)PTR_snprintf_00022080)(auStack_101c,0xfff,PTR_00022044 + 0x174c,param_1,param_2)" (parenthesized_expression "(*(code *)PTR_snprintf_00022080)" ( (pointer_expression "*(code *)PTR_snprintf_00022080" * (cast_expression "(code *)PTR_snprintf_00022080" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_101c,0xfff,PTR_00022044 + 0x174c,param_1,param_2)" ( identifier , number_literal , (binary_expression "PTR_00022044 + 0x174c" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "iVar2 = (*(code *)PTR_open_000220a0)(auStack_101c,0);" (assignment_expression "iVar2 = (*(code *)PTR_open_000220a0)(auStack_101c,0)" identifier = (call_expression "(*(code *)PTR_open_000220a0)(auStack_101c,0)" (parenthesized_expression "(*(code *)PTR_open_000220a0)" ( (pointer_expression "*(code *)PTR_open_000220a0" * (cast_expression "(code *)PTR_open_000220a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_101c,0)" ( identifier , number_literal )))) ;) (if_statement "if (-1 < iVar2) {\n    iVar3 = (*(code *)PTR_read_000220d0)(iVar2,puVar10,0x80);\n    (*(code *)PTR_close_00022070)(iVar2);\n    puVar8 = (undefined *)(iVar3 + -1);\n    if (0 < (int)puVar8) {\n      piVar4 = (int *)(*(code *)PTR___ctype_b_loc_00022064)();\n      puVar7 = puVar10 + iVar3;\n      do {\n        puVar8 = puVar7 + (-2 - (int)puVar10);\n        if ((*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20) == 0) goto LAB_00010e68;\n        puVar7[-1] = 0;\n        puVar7 = puVar7 + -1;\n      } while (puVar7 != puVar6 + 0x20f1);\n    }\n    if (-1 < (int)puVar8) goto LAB_00010e68;\n  }" if (parenthesized_expression "(-1 < iVar2)" ( (binary_expression "-1 < iVar2" number_literal < identifier) )) (compound_statement "{\n    iVar3 = (*(code *)PTR_read_000220d0)(iVar2,puVar10,0x80);\n    (*(code *)PTR_close_00022070)(iVar2);\n    puVar8 = (undefined *)(iVar3 + -1);\n    if (0 < (int)puVar8) {\n      piVar4 = (int *)(*(code *)PTR___ctype_b_loc_00022064)();\n      puVar7 = puVar10 + iVar3;\n      do {\n        puVar8 = puVar7 + (-2 - (int)puVar10);\n        if ((*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20) == 0) goto LAB_00010e68;\n        puVar7[-1] = 0;\n        puVar7 = puVar7 + -1;\n      } while (puVar7 != puVar6 + 0x20f1);\n    }\n    if (-1 < (int)puVar8) goto LAB_00010e68;\n  }" { (expression_statement "iVar3 = (*(code *)PTR_read_000220d0)(iVar2,puVar10,0x80);" (assignment_expression "iVar3 = (*(code *)PTR_read_000220d0)(iVar2,puVar10,0x80)" identifier = (call_expression "(*(code *)PTR_read_000220d0)(iVar2,puVar10,0x80)" (parenthesized_expression "(*(code *)PTR_read_000220d0)" ( (pointer_expression "*(code *)PTR_read_000220d0" * (cast_expression "(code *)PTR_read_000220d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar2,puVar10,0x80)" ( identifier , identifier , number_literal )))) ;) (expression_statement "(*(code *)PTR_close_00022070)(iVar2);" (call_expression "(*(code *)PTR_close_00022070)(iVar2)" (parenthesized_expression "(*(code *)PTR_close_00022070)" ( (pointer_expression "*(code *)PTR_close_00022070" * (cast_expression "(code *)PTR_close_00022070" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar2)" ( identifier ))) ;) (expression_statement "puVar8 = (undefined *)(iVar3 + -1);" (assignment_expression "puVar8 = (undefined *)(iVar3 + -1)" identifier = (cast_expression "(undefined *)(iVar3 + -1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + -1)" ( (binary_expression "iVar3 + -1" identifier + number_literal) )))) ;) (if_statement "if (0 < (int)puVar8) {\n      piVar4 = (int *)(*(code *)PTR___ctype_b_loc_00022064)();\n      puVar7 = puVar10 + iVar3;\n      do {\n        puVar8 = puVar7 + (-2 - (int)puVar10);\n        if ((*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20) == 0) goto LAB_00010e68;\n        puVar7[-1] = 0;\n        puVar7 = puVar7 + -1;\n      } while (puVar7 != puVar6 + 0x20f1);\n    }" if (parenthesized_expression "(0 < (int)puVar8)" ( (binary_expression "0 < (int)puVar8" number_literal < (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      piVar4 = (int *)(*(code *)PTR___ctype_b_loc_00022064)();\n      puVar7 = puVar10 + iVar3;\n      do {\n        puVar8 = puVar7 + (-2 - (int)puVar10);\n        if ((*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20) == 0) goto LAB_00010e68;\n        puVar7[-1] = 0;\n        puVar7 = puVar7 + -1;\n      } while (puVar7 != puVar6 + 0x20f1);\n    }" { (expression_statement "piVar4 = (int *)(*(code *)PTR___ctype_b_loc_00022064)();" (assignment_expression "piVar4 = (int *)(*(code *)PTR___ctype_b_loc_00022064)()" identifier = (cast_expression "(int *)(*(code *)PTR___ctype_b_loc_00022064)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___ctype_b_loc_00022064)()" (parenthesized_expression "(*(code *)PTR___ctype_b_loc_00022064)" ( (pointer_expression "*(code *)PTR___ctype_b_loc_00022064" * (cast_expression "(code *)PTR___ctype_b_loc_00022064" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "puVar7 = puVar10 + iVar3;" (assignment_expression "puVar7 = puVar10 + iVar3" identifier = (binary_expression "puVar10 + iVar3" identifier + identifier)) ;) (do_statement "do {\n        puVar8 = puVar7 + (-2 - (int)puVar10);\n        if ((*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20) == 0) goto LAB_00010e68;\n        puVar7[-1] = 0;\n        puVar7 = puVar7 + -1;\n      } while (puVar7 != puVar6 + 0x20f1);" do (compound_statement "{\n        puVar8 = puVar7 + (-2 - (int)puVar10);\n        if ((*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20) == 0) goto LAB_00010e68;\n        puVar7[-1] = 0;\n        puVar7 = puVar7 + -1;\n      }" { (expression_statement "puVar8 = puVar7 + (-2 - (int)puVar10);" (assignment_expression "puVar8 = puVar7 + (-2 - (int)puVar10)" identifier = (binary_expression "puVar7 + (-2 - (int)puVar10)" identifier + (parenthesized_expression "(-2 - (int)puVar10)" ( (binary_expression "-2 - (int)puVar10" number_literal - (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if ((*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20) == 0) goto LAB_00010e68;" if (parenthesized_expression "((*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20) == 0)" ( (binary_expression "(*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20) == 0" (parenthesized_expression "(*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20)" ( (binary_expression "*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20" (pointer_expression "*(ushort *)(*piVar4 + (char)puVar7[-1] * 2)" * (cast_expression "(ushort *)(*piVar4 + (char)puVar7[-1] * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar4 + (char)puVar7[-1] * 2)" ( (binary_expression "*piVar4 + (char)puVar7[-1] * 2" (pointer_expression "*piVar4" * identifier) + (binary_expression "(char)puVar7[-1] * 2" (cast_expression "(char)puVar7[-1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "puVar7[-1]" identifier [ number_literal ])) * number_literal)) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00010e68;" goto statement_identifier ;)) (expression_statement "puVar7[-1] = 0;" (assignment_expression "puVar7[-1] = 0" (subscript_expression "puVar7[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7 = puVar7 + -1;" (assignment_expression "puVar7 = puVar7 + -1" identifier = (binary_expression "puVar7 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar7 != puVar6 + 0x20f1)" ( (binary_expression "puVar7 != puVar6 + 0x20f1" identifier != (binary_expression "puVar6 + 0x20f1" identifier + number_literal)) )) ;) })) (if_statement "if (-1 < (int)puVar8) goto LAB_00010e68;" if (parenthesized_expression "(-1 < (int)puVar8)" ( (binary_expression "-1 < (int)puVar8" number_literal < (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_00010e68;" goto statement_identifier ;)) })) (expression_statement "puVar10 = (undefined *)0x0;" (assignment_expression "puVar10 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00010e68:\n  if (local_1c == *(int *)puVar1) {\n    return puVar10;\n  }" statement_identifier : (if_statement "if (local_1c == *(int *)puVar1) {\n    return puVar10;\n  }" if (parenthesized_expression "(local_1c == *(int *)puVar1)" ( (binary_expression "local_1c == *(int *)puVar1" identifier == (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return puVar10;\n  }" { (return_statement "return puVar10;" return identifier ;) }))) (expression_statement "iVar2 = local_1c;" (assignment_expression "iVar2 = local_1c" identifier = identifier) ;) (expression_statement "puVar6 = PTR___stack_chk_fail_000220bc;" (assignment_expression "puVar6 = PTR___stack_chk_fail_000220bc" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000220bc)();" (call_expression "(*(code *)PTR___stack_chk_fail_000220bc)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000220bc)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000220bc" * (cast_expression "(code *)PTR___stack_chk_fail_000220bc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (do_statement "do {\n    iVar3 = (**(code **)(puVar6 + 0x11134))(iVar2);\n    iVar9 = iVar3 + 0xb;\n    if (iVar3 == 0) goto LAB_00011170;\n    piVar4 = (int *)(**(code **)(puVar6 + 0x11120))();\n  } while (((*(ushort *)(*piVar4 + *(char *)(iVar3 + 0xb) * 2) & 8) == 0) ||\n          (iVar3 = (**(code **)(puVar6 + 0x11154))(iVar9,0x3a), iVar3 != 0));" do (compound_statement "{\n    iVar3 = (**(code **)(puVar6 + 0x11134))(iVar2);\n    iVar9 = iVar3 + 0xb;\n    if (iVar3 == 0) goto LAB_00011170;\n    piVar4 = (int *)(**(code **)(puVar6 + 0x11120))();\n  }" { (expression_statement "iVar3 = (**(code **)(puVar6 + 0x11134))(iVar2);" (assignment_expression "iVar3 = (**(code **)(puVar6 + 0x11134))(iVar2)" identifier = (call_expression "(**(code **)(puVar6 + 0x11134))(iVar2)" (parenthesized_expression "(**(code **)(puVar6 + 0x11134))" ( (pointer_expression "**(code **)(puVar6 + 0x11134)" * (pointer_expression "*(code **)(puVar6 + 0x11134)" * (cast_expression "(code **)(puVar6 + 0x11134)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x11134)" ( (binary_expression "puVar6 + 0x11134" identifier + number_literal) ))))) )) (argument_list "(iVar2)" ( identifier )))) ;) (expression_statement "iVar9 = iVar3 + 0xb;" (assignment_expression "iVar9 = iVar3 + 0xb" identifier = (binary_expression "iVar3 + 0xb" identifier + number_literal)) ;) (if_statement "if (iVar3 == 0) goto LAB_00011170;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00011170;" goto statement_identifier ;)) (expression_statement "piVar4 = (int *)(**(code **)(puVar6 + 0x11120))();" (assignment_expression "piVar4 = (int *)(**(code **)(puVar6 + 0x11120))()" identifier = (cast_expression "(int *)(**(code **)(puVar6 + 0x11120))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar6 + 0x11120))()" (parenthesized_expression "(**(code **)(puVar6 + 0x11120))" ( (pointer_expression "**(code **)(puVar6 + 0x11120)" * (pointer_expression "*(code **)(puVar6 + 0x11120)" * (cast_expression "(code **)(puVar6 + 0x11120)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x11120)" ( (binary_expression "puVar6 + 0x11120" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) }) while (parenthesized_expression "(((*(ushort *)(*piVar4 + *(char *)(iVar3 + 0xb) * 2) & 8) == 0) ||\n          (iVar3 = (**(code **)(puVar6 + 0x11154))(iVar9,0x3a), iVar3 != 0))" ( (binary_expression "((*(ushort *)(*piVar4 + *(char *)(iVar3 + 0xb) * 2) & 8) == 0) ||\n          (iVar3 = (**(code **)(puVar6 + 0x11154))(iVar9,0x3a), iVar3 != 0)" (parenthesized_expression "((*(ushort *)(*piVar4 + *(char *)(iVar3 + 0xb) * 2) & 8) == 0)" ( (binary_expression "(*(ushort *)(*piVar4 + *(char *)(iVar3 + 0xb) * 2) & 8) == 0" (parenthesized_expression "(*(ushort *)(*piVar4 + *(char *)(iVar3 + 0xb) * 2) & 8)" ( (binary_expression "*(ushort *)(*piVar4 + *(char *)(iVar3 + 0xb) * 2) & 8" (pointer_expression "*(ushort *)(*piVar4 + *(char *)(iVar3 + 0xb) * 2)" * (cast_expression "(ushort *)(*piVar4 + *(char *)(iVar3 + 0xb) * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar4 + *(char *)(iVar3 + 0xb) * 2)" ( (binary_expression "*piVar4 + *(char *)(iVar3 + 0xb) * 2" (pointer_expression "*piVar4" * identifier) + (binary_expression "*(char *)(iVar3 + 0xb) * 2" (pointer_expression "*(char *)(iVar3 + 0xb)" * (cast_expression "(char *)(iVar3 + 0xb)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0xb)" ( (binary_expression "iVar3 + 0xb" identifier + number_literal) )))) * number_literal)) )))) & number_literal) )) == number_literal) )) || (parenthesized_expression "(iVar3 = (**(code **)(puVar6 + 0x11154))(iVar9,0x3a), iVar3 != 0)" ( (comma_expression "iVar3 = (**(code **)(puVar6 + 0x11154))(iVar9,0x3a), iVar3 != 0" (assignment_expression "iVar3 = (**(code **)(puVar6 + 0x11154))(iVar9,0x3a)" identifier = (call_expression "(**(code **)(puVar6 + 0x11154))(iVar9,0x3a)" (parenthesized_expression "(**(code **)(puVar6 + 0x11154))" ( (pointer_expression "**(code **)(puVar6 + 0x11154)" * (pointer_expression "*(code **)(puVar6 + 0x11154)" * (cast_expression "(code **)(puVar6 + 0x11154)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x11154)" ( (binary_expression "puVar6 + 0x11154" identifier + number_literal) ))))) )) (argument_list "(iVar9,0x3a)" ( identifier , number_literal )))) , (binary_expression "iVar3 != 0" identifier != number_literal)) ))) )) ;) (expression_statement "iVar3 = *(int *)(puVar6 + 0x110f4);" (assignment_expression "iVar3 = *(int *)(puVar6 + 0x110f4)" identifier = (pointer_expression "*(int *)(puVar6 + 0x110f4)" * (cast_expression "(int *)(puVar6 + 0x110f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x110f4)" ( (binary_expression "puVar6 + 0x110f4" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(puVar6 + 0x11140))((undefined *)(iVar3 + 0x2174),0,0x110);" (call_expression "(**(code **)(puVar6 + 0x11140))((undefined *)(iVar3 + 0x2174),0,0x110)" (parenthesized_expression "(**(code **)(puVar6 + 0x11140))" ( (pointer_expression "**(code **)(puVar6 + 0x11140)" * (pointer_expression "*(code **)(puVar6 + 0x11140)" * (cast_expression "(code **)(puVar6 + 0x11140)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x11140)" ( (binary_expression "puVar6 + 0x11140" identifier + number_literal) ))))) )) (argument_list "((undefined *)(iVar3 + 0x2174),0,0x110)" ( (cast_expression "(undefined *)(iVar3 + 0x2174)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x2174)" ( (binary_expression "iVar3 + 0x2174" identifier + number_literal) ))) , number_literal , number_literal ))) ;) (expression_statement "iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1768);" (assignment_expression "iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1768)" identifier = (call_expression "FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1768)" identifier (argument_list "(iVar9,*(int *)(puVar6 + 0x11100) + 0x1768)" ( identifier , (binary_expression "*(int *)(puVar6 + 0x11100) + 0x1768" (pointer_expression "*(int *)(puVar6 + 0x11100)" * (cast_expression "(int *)(puVar6 + 0x11100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x11100)" ( (binary_expression "puVar6 + 0x11100" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10);\n    *(undefined4 *)(iVar3 + 0x2174) = uVar5;\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10);\n    *(undefined4 *)(iVar3 + 0x2174) = uVar5;\n  }" { (expression_statement "uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10);" (assignment_expression "uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10)" identifier = (call_expression "(**(code **)(puVar6 + 0x11158))(iVar2,0,10)" (parenthesized_expression "(**(code **)(puVar6 + 0x11158))" ( (pointer_expression "**(code **)(puVar6 + 0x11158)" * (pointer_expression "*(code **)(puVar6 + 0x11158)" * (cast_expression "(code **)(puVar6 + 0x11158)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x11158)" ( (binary_expression "puVar6 + 0x11158" identifier + number_literal) ))))) )) (argument_list "(iVar2,0,10)" ( identifier , number_literal , number_literal )))) ;) (expression_statement "*(undefined4 *)(iVar3 + 0x2174) = uVar5;" (assignment_expression "*(undefined4 *)(iVar3 + 0x2174) = uVar5" (pointer_expression "*(undefined4 *)(iVar3 + 0x2174)" * (cast_expression "(undefined4 *)(iVar3 + 0x2174)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x2174)" ( (binary_expression "iVar3 + 0x2174" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 6000);" (assignment_expression "iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 6000)" identifier = (call_expression "FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 6000)" identifier (argument_list "(iVar9,*(int *)(puVar6 + 0x11100) + 6000)" ( identifier , (binary_expression "*(int *)(puVar6 + 0x11100) + 6000" (pointer_expression "*(int *)(puVar6 + 0x11100)" * (cast_expression "(int *)(puVar6 + 0x11100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x11100)" ( (binary_expression "puVar6 + 0x11100" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10);\n    *(undefined4 *)(iVar3 + 0x2178) = uVar5;\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10);\n    *(undefined4 *)(iVar3 + 0x2178) = uVar5;\n  }" { (expression_statement "uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10);" (assignment_expression "uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10)" identifier = (call_expression "(**(code **)(puVar6 + 0x11158))(iVar2,0,10)" (parenthesized_expression "(**(code **)(puVar6 + 0x11158))" ( (pointer_expression "**(code **)(puVar6 + 0x11158)" * (pointer_expression "*(code **)(puVar6 + 0x11158)" * (cast_expression "(code **)(puVar6 + 0x11158)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x11158)" ( (binary_expression "puVar6 + 0x11158" identifier + number_literal) ))))) )) (argument_list "(iVar2,0,10)" ( identifier , number_literal , number_literal )))) ;) (expression_statement "*(undefined4 *)(iVar3 + 0x2178) = uVar5;" (assignment_expression "*(undefined4 *)(iVar3 + 0x2178) = uVar5" (pointer_expression "*(undefined4 *)(iVar3 + 0x2178)" * (cast_expression "(undefined4 *)(iVar3 + 0x2178)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x2178)" ( (binary_expression "iVar3 + 0x2178" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1778);" (assignment_expression "iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1778)" identifier = (call_expression "FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1778)" identifier (argument_list "(iVar9,*(int *)(puVar6 + 0x11100) + 0x1778)" ( identifier , (binary_expression "*(int *)(puVar6 + 0x11100) + 0x1778" (pointer_expression "*(int *)(puVar6 + 0x11100)" * (cast_expression "(int *)(puVar6 + 0x11100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x11100)" ( (binary_expression "puVar6 + 0x11100" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10);\n    *(undefined4 *)(iVar3 + 0x217c) = uVar5;\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10);\n    *(undefined4 *)(iVar3 + 0x217c) = uVar5;\n  }" { (expression_statement "uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10);" (assignment_expression "uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10)" identifier = (call_expression "(**(code **)(puVar6 + 0x11158))(iVar2,0,0x10)" (parenthesized_expression "(**(code **)(puVar6 + 0x11158))" ( (pointer_expression "**(code **)(puVar6 + 0x11158)" * (pointer_expression "*(code **)(puVar6 + 0x11158)" * (cast_expression "(code **)(puVar6 + 0x11158)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x11158)" ( (binary_expression "puVar6 + 0x11158" identifier + number_literal) ))))) )) (argument_list "(iVar2,0,0x10)" ( identifier , number_literal , number_literal )))) ;) (expression_statement "*(undefined4 *)(iVar3 + 0x217c) = uVar5;" (assignment_expression "*(undefined4 *)(iVar3 + 0x217c) = uVar5" (pointer_expression "*(undefined4 *)(iVar3 + 0x217c)" * (cast_expression "(undefined4 *)(iVar3 + 0x217c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x217c)" ( (binary_expression "iVar3 + 0x217c" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1784);" (assignment_expression "iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1784)" identifier = (call_expression "FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1784)" identifier (argument_list "(iVar9,*(int *)(puVar6 + 0x11100) + 0x1784)" ( identifier , (binary_expression "*(int *)(puVar6 + 0x11100) + 0x1784" (pointer_expression "*(int *)(puVar6 + 0x11100)" * (cast_expression "(int *)(puVar6 + 0x11100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x11100)" ( (binary_expression "puVar6 + 0x11100" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10);\n    *(undefined4 *)(iVar3 + 0x2180) = uVar5;\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10);\n    *(undefined4 *)(iVar3 + 0x2180) = uVar5;\n  }" { (expression_statement "uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10);" (assignment_expression "uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10)" identifier = (call_expression "(**(code **)(puVar6 + 0x11158))(iVar2,0,0x10)" (parenthesized_expression "(**(code **)(puVar6 + 0x11158))" ( (pointer_expression "**(code **)(puVar6 + 0x11158)" * (pointer_expression "*(code **)(puVar6 + 0x11158)" * (cast_expression "(code **)(puVar6 + 0x11158)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x11158)" ( (binary_expression "puVar6 + 0x11158" identifier + number_literal) ))))) )) (argument_list "(iVar2,0,0x10)" ( identifier , number_literal , number_literal )))) ;) (expression_statement "*(undefined4 *)(iVar3 + 0x2180) = uVar5;" (assignment_expression "*(undefined4 *)(iVar3 + 0x2180) = uVar5" (pointer_expression "*(undefined4 *)(iVar3 + 0x2180)" * (cast_expression "(undefined4 *)(iVar3 + 0x2180)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x2180)" ( (binary_expression "iVar3 + 0x2180" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1790);" (assignment_expression "iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1790)" identifier = (call_expression "FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1790)" identifier (argument_list "(iVar9,*(int *)(puVar6 + 0x11100) + 0x1790)" ( identifier , (binary_expression "*(int *)(puVar6 + 0x11100) + 0x1790" (pointer_expression "*(int *)(puVar6 + 0x11100)" * (cast_expression "(int *)(puVar6 + 0x11100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x11100)" ( (binary_expression "puVar6 + 0x11100" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar2 != 0) {\n    (**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2184,iVar2);\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    (**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2184,iVar2);\n  }" { (expression_statement "(**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2184,iVar2);" (call_expression "(**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2184,iVar2)" (parenthesized_expression "(**(code **)(puVar6 + 0x1116c))" ( (pointer_expression "**(code **)(puVar6 + 0x1116c)" * (pointer_expression "*(code **)(puVar6 + 0x1116c)" * (cast_expression "(code **)(puVar6 + 0x1116c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x1116c)" ( (binary_expression "puVar6 + 0x1116c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar6 + 0x110f4) + 0x2184,iVar2)" ( (binary_expression "*(int *)(puVar6 + 0x110f4) + 0x2184" (pointer_expression "*(int *)(puVar6 + 0x110f4)" * (cast_expression "(int *)(puVar6 + 0x110f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x110f4)" ( (binary_expression "puVar6 + 0x110f4" identifier + number_literal) )))) + number_literal) , identifier ))) ;) })) (expression_statement "iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x17a0);" (assignment_expression "iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x17a0)" identifier = (call_expression "FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x17a0)" identifier (argument_list "(iVar9,*(int *)(puVar6 + 0x11100) + 0x17a0)" ( identifier , (binary_expression "*(int *)(puVar6 + 0x11100) + 0x17a0" (pointer_expression "*(int *)(puVar6 + 0x11100)" * (cast_expression "(int *)(puVar6 + 0x11100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x11100)" ( (binary_expression "puVar6 + 0x11100" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar2 != 0) {\n    (**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2204,iVar2);\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    (**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2204,iVar2);\n  }" { (expression_statement "(**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2204,iVar2);" (call_expression "(**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2204,iVar2)" (parenthesized_expression "(**(code **)(puVar6 + 0x1116c))" ( (pointer_expression "**(code **)(puVar6 + 0x1116c)" * (pointer_expression "*(code **)(puVar6 + 0x1116c)" * (cast_expression "(code **)(puVar6 + 0x1116c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x1116c)" ( (binary_expression "puVar6 + 0x1116c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar6 + 0x110f4) + 0x2204,iVar2)" ( (binary_expression "*(int *)(puVar6 + 0x110f4) + 0x2204" (pointer_expression "*(int *)(puVar6 + 0x110f4)" * (cast_expression "(int *)(puVar6 + 0x110f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x110f4)" ( (binary_expression "puVar6 + 0x110f4" identifier + number_literal) )))) + number_literal) , identifier ))) ;) })) (expression_statement "puVar6 = (undefined *)0x0;" (assignment_expression "puVar6 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((((*(int *)(iVar3 + 0x2174) != 0) &&\n       (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x2178) != 0)) &&\n      (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x217c) != 0)) &&\n     (puVar6 = (undefined *)(iVar3 + 0x2174), *(int *)(iVar3 + 0x2180) == 0)) {\nLAB_00011170:\n    puVar6 = (undefined *)0x0;\n  }" if (parenthesized_expression "((((*(int *)(iVar3 + 0x2174) != 0) &&\n       (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x2178) != 0)) &&\n      (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x217c) != 0)) &&\n     (puVar6 = (undefined *)(iVar3 + 0x2174), *(int *)(iVar3 + 0x2180) == 0))" ( (binary_expression "(((*(int *)(iVar3 + 0x2174) != 0) &&\n       (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x2178) != 0)) &&\n      (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x217c) != 0)) &&\n     (puVar6 = (undefined *)(iVar3 + 0x2174), *(int *)(iVar3 + 0x2180) == 0)" (parenthesized_expression "(((*(int *)(iVar3 + 0x2174) != 0) &&\n       (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x2178) != 0)) &&\n      (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x217c) != 0))" ( (binary_expression "((*(int *)(iVar3 + 0x2174) != 0) &&\n       (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x2178) != 0)) &&\n      (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x217c) != 0)" (parenthesized_expression "((*(int *)(iVar3 + 0x2174) != 0) &&\n       (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x2178) != 0))" ( (binary_expression "(*(int *)(iVar3 + 0x2174) != 0) &&\n       (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x2178) != 0)" (parenthesized_expression "(*(int *)(iVar3 + 0x2174) != 0)" ( (binary_expression "*(int *)(iVar3 + 0x2174) != 0" (pointer_expression "*(int *)(iVar3 + 0x2174)" * (cast_expression "(int *)(iVar3 + 0x2174)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x2174)" ( (binary_expression "iVar3 + 0x2174" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x2178) != 0)" ( (comma_expression "puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x2178) != 0" (assignment_expression "puVar6 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) , (binary_expression "*(int *)(iVar3 + 0x2178) != 0" (pointer_expression "*(int *)(iVar3 + 0x2178)" * (cast_expression "(int *)(iVar3 + 0x2178)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x2178)" ( (binary_expression "iVar3 + 0x2178" identifier + number_literal) )))) != number_literal)) ))) )) && (parenthesized_expression "(puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x217c) != 0)" ( (comma_expression "puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x217c) != 0" (assignment_expression "puVar6 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) , (binary_expression "*(int *)(iVar3 + 0x217c) != 0" (pointer_expression "*(int *)(iVar3 + 0x217c)" * (cast_expression "(int *)(iVar3 + 0x217c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x217c)" ( (binary_expression "iVar3 + 0x217c" identifier + number_literal) )))) != number_literal)) ))) )) && (parenthesized_expression "(puVar6 = (undefined *)(iVar3 + 0x2174), *(int *)(iVar3 + 0x2180) == 0)" ( (comma_expression "puVar6 = (undefined *)(iVar3 + 0x2174), *(int *)(iVar3 + 0x2180) == 0" (assignment_expression "puVar6 = (undefined *)(iVar3 + 0x2174)" identifier = (cast_expression "(undefined *)(iVar3 + 0x2174)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x2174)" ( (binary_expression "iVar3 + 0x2174" identifier + number_literal) )))) , (binary_expression "*(int *)(iVar3 + 0x2180) == 0" (pointer_expression "*(int *)(iVar3 + 0x2180)" * (cast_expression "(int *)(iVar3 + 0x2180)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x2180)" ( (binary_expression "iVar3 + 0x2180" identifier + number_literal) )))) == number_literal)) ))) )) (compound_statement "{\nLAB_00011170:\n    puVar6 = (undefined *)0x0;\n  }" { (labeled_statement "LAB_00011170:\n    puVar6 = (undefined *)0x0;" statement_identifier : (expression_statement "puVar6 = (undefined *)0x0;" (assignment_expression "puVar6 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) })) (return_statement "return puVar6;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) )))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , (binary_expression IDENT + LIT) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) * LIT)) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + LIT)) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (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 ( ))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression 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 ( ))))) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) & LIT) )) == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT )))) , (binary_expression IDENT != LIT)) ))) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (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 ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT)) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT)) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT)) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) })) (return_statement return IDENT ;) })))
(function_definition "undefined * FUN_00010dc0(undefined4 param_1,undefined4 param_2)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  int iVar9;\n  undefined *puVar10;\n  undefined1 auStack_101c [4096];\n  int local_1c;\n  \n  puVar1 = PTR___stack_chk_guard_000220c0;\n  puVar6 = PTR_DAT_00022038;\n  puVar10 = PTR_DAT_00022038 + 0x20f0;\n  local_1c = *(int *)PTR___stack_chk_guard_000220c0;\n  (*(code *)PTR_memset_00022084)(puVar10,0,0x81);\n  (*(code *)PTR_snprintf_00022080)(auStack_101c,0xfff,PTR_00022044 + 0x174c,param_1,param_2);\n  iVar2 = (*(code *)PTR_open_000220a0)(auStack_101c,0);\n  if (-1 < iVar2) {\n    iVar3 = (*(code *)PTR_read_000220d0)(iVar2,puVar10,0x80);\n    (*(code *)PTR_close_00022070)(iVar2);\n    puVar8 = (undefined *)(iVar3 + -1);\n    if (0 < (int)puVar8) {\n      piVar4 = (int *)(*(code *)PTR___ctype_b_loc_00022064)();\n      puVar7 = puVar10 + iVar3;\n      do {\n        puVar8 = puVar7 + (-2 - (int)puVar10);\n        if ((*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20) == 0) goto LAB_00010e68;\n        puVar7[-1] = 0;\n        puVar7 = puVar7 + -1;\n      } while (puVar7 != puVar6 + 0x20f1);\n    }\n    if (-1 < (int)puVar8) goto LAB_00010e68;\n  }\n  puVar10 = (undefined *)0x0;\nLAB_00010e68:\n  if (local_1c == *(int *)puVar1) {\n    return puVar10;\n  }\n  iVar2 = local_1c;\n  puVar6 = PTR___stack_chk_fail_000220bc;\n  (*(code *)PTR___stack_chk_fail_000220bc)();\n  do {\n    iVar3 = (**(code **)(puVar6 + 0x11134))(iVar2);\n    iVar9 = iVar3 + 0xb;\n    if (iVar3 == 0) goto LAB_00011170;\n    piVar4 = (int *)(**(code **)(puVar6 + 0x11120))();\n  } while (((*(ushort *)(*piVar4 + *(char *)(iVar3 + 0xb) * 2) & 8) == 0) ||\n          (iVar3 = (**(code **)(puVar6 + 0x11154))(iVar9,0x3a), iVar3 != 0));\n  iVar3 = *(int *)(puVar6 + 0x110f4);\n  (**(code **)(puVar6 + 0x11140))((undefined *)(iVar3 + 0x2174),0,0x110);\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1768);\n  if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10);\n    *(undefined4 *)(iVar3 + 0x2174) = uVar5;\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 6000);\n  if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10);\n    *(undefined4 *)(iVar3 + 0x2178) = uVar5;\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1778);\n  if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10);\n    *(undefined4 *)(iVar3 + 0x217c) = uVar5;\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1784);\n  if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10);\n    *(undefined4 *)(iVar3 + 0x2180) = uVar5;\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1790);\n  if (iVar2 != 0) {\n    (**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2184,iVar2);\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x17a0);\n  if (iVar2 != 0) {\n    (**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2204,iVar2);\n  }\n  puVar6 = (undefined *)0x0;\n  if ((((*(int *)(iVar3 + 0x2174) != 0) &&\n       (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x2178) != 0)) &&\n      (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x217c) != 0)) &&\n     (puVar6 = (undefined *)(iVar3 + 0x2174), *(int *)(iVar3 + 0x2180) == 0)) {\nLAB_00011170:\n    puVar6 = (undefined *)0x0;\n  }\n  return puVar6;\n}" (type_identifier "undefined") (pointer_declarator "* FUN_00010dc0(undefined4 param_1,undefined4 param_2)" (* "*") (function_declarator "FUN_00010dc0(undefined4 param_1,undefined4 param_2)" (identifier "FUN_00010dc0") (parameter_list "(undefined4 param_1,undefined4 param_2)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) () ")")))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  int iVar9;\n  undefined *puVar10;\n  undefined1 auStack_101c [4096];\n  int local_1c;\n  \n  puVar1 = PTR___stack_chk_guard_000220c0;\n  puVar6 = PTR_DAT_00022038;\n  puVar10 = PTR_DAT_00022038 + 0x20f0;\n  local_1c = *(int *)PTR___stack_chk_guard_000220c0;\n  (*(code *)PTR_memset_00022084)(puVar10,0,0x81);\n  (*(code *)PTR_snprintf_00022080)(auStack_101c,0xfff,PTR_00022044 + 0x174c,param_1,param_2);\n  iVar2 = (*(code *)PTR_open_000220a0)(auStack_101c,0);\n  if (-1 < iVar2) {\n    iVar3 = (*(code *)PTR_read_000220d0)(iVar2,puVar10,0x80);\n    (*(code *)PTR_close_00022070)(iVar2);\n    puVar8 = (undefined *)(iVar3 + -1);\n    if (0 < (int)puVar8) {\n      piVar4 = (int *)(*(code *)PTR___ctype_b_loc_00022064)();\n      puVar7 = puVar10 + iVar3;\n      do {\n        puVar8 = puVar7 + (-2 - (int)puVar10);\n        if ((*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20) == 0) goto LAB_00010e68;\n        puVar7[-1] = 0;\n        puVar7 = puVar7 + -1;\n      } while (puVar7 != puVar6 + 0x20f1);\n    }\n    if (-1 < (int)puVar8) goto LAB_00010e68;\n  }\n  puVar10 = (undefined *)0x0;\nLAB_00010e68:\n  if (local_1c == *(int *)puVar1) {\n    return puVar10;\n  }\n  iVar2 = local_1c;\n  puVar6 = PTR___stack_chk_fail_000220bc;\n  (*(code *)PTR___stack_chk_fail_000220bc)();\n  do {\n    iVar3 = (**(code **)(puVar6 + 0x11134))(iVar2);\n    iVar9 = iVar3 + 0xb;\n    if (iVar3 == 0) goto LAB_00011170;\n    piVar4 = (int *)(**(code **)(puVar6 + 0x11120))();\n  } while (((*(ushort *)(*piVar4 + *(char *)(iVar3 + 0xb) * 2) & 8) == 0) ||\n          (iVar3 = (**(code **)(puVar6 + 0x11154))(iVar9,0x3a), iVar3 != 0));\n  iVar3 = *(int *)(puVar6 + 0x110f4);\n  (**(code **)(puVar6 + 0x11140))((undefined *)(iVar3 + 0x2174),0,0x110);\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1768);\n  if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10);\n    *(undefined4 *)(iVar3 + 0x2174) = uVar5;\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 6000);\n  if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10);\n    *(undefined4 *)(iVar3 + 0x2178) = uVar5;\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1778);\n  if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10);\n    *(undefined4 *)(iVar3 + 0x217c) = uVar5;\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1784);\n  if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10);\n    *(undefined4 *)(iVar3 + 0x2180) = uVar5;\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1790);\n  if (iVar2 != 0) {\n    (**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2184,iVar2);\n  }\n  iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x17a0);\n  if (iVar2 != 0) {\n    (**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2204,iVar2);\n  }\n  puVar6 = (undefined *)0x0;\n  if ((((*(int *)(iVar3 + 0x2174) != 0) &&\n       (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x2178) != 0)) &&\n      (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x217c) != 0)) &&\n     (puVar6 = (undefined *)(iVar3 + 0x2174), *(int *)(iVar3 + 0x2180) == 0)) {\nLAB_00011170:\n    puVar6 = (undefined *)0x0;\n  }\n  return puVar6;\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int *piVar4;" (primitive_type "int") (pointer_declarator "*piVar4" (* "*") (identifier "piVar4")) (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "undefined *puVar6;" (type_identifier "undefined") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "undefined *puVar7;" (type_identifier "undefined") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "undefined *puVar8;" (type_identifier "undefined") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "undefined *puVar10;" (type_identifier "undefined") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "undefined1 auStack_101c [4096];" (type_identifier "undefined1") (array_declarator "auStack_101c [4096]" (identifier "auStack_101c") ([ "[") (number_literal "4096") (] "]")) (; ";")) (declaration "int local_1c;" (primitive_type "int") (identifier "local_1c") (; ";")) (expression_statement "puVar1 = PTR___stack_chk_guard_000220c0;" (assignment_expression "puVar1 = PTR___stack_chk_guard_000220c0" (identifier "puVar1") (= "=") (identifier "PTR___stack_chk_guard_000220c0")) (; ";")) (expression_statement "puVar6 = PTR_DAT_00022038;" (assignment_expression "puVar6 = PTR_DAT_00022038" (identifier "puVar6") (= "=") (identifier "PTR_DAT_00022038")) (; ";")) (expression_statement "puVar10 = PTR_DAT_00022038 + 0x20f0;" (assignment_expression "puVar10 = PTR_DAT_00022038 + 0x20f0" (identifier "puVar10") (= "=") (binary_expression "PTR_DAT_00022038 + 0x20f0" (identifier "PTR_DAT_00022038") (+ "+") (number_literal "0x20f0"))) (; ";")) (expression_statement "local_1c = *(int *)PTR___stack_chk_guard_000220c0;" (assignment_expression "local_1c = *(int *)PTR___stack_chk_guard_000220c0" (identifier "local_1c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_000220c0" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_000220c0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_000220c0")))) (; ";")) (expression_statement "(*(code *)PTR_memset_00022084)(puVar10,0,0x81);" (call_expression "(*(code *)PTR_memset_00022084)(puVar10,0,0x81)" (parenthesized_expression "(*(code *)PTR_memset_00022084)" (( "(") (pointer_expression "*(code *)PTR_memset_00022084" (* "*") (cast_expression "(code *)PTR_memset_00022084" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memset_00022084"))) () ")")) (argument_list "(puVar10,0,0x81)" (( "(") (identifier "puVar10") (, ",") (number_literal "0") (, ",") (number_literal "0x81") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_snprintf_00022080)(auStack_101c,0xfff,PTR_00022044 + 0x174c,param_1,param_2);" (call_expression "(*(code *)PTR_snprintf_00022080)(auStack_101c,0xfff,PTR_00022044 + 0x174c,param_1,param_2)" (parenthesized_expression "(*(code *)PTR_snprintf_00022080)" (( "(") (pointer_expression "*(code *)PTR_snprintf_00022080" (* "*") (cast_expression "(code *)PTR_snprintf_00022080" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_snprintf_00022080"))) () ")")) (argument_list "(auStack_101c,0xfff,PTR_00022044 + 0x174c,param_1,param_2)" (( "(") (identifier "auStack_101c") (, ",") (number_literal "0xfff") (, ",") (binary_expression "PTR_00022044 + 0x174c" (identifier "PTR_00022044") (+ "+") (number_literal "0x174c")) (, ",") (identifier "param_1") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "iVar2 = (*(code *)PTR_open_000220a0)(auStack_101c,0);" (assignment_expression "iVar2 = (*(code *)PTR_open_000220a0)(auStack_101c,0)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_open_000220a0)(auStack_101c,0)" (parenthesized_expression "(*(code *)PTR_open_000220a0)" (( "(") (pointer_expression "*(code *)PTR_open_000220a0" (* "*") (cast_expression "(code *)PTR_open_000220a0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_open_000220a0"))) () ")")) (argument_list "(auStack_101c,0)" (( "(") (identifier "auStack_101c") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (-1 < iVar2) {\n    iVar3 = (*(code *)PTR_read_000220d0)(iVar2,puVar10,0x80);\n    (*(code *)PTR_close_00022070)(iVar2);\n    puVar8 = (undefined *)(iVar3 + -1);\n    if (0 < (int)puVar8) {\n      piVar4 = (int *)(*(code *)PTR___ctype_b_loc_00022064)();\n      puVar7 = puVar10 + iVar3;\n      do {\n        puVar8 = puVar7 + (-2 - (int)puVar10);\n        if ((*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20) == 0) goto LAB_00010e68;\n        puVar7[-1] = 0;\n        puVar7 = puVar7 + -1;\n      } while (puVar7 != puVar6 + 0x20f1);\n    }\n    if (-1 < (int)puVar8) goto LAB_00010e68;\n  }" (if "if") (parenthesized_expression "(-1 < iVar2)" (( "(") (binary_expression "-1 < iVar2" (number_literal "-1") (< "<") (identifier "iVar2")) () ")")) (compound_statement "{\n    iVar3 = (*(code *)PTR_read_000220d0)(iVar2,puVar10,0x80);\n    (*(code *)PTR_close_00022070)(iVar2);\n    puVar8 = (undefined *)(iVar3 + -1);\n    if (0 < (int)puVar8) {\n      piVar4 = (int *)(*(code *)PTR___ctype_b_loc_00022064)();\n      puVar7 = puVar10 + iVar3;\n      do {\n        puVar8 = puVar7 + (-2 - (int)puVar10);\n        if ((*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20) == 0) goto LAB_00010e68;\n        puVar7[-1] = 0;\n        puVar7 = puVar7 + -1;\n      } while (puVar7 != puVar6 + 0x20f1);\n    }\n    if (-1 < (int)puVar8) goto LAB_00010e68;\n  }" ({ "{") (expression_statement "iVar3 = (*(code *)PTR_read_000220d0)(iVar2,puVar10,0x80);" (assignment_expression "iVar3 = (*(code *)PTR_read_000220d0)(iVar2,puVar10,0x80)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_read_000220d0)(iVar2,puVar10,0x80)" (parenthesized_expression "(*(code *)PTR_read_000220d0)" (( "(") (pointer_expression "*(code *)PTR_read_000220d0" (* "*") (cast_expression "(code *)PTR_read_000220d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_read_000220d0"))) () ")")) (argument_list "(iVar2,puVar10,0x80)" (( "(") (identifier "iVar2") (, ",") (identifier "puVar10") (, ",") (number_literal "0x80") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_close_00022070)(iVar2);" (call_expression "(*(code *)PTR_close_00022070)(iVar2)" (parenthesized_expression "(*(code *)PTR_close_00022070)" (( "(") (pointer_expression "*(code *)PTR_close_00022070" (* "*") (cast_expression "(code *)PTR_close_00022070" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_close_00022070"))) () ")")) (argument_list "(iVar2)" (( "(") (identifier "iVar2") () ")"))) (; ";")) (expression_statement "puVar8 = (undefined *)(iVar3 + -1);" (assignment_expression "puVar8 = (undefined *)(iVar3 + -1)" (identifier "puVar8") (= "=") (cast_expression "(undefined *)(iVar3 + -1)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + -1)" (( "(") (binary_expression "iVar3 + -1" (identifier "iVar3") (+ "+") (number_literal "-1")) () ")")))) (; ";")) (if_statement "if (0 < (int)puVar8) {\n      piVar4 = (int *)(*(code *)PTR___ctype_b_loc_00022064)();\n      puVar7 = puVar10 + iVar3;\n      do {\n        puVar8 = puVar7 + (-2 - (int)puVar10);\n        if ((*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20) == 0) goto LAB_00010e68;\n        puVar7[-1] = 0;\n        puVar7 = puVar7 + -1;\n      } while (puVar7 != puVar6 + 0x20f1);\n    }" (if "if") (parenthesized_expression "(0 < (int)puVar8)" (( "(") (binary_expression "0 < (int)puVar8" (number_literal "0") (< "<") (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8"))) () ")")) (compound_statement "{\n      piVar4 = (int *)(*(code *)PTR___ctype_b_loc_00022064)();\n      puVar7 = puVar10 + iVar3;\n      do {\n        puVar8 = puVar7 + (-2 - (int)puVar10);\n        if ((*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20) == 0) goto LAB_00010e68;\n        puVar7[-1] = 0;\n        puVar7 = puVar7 + -1;\n      } while (puVar7 != puVar6 + 0x20f1);\n    }" ({ "{") (expression_statement "piVar4 = (int *)(*(code *)PTR___ctype_b_loc_00022064)();" (assignment_expression "piVar4 = (int *)(*(code *)PTR___ctype_b_loc_00022064)()" (identifier "piVar4") (= "=") (cast_expression "(int *)(*(code *)PTR___ctype_b_loc_00022064)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___ctype_b_loc_00022064)()" (parenthesized_expression "(*(code *)PTR___ctype_b_loc_00022064)" (( "(") (pointer_expression "*(code *)PTR___ctype_b_loc_00022064" (* "*") (cast_expression "(code *)PTR___ctype_b_loc_00022064" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___ctype_b_loc_00022064"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "puVar7 = puVar10 + iVar3;" (assignment_expression "puVar7 = puVar10 + iVar3" (identifier "puVar7") (= "=") (binary_expression "puVar10 + iVar3" (identifier "puVar10") (+ "+") (identifier "iVar3"))) (; ";")) (do_statement "do {\n        puVar8 = puVar7 + (-2 - (int)puVar10);\n        if ((*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20) == 0) goto LAB_00010e68;\n        puVar7[-1] = 0;\n        puVar7 = puVar7 + -1;\n      } while (puVar7 != puVar6 + 0x20f1);" (do "do") (compound_statement "{\n        puVar8 = puVar7 + (-2 - (int)puVar10);\n        if ((*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20) == 0) goto LAB_00010e68;\n        puVar7[-1] = 0;\n        puVar7 = puVar7 + -1;\n      }" ({ "{") (expression_statement "puVar8 = puVar7 + (-2 - (int)puVar10);" (assignment_expression "puVar8 = puVar7 + (-2 - (int)puVar10)" (identifier "puVar8") (= "=") (binary_expression "puVar7 + (-2 - (int)puVar10)" (identifier "puVar7") (+ "+") (parenthesized_expression "(-2 - (int)puVar10)" (( "(") (binary_expression "-2 - (int)puVar10" (number_literal "-2") (- "-") (cast_expression "(int)puVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar10"))) () ")")))) (; ";")) (if_statement "if ((*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20) == 0) goto LAB_00010e68;" (if "if") (parenthesized_expression "((*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20) == 0)" (( "(") (binary_expression "(*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20) == 0" (parenthesized_expression "(*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20)" (( "(") (binary_expression "*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20" (pointer_expression "*(ushort *)(*piVar4 + (char)puVar7[-1] * 2)" (* "*") (cast_expression "(ushort *)(*piVar4 + (char)puVar7[-1] * 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar4 + (char)puVar7[-1] * 2)" (( "(") (binary_expression "*piVar4 + (char)puVar7[-1] * 2" (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (+ "+") (binary_expression "(char)puVar7[-1] * 2" (cast_expression "(char)puVar7[-1]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "puVar7[-1]" (identifier "puVar7") ([ "[") (number_literal "-1") (] "]"))) (* "*") (number_literal "2"))) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00010e68;" (goto "goto") (statement_identifier "LAB_00010e68") (; ";"))) (expression_statement "puVar7[-1] = 0;" (assignment_expression "puVar7[-1] = 0" (subscript_expression "puVar7[-1]" (identifier "puVar7") ([ "[") (number_literal "-1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar7 = puVar7 + -1;" (assignment_expression "puVar7 = puVar7 + -1" (identifier "puVar7") (= "=") (binary_expression "puVar7 + -1" (identifier "puVar7") (+ "+") (number_literal "-1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar7 != puVar6 + 0x20f1)" (( "(") (binary_expression "puVar7 != puVar6 + 0x20f1" (identifier "puVar7") (!= "!=") (binary_expression "puVar6 + 0x20f1" (identifier "puVar6") (+ "+") (number_literal "0x20f1"))) () ")")) (; ";")) (} "}"))) (if_statement "if (-1 < (int)puVar8) goto LAB_00010e68;" (if "if") (parenthesized_expression "(-1 < (int)puVar8)" (( "(") (binary_expression "-1 < (int)puVar8" (number_literal "-1") (< "<") (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8"))) () ")")) (goto_statement "goto LAB_00010e68;" (goto "goto") (statement_identifier "LAB_00010e68") (; ";"))) (} "}"))) (expression_statement "puVar10 = (undefined *)0x0;" (assignment_expression "puVar10 = (undefined *)0x0" (identifier "puVar10") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (labeled_statement "LAB_00010e68:\n  if (local_1c == *(int *)puVar1) {\n    return puVar10;\n  }" (statement_identifier "LAB_00010e68") (: ":") (if_statement "if (local_1c == *(int *)puVar1) {\n    return puVar10;\n  }" (if "if") (parenthesized_expression "(local_1c == *(int *)puVar1)" (( "(") (binary_expression "local_1c == *(int *)puVar1" (identifier "local_1c") (== "==") (pointer_expression "*(int *)puVar1" (* "*") (cast_expression "(int *)puVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1")))) () ")")) (compound_statement "{\n    return puVar10;\n  }" ({ "{") (return_statement "return puVar10;" (return "return") (identifier "puVar10") (; ";")) (} "}")))) (expression_statement "iVar2 = local_1c;" (assignment_expression "iVar2 = local_1c" (identifier "iVar2") (= "=") (identifier "local_1c")) (; ";")) (expression_statement "puVar6 = PTR___stack_chk_fail_000220bc;" (assignment_expression "puVar6 = PTR___stack_chk_fail_000220bc" (identifier "puVar6") (= "=") (identifier "PTR___stack_chk_fail_000220bc")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_000220bc)();" (call_expression "(*(code *)PTR___stack_chk_fail_000220bc)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000220bc)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_000220bc" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_000220bc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_000220bc"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (do_statement "do {\n    iVar3 = (**(code **)(puVar6 + 0x11134))(iVar2);\n    iVar9 = iVar3 + 0xb;\n    if (iVar3 == 0) goto LAB_00011170;\n    piVar4 = (int *)(**(code **)(puVar6 + 0x11120))();\n  } while (((*(ushort *)(*piVar4 + *(char *)(iVar3 + 0xb) * 2) & 8) == 0) ||\n          (iVar3 = (**(code **)(puVar6 + 0x11154))(iVar9,0x3a), iVar3 != 0));" (do "do") (compound_statement "{\n    iVar3 = (**(code **)(puVar6 + 0x11134))(iVar2);\n    iVar9 = iVar3 + 0xb;\n    if (iVar3 == 0) goto LAB_00011170;\n    piVar4 = (int *)(**(code **)(puVar6 + 0x11120))();\n  }" ({ "{") (expression_statement "iVar3 = (**(code **)(puVar6 + 0x11134))(iVar2);" (assignment_expression "iVar3 = (**(code **)(puVar6 + 0x11134))(iVar2)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar6 + 0x11134))(iVar2)" (parenthesized_expression "(**(code **)(puVar6 + 0x11134))" (( "(") (pointer_expression "**(code **)(puVar6 + 0x11134)" (* "*") (pointer_expression "*(code **)(puVar6 + 0x11134)" (* "*") (cast_expression "(code **)(puVar6 + 0x11134)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar6 + 0x11134)" (( "(") (binary_expression "puVar6 + 0x11134" (identifier "puVar6") (+ "+") (number_literal "0x11134")) () ")"))))) () ")")) (argument_list "(iVar2)" (( "(") (identifier "iVar2") () ")")))) (; ";")) (expression_statement "iVar9 = iVar3 + 0xb;" (assignment_expression "iVar9 = iVar3 + 0xb" (identifier "iVar9") (= "=") (binary_expression "iVar3 + 0xb" (identifier "iVar3") (+ "+") (number_literal "0xb"))) (; ";")) (if_statement "if (iVar3 == 0) goto LAB_00011170;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00011170;" (goto "goto") (statement_identifier "LAB_00011170") (; ";"))) (expression_statement "piVar4 = (int *)(**(code **)(puVar6 + 0x11120))();" (assignment_expression "piVar4 = (int *)(**(code **)(puVar6 + 0x11120))()" (identifier "piVar4") (= "=") (cast_expression "(int *)(**(code **)(puVar6 + 0x11120))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar6 + 0x11120))()" (parenthesized_expression "(**(code **)(puVar6 + 0x11120))" (( "(") (pointer_expression "**(code **)(puVar6 + 0x11120)" (* "*") (pointer_expression "*(code **)(puVar6 + 0x11120)" (* "*") (cast_expression "(code **)(puVar6 + 0x11120)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar6 + 0x11120)" (( "(") (binary_expression "puVar6 + 0x11120" (identifier "puVar6") (+ "+") (number_literal "0x11120")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(((*(ushort *)(*piVar4 + *(char *)(iVar3 + 0xb) * 2) & 8) == 0) ||\n          (iVar3 = (**(code **)(puVar6 + 0x11154))(iVar9,0x3a), iVar3 != 0))" (( "(") (binary_expression "((*(ushort *)(*piVar4 + *(char *)(iVar3 + 0xb) * 2) & 8) == 0) ||\n          (iVar3 = (**(code **)(puVar6 + 0x11154))(iVar9,0x3a), iVar3 != 0)" (parenthesized_expression "((*(ushort *)(*piVar4 + *(char *)(iVar3 + 0xb) * 2) & 8) == 0)" (( "(") (binary_expression "(*(ushort *)(*piVar4 + *(char *)(iVar3 + 0xb) * 2) & 8) == 0" (parenthesized_expression "(*(ushort *)(*piVar4 + *(char *)(iVar3 + 0xb) * 2) & 8)" (( "(") (binary_expression "*(ushort *)(*piVar4 + *(char *)(iVar3 + 0xb) * 2) & 8" (pointer_expression "*(ushort *)(*piVar4 + *(char *)(iVar3 + 0xb) * 2)" (* "*") (cast_expression "(ushort *)(*piVar4 + *(char *)(iVar3 + 0xb) * 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar4 + *(char *)(iVar3 + 0xb) * 2)" (( "(") (binary_expression "*piVar4 + *(char *)(iVar3 + 0xb) * 2" (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (+ "+") (binary_expression "*(char *)(iVar3 + 0xb) * 2" (pointer_expression "*(char *)(iVar3 + 0xb)" (* "*") (cast_expression "(char *)(iVar3 + 0xb)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0xb)" (( "(") (binary_expression "iVar3 + 0xb" (identifier "iVar3") (+ "+") (number_literal "0xb")) () ")")))) (* "*") (number_literal "2"))) () ")")))) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar3 = (**(code **)(puVar6 + 0x11154))(iVar9,0x3a), iVar3 != 0)" (( "(") (comma_expression "iVar3 = (**(code **)(puVar6 + 0x11154))(iVar9,0x3a), iVar3 != 0" (assignment_expression "iVar3 = (**(code **)(puVar6 + 0x11154))(iVar9,0x3a)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar6 + 0x11154))(iVar9,0x3a)" (parenthesized_expression "(**(code **)(puVar6 + 0x11154))" (( "(") (pointer_expression "**(code **)(puVar6 + 0x11154)" (* "*") (pointer_expression "*(code **)(puVar6 + 0x11154)" (* "*") (cast_expression "(code **)(puVar6 + 0x11154)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar6 + 0x11154)" (( "(") (binary_expression "puVar6 + 0x11154" (identifier "puVar6") (+ "+") (number_literal "0x11154")) () ")"))))) () ")")) (argument_list "(iVar9,0x3a)" (( "(") (identifier "iVar9") (, ",") (number_literal "0x3a") () ")")))) (, ",") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (; ";")) (expression_statement "iVar3 = *(int *)(puVar6 + 0x110f4);" (assignment_expression "iVar3 = *(int *)(puVar6 + 0x110f4)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(puVar6 + 0x110f4)" (* "*") (cast_expression "(int *)(puVar6 + 0x110f4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6 + 0x110f4)" (( "(") (binary_expression "puVar6 + 0x110f4" (identifier "puVar6") (+ "+") (number_literal "0x110f4")) () ")"))))) (; ";")) (expression_statement "(**(code **)(puVar6 + 0x11140))((undefined *)(iVar3 + 0x2174),0,0x110);" (call_expression "(**(code **)(puVar6 + 0x11140))((undefined *)(iVar3 + 0x2174),0,0x110)" (parenthesized_expression "(**(code **)(puVar6 + 0x11140))" (( "(") (pointer_expression "**(code **)(puVar6 + 0x11140)" (* "*") (pointer_expression "*(code **)(puVar6 + 0x11140)" (* "*") (cast_expression "(code **)(puVar6 + 0x11140)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar6 + 0x11140)" (( "(") (binary_expression "puVar6 + 0x11140" (identifier "puVar6") (+ "+") (number_literal "0x11140")) () ")"))))) () ")")) (argument_list "((undefined *)(iVar3 + 0x2174),0,0x110)" (( "(") (cast_expression "(undefined *)(iVar3 + 0x2174)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x2174)" (( "(") (binary_expression "iVar3 + 0x2174" (identifier "iVar3") (+ "+") (number_literal "0x2174")) () ")"))) (, ",") (number_literal "0") (, ",") (number_literal "0x110") () ")"))) (; ";")) (expression_statement "iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1768);" (assignment_expression "iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1768)" (identifier "iVar2") (= "=") (call_expression "FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1768)" (identifier "FUN_00010dc0") (argument_list "(iVar9,*(int *)(puVar6 + 0x11100) + 0x1768)" (( "(") (identifier "iVar9") (, ",") (binary_expression "*(int *)(puVar6 + 0x11100) + 0x1768" (pointer_expression "*(int *)(puVar6 + 0x11100)" (* "*") (cast_expression "(int *)(puVar6 + 0x11100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6 + 0x11100)" (( "(") (binary_expression "puVar6 + 0x11100" (identifier "puVar6") (+ "+") (number_literal "0x11100")) () ")")))) (+ "+") (number_literal "0x1768")) () ")")))) (; ";")) (if_statement "if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10);\n    *(undefined4 *)(iVar3 + 0x2174) = uVar5;\n  }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10);\n    *(undefined4 *)(iVar3 + 0x2174) = uVar5;\n  }" ({ "{") (expression_statement "uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10);" (assignment_expression "uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10)" (identifier "uVar5") (= "=") (call_expression "(**(code **)(puVar6 + 0x11158))(iVar2,0,10)" (parenthesized_expression "(**(code **)(puVar6 + 0x11158))" (( "(") (pointer_expression "**(code **)(puVar6 + 0x11158)" (* "*") (pointer_expression "*(code **)(puVar6 + 0x11158)" (* "*") (cast_expression "(code **)(puVar6 + 0x11158)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar6 + 0x11158)" (( "(") (binary_expression "puVar6 + 0x11158" (identifier "puVar6") (+ "+") (number_literal "0x11158")) () ")"))))) () ")")) (argument_list "(iVar2,0,10)" (( "(") (identifier "iVar2") (, ",") (number_literal "0") (, ",") (number_literal "10") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar3 + 0x2174) = uVar5;" (assignment_expression "*(undefined4 *)(iVar3 + 0x2174) = uVar5" (pointer_expression "*(undefined4 *)(iVar3 + 0x2174)" (* "*") (cast_expression "(undefined4 *)(iVar3 + 0x2174)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x2174)" (( "(") (binary_expression "iVar3 + 0x2174" (identifier "iVar3") (+ "+") (number_literal "0x2174")) () ")")))) (= "=") (identifier "uVar5")) (; ";")) (} "}"))) (expression_statement "iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 6000);" (assignment_expression "iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 6000)" (identifier "iVar2") (= "=") (call_expression "FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 6000)" (identifier "FUN_00010dc0") (argument_list "(iVar9,*(int *)(puVar6 + 0x11100) + 6000)" (( "(") (identifier "iVar9") (, ",") (binary_expression "*(int *)(puVar6 + 0x11100) + 6000" (pointer_expression "*(int *)(puVar6 + 0x11100)" (* "*") (cast_expression "(int *)(puVar6 + 0x11100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6 + 0x11100)" (( "(") (binary_expression "puVar6 + 0x11100" (identifier "puVar6") (+ "+") (number_literal "0x11100")) () ")")))) (+ "+") (number_literal "6000")) () ")")))) (; ";")) (if_statement "if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10);\n    *(undefined4 *)(iVar3 + 0x2178) = uVar5;\n  }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10);\n    *(undefined4 *)(iVar3 + 0x2178) = uVar5;\n  }" ({ "{") (expression_statement "uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10);" (assignment_expression "uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10)" (identifier "uVar5") (= "=") (call_expression "(**(code **)(puVar6 + 0x11158))(iVar2,0,10)" (parenthesized_expression "(**(code **)(puVar6 + 0x11158))" (( "(") (pointer_expression "**(code **)(puVar6 + 0x11158)" (* "*") (pointer_expression "*(code **)(puVar6 + 0x11158)" (* "*") (cast_expression "(code **)(puVar6 + 0x11158)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar6 + 0x11158)" (( "(") (binary_expression "puVar6 + 0x11158" (identifier "puVar6") (+ "+") (number_literal "0x11158")) () ")"))))) () ")")) (argument_list "(iVar2,0,10)" (( "(") (identifier "iVar2") (, ",") (number_literal "0") (, ",") (number_literal "10") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar3 + 0x2178) = uVar5;" (assignment_expression "*(undefined4 *)(iVar3 + 0x2178) = uVar5" (pointer_expression "*(undefined4 *)(iVar3 + 0x2178)" (* "*") (cast_expression "(undefined4 *)(iVar3 + 0x2178)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x2178)" (( "(") (binary_expression "iVar3 + 0x2178" (identifier "iVar3") (+ "+") (number_literal "0x2178")) () ")")))) (= "=") (identifier "uVar5")) (; ";")) (} "}"))) (expression_statement "iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1778);" (assignment_expression "iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1778)" (identifier "iVar2") (= "=") (call_expression "FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1778)" (identifier "FUN_00010dc0") (argument_list "(iVar9,*(int *)(puVar6 + 0x11100) + 0x1778)" (( "(") (identifier "iVar9") (, ",") (binary_expression "*(int *)(puVar6 + 0x11100) + 0x1778" (pointer_expression "*(int *)(puVar6 + 0x11100)" (* "*") (cast_expression "(int *)(puVar6 + 0x11100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6 + 0x11100)" (( "(") (binary_expression "puVar6 + 0x11100" (identifier "puVar6") (+ "+") (number_literal "0x11100")) () ")")))) (+ "+") (number_literal "0x1778")) () ")")))) (; ";")) (if_statement "if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10);\n    *(undefined4 *)(iVar3 + 0x217c) = uVar5;\n  }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10);\n    *(undefined4 *)(iVar3 + 0x217c) = uVar5;\n  }" ({ "{") (expression_statement "uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10);" (assignment_expression "uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10)" (identifier "uVar5") (= "=") (call_expression "(**(code **)(puVar6 + 0x11158))(iVar2,0,0x10)" (parenthesized_expression "(**(code **)(puVar6 + 0x11158))" (( "(") (pointer_expression "**(code **)(puVar6 + 0x11158)" (* "*") (pointer_expression "*(code **)(puVar6 + 0x11158)" (* "*") (cast_expression "(code **)(puVar6 + 0x11158)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar6 + 0x11158)" (( "(") (binary_expression "puVar6 + 0x11158" (identifier "puVar6") (+ "+") (number_literal "0x11158")) () ")"))))) () ")")) (argument_list "(iVar2,0,0x10)" (( "(") (identifier "iVar2") (, ",") (number_literal "0") (, ",") (number_literal "0x10") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar3 + 0x217c) = uVar5;" (assignment_expression "*(undefined4 *)(iVar3 + 0x217c) = uVar5" (pointer_expression "*(undefined4 *)(iVar3 + 0x217c)" (* "*") (cast_expression "(undefined4 *)(iVar3 + 0x217c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x217c)" (( "(") (binary_expression "iVar3 + 0x217c" (identifier "iVar3") (+ "+") (number_literal "0x217c")) () ")")))) (= "=") (identifier "uVar5")) (; ";")) (} "}"))) (expression_statement "iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1784);" (assignment_expression "iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1784)" (identifier "iVar2") (= "=") (call_expression "FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1784)" (identifier "FUN_00010dc0") (argument_list "(iVar9,*(int *)(puVar6 + 0x11100) + 0x1784)" (( "(") (identifier "iVar9") (, ",") (binary_expression "*(int *)(puVar6 + 0x11100) + 0x1784" (pointer_expression "*(int *)(puVar6 + 0x11100)" (* "*") (cast_expression "(int *)(puVar6 + 0x11100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6 + 0x11100)" (( "(") (binary_expression "puVar6 + 0x11100" (identifier "puVar6") (+ "+") (number_literal "0x11100")) () ")")))) (+ "+") (number_literal "0x1784")) () ")")))) (; ";")) (if_statement "if (iVar2 != 0) {\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10);\n    *(undefined4 *)(iVar3 + 0x2180) = uVar5;\n  }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10);\n    *(undefined4 *)(iVar3 + 0x2180) = uVar5;\n  }" ({ "{") (expression_statement "uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10);" (assignment_expression "uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10)" (identifier "uVar5") (= "=") (call_expression "(**(code **)(puVar6 + 0x11158))(iVar2,0,0x10)" (parenthesized_expression "(**(code **)(puVar6 + 0x11158))" (( "(") (pointer_expression "**(code **)(puVar6 + 0x11158)" (* "*") (pointer_expression "*(code **)(puVar6 + 0x11158)" (* "*") (cast_expression "(code **)(puVar6 + 0x11158)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar6 + 0x11158)" (( "(") (binary_expression "puVar6 + 0x11158" (identifier "puVar6") (+ "+") (number_literal "0x11158")) () ")"))))) () ")")) (argument_list "(iVar2,0,0x10)" (( "(") (identifier "iVar2") (, ",") (number_literal "0") (, ",") (number_literal "0x10") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar3 + 0x2180) = uVar5;" (assignment_expression "*(undefined4 *)(iVar3 + 0x2180) = uVar5" (pointer_expression "*(undefined4 *)(iVar3 + 0x2180)" (* "*") (cast_expression "(undefined4 *)(iVar3 + 0x2180)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x2180)" (( "(") (binary_expression "iVar3 + 0x2180" (identifier "iVar3") (+ "+") (number_literal "0x2180")) () ")")))) (= "=") (identifier "uVar5")) (; ";")) (} "}"))) (expression_statement "iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1790);" (assignment_expression "iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1790)" (identifier "iVar2") (= "=") (call_expression "FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x1790)" (identifier "FUN_00010dc0") (argument_list "(iVar9,*(int *)(puVar6 + 0x11100) + 0x1790)" (( "(") (identifier "iVar9") (, ",") (binary_expression "*(int *)(puVar6 + 0x11100) + 0x1790" (pointer_expression "*(int *)(puVar6 + 0x11100)" (* "*") (cast_expression "(int *)(puVar6 + 0x11100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6 + 0x11100)" (( "(") (binary_expression "puVar6 + 0x11100" (identifier "puVar6") (+ "+") (number_literal "0x11100")) () ")")))) (+ "+") (number_literal "0x1790")) () ")")))) (; ";")) (if_statement "if (iVar2 != 0) {\n    (**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2184,iVar2);\n  }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    (**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2184,iVar2);\n  }" ({ "{") (expression_statement "(**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2184,iVar2);" (call_expression "(**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2184,iVar2)" (parenthesized_expression "(**(code **)(puVar6 + 0x1116c))" (( "(") (pointer_expression "**(code **)(puVar6 + 0x1116c)" (* "*") (pointer_expression "*(code **)(puVar6 + 0x1116c)" (* "*") (cast_expression "(code **)(puVar6 + 0x1116c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar6 + 0x1116c)" (( "(") (binary_expression "puVar6 + 0x1116c" (identifier "puVar6") (+ "+") (number_literal "0x1116c")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar6 + 0x110f4) + 0x2184,iVar2)" (( "(") (binary_expression "*(int *)(puVar6 + 0x110f4) + 0x2184" (pointer_expression "*(int *)(puVar6 + 0x110f4)" (* "*") (cast_expression "(int *)(puVar6 + 0x110f4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6 + 0x110f4)" (( "(") (binary_expression "puVar6 + 0x110f4" (identifier "puVar6") (+ "+") (number_literal "0x110f4")) () ")")))) (+ "+") (number_literal "0x2184")) (, ",") (identifier "iVar2") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x17a0);" (assignment_expression "iVar2 = FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x17a0)" (identifier "iVar2") (= "=") (call_expression "FUN_00010dc0(iVar9,*(int *)(puVar6 + 0x11100) + 0x17a0)" (identifier "FUN_00010dc0") (argument_list "(iVar9,*(int *)(puVar6 + 0x11100) + 0x17a0)" (( "(") (identifier "iVar9") (, ",") (binary_expression "*(int *)(puVar6 + 0x11100) + 0x17a0" (pointer_expression "*(int *)(puVar6 + 0x11100)" (* "*") (cast_expression "(int *)(puVar6 + 0x11100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6 + 0x11100)" (( "(") (binary_expression "puVar6 + 0x11100" (identifier "puVar6") (+ "+") (number_literal "0x11100")) () ")")))) (+ "+") (number_literal "0x17a0")) () ")")))) (; ";")) (if_statement "if (iVar2 != 0) {\n    (**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2204,iVar2);\n  }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    (**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2204,iVar2);\n  }" ({ "{") (expression_statement "(**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2204,iVar2);" (call_expression "(**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2204,iVar2)" (parenthesized_expression "(**(code **)(puVar6 + 0x1116c))" (( "(") (pointer_expression "**(code **)(puVar6 + 0x1116c)" (* "*") (pointer_expression "*(code **)(puVar6 + 0x1116c)" (* "*") (cast_expression "(code **)(puVar6 + 0x1116c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar6 + 0x1116c)" (( "(") (binary_expression "puVar6 + 0x1116c" (identifier "puVar6") (+ "+") (number_literal "0x1116c")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar6 + 0x110f4) + 0x2204,iVar2)" (( "(") (binary_expression "*(int *)(puVar6 + 0x110f4) + 0x2204" (pointer_expression "*(int *)(puVar6 + 0x110f4)" (* "*") (cast_expression "(int *)(puVar6 + 0x110f4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6 + 0x110f4)" (( "(") (binary_expression "puVar6 + 0x110f4" (identifier "puVar6") (+ "+") (number_literal "0x110f4")) () ")")))) (+ "+") (number_literal "0x2204")) (, ",") (identifier "iVar2") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar6 = (undefined *)0x0;" (assignment_expression "puVar6 = (undefined *)0x0" (identifier "puVar6") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if ((((*(int *)(iVar3 + 0x2174) != 0) &&\n       (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x2178) != 0)) &&\n      (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x217c) != 0)) &&\n     (puVar6 = (undefined *)(iVar3 + 0x2174), *(int *)(iVar3 + 0x2180) == 0)) {\nLAB_00011170:\n    puVar6 = (undefined *)0x0;\n  }" (if "if") (parenthesized_expression "((((*(int *)(iVar3 + 0x2174) != 0) &&\n       (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x2178) != 0)) &&\n      (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x217c) != 0)) &&\n     (puVar6 = (undefined *)(iVar3 + 0x2174), *(int *)(iVar3 + 0x2180) == 0))" (( "(") (binary_expression "(((*(int *)(iVar3 + 0x2174) != 0) &&\n       (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x2178) != 0)) &&\n      (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x217c) != 0)) &&\n     (puVar6 = (undefined *)(iVar3 + 0x2174), *(int *)(iVar3 + 0x2180) == 0)" (parenthesized_expression "(((*(int *)(iVar3 + 0x2174) != 0) &&\n       (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x2178) != 0)) &&\n      (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x217c) != 0))" (( "(") (binary_expression "((*(int *)(iVar3 + 0x2174) != 0) &&\n       (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x2178) != 0)) &&\n      (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x217c) != 0)" (parenthesized_expression "((*(int *)(iVar3 + 0x2174) != 0) &&\n       (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x2178) != 0))" (( "(") (binary_expression "(*(int *)(iVar3 + 0x2174) != 0) &&\n       (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x2178) != 0)" (parenthesized_expression "(*(int *)(iVar3 + 0x2174) != 0)" (( "(") (binary_expression "*(int *)(iVar3 + 0x2174) != 0" (pointer_expression "*(int *)(iVar3 + 0x2174)" (* "*") (cast_expression "(int *)(iVar3 + 0x2174)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x2174)" (( "(") (binary_expression "iVar3 + 0x2174" (identifier "iVar3") (+ "+") (number_literal "0x2174")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x2178) != 0)" (( "(") (comma_expression "puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x2178) != 0" (assignment_expression "puVar6 = (undefined *)0x0" (identifier "puVar6") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (, ",") (binary_expression "*(int *)(iVar3 + 0x2178) != 0" (pointer_expression "*(int *)(iVar3 + 0x2178)" (* "*") (cast_expression "(int *)(iVar3 + 0x2178)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x2178)" (( "(") (binary_expression "iVar3 + 0x2178" (identifier "iVar3") (+ "+") (number_literal "0x2178")) () ")")))) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x217c) != 0)" (( "(") (comma_expression "puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x217c) != 0" (assignment_expression "puVar6 = (undefined *)0x0" (identifier "puVar6") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (, ",") (binary_expression "*(int *)(iVar3 + 0x217c) != 0" (pointer_expression "*(int *)(iVar3 + 0x217c)" (* "*") (cast_expression "(int *)(iVar3 + 0x217c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x217c)" (( "(") (binary_expression "iVar3 + 0x217c" (identifier "iVar3") (+ "+") (number_literal "0x217c")) () ")")))) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(puVar6 = (undefined *)(iVar3 + 0x2174), *(int *)(iVar3 + 0x2180) == 0)" (( "(") (comma_expression "puVar6 = (undefined *)(iVar3 + 0x2174), *(int *)(iVar3 + 0x2180) == 0" (assignment_expression "puVar6 = (undefined *)(iVar3 + 0x2174)" (identifier "puVar6") (= "=") (cast_expression "(undefined *)(iVar3 + 0x2174)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x2174)" (( "(") (binary_expression "iVar3 + 0x2174" (identifier "iVar3") (+ "+") (number_literal "0x2174")) () ")")))) (, ",") (binary_expression "*(int *)(iVar3 + 0x2180) == 0" (pointer_expression "*(int *)(iVar3 + 0x2180)" (* "*") (cast_expression "(int *)(iVar3 + 0x2180)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x2180)" (( "(") (binary_expression "iVar3 + 0x2180" (identifier "iVar3") (+ "+") (number_literal "0x2180")) () ")")))) (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\nLAB_00011170:\n    puVar6 = (undefined *)0x0;\n  }" ({ "{") (labeled_statement "LAB_00011170:\n    puVar6 = (undefined *)0x0;" (statement_identifier "LAB_00011170") (: ":") (expression_statement "puVar6 = (undefined *)0x0;" (assignment_expression "puVar6 = (undefined *)0x0" (identifier "puVar6") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (} "}"))) (return_statement "return puVar6;" (return "return") (identifier "puVar6") (; ";")) (} "}")))
(translation_unit (function_definition type: (type_identifier) declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (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: (primitive_type) 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: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (identifier) (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 (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) 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 (identifier) (identifier) (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)))))) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (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))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list)))))) condition: (parenthesized_expression (binary_expression left: (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: (identifier)) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (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 (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (number_literal) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (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: (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (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: (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (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: (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (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: (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) (return_statement (identifier)))))

undefined * MASKED(undefined4 param_1,undefined4 param_2)

{
  undefined *puVar1;
  int iVar2;
  int iVar3;
  int *piVar4;
  undefined4 uVar5;
  undefined *puVar6;
  undefined *puVar7;
  undefined *puVar8;
  int iVar9;
  undefined *puVar10;
  undefined1 auStack_101c [4096];
  int local_1c;
  
  puVar1 = PTR___stack_chk_guard_000220c0;
  puVar6 = PTR_DAT_00022038;
  puVar10 = PTR_DAT_00022038 + 0x20f0;
  local_1c = *(int *)PTR___stack_chk_guard_000220c0;
  (*(code *)PTR_memset_00022084)(puVar10,0,0x81);
  (*(code *)PTR_snprintf_00022080)(auStack_101c,0xfff,PTR_00022044 + 0x174c,param_1,param_2);
  iVar2 = (*(code *)PTR_open_000220a0)(auStack_101c,0);
  if (-1 < iVar2) {
    iVar3 = (*(code *)PTR_read_000220d0)(iVar2,puVar10,0x80);
    (*(code *)PTR_close_00022070)(iVar2);
    puVar8 = (undefined *)(iVar3 + -1);
    if (0 < (int)puVar8) {
      piVar4 = (int *)(*(code *)PTR___ctype_b_loc_00022064)();
      puVar7 = puVar10 + iVar3;
      do {
        puVar8 = puVar7 + (-2 - (int)puVar10);
        if ((*(ushort *)(*piVar4 + (char)puVar7[-1] * 2) & 0x20) == 0) goto LAB_00010e68;
        puVar7[-1] = 0;
        puVar7 = puVar7 + -1;
      } while (puVar7 != puVar6 + 0x20f1);
    }
    if (-1 < (int)puVar8) goto LAB_00010e68;
  }
  puVar10 = (undefined *)0x0;
LAB_00010e68:
  if (local_1c == *(int *)puVar1) {
    return puVar10;
  }
  iVar2 = local_1c;
  puVar6 = PTR___stack_chk_fail_000220bc;
  (*(code *)PTR___stack_chk_fail_000220bc)();
  do {
    iVar3 = (**(code **)(puVar6 + 0x11134))(iVar2);
    iVar9 = iVar3 + 0xb;
    if (iVar3 == 0) goto LAB_00011170;
    piVar4 = (int *)(**(code **)(puVar6 + 0x11120))();
  } while (((*(ushort *)(*piVar4 + *(char *)(iVar3 + 0xb) * 2) & 8) == 0) ||
          (iVar3 = (**(code **)(puVar6 + 0x11154))(iVar9,0x3a), iVar3 != 0));
  iVar3 = *(int *)(puVar6 + 0x110f4);
  (**(code **)(puVar6 + 0x11140))((undefined *)(iVar3 + 0x2174),0,0x110);
  iVar2 = MASKED(iVar9,*(int *)(puVar6 + 0x11100) + 0x1768);
  if (iVar2 != 0) {
    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10);
    *(undefined4 *)(iVar3 + 0x2174) = uVar5;
  }
  iVar2 = MASKED(iVar9,*(int *)(puVar6 + 0x11100) + 6000);
  if (iVar2 != 0) {
    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,10);
    *(undefined4 *)(iVar3 + 0x2178) = uVar5;
  }
  iVar2 = MASKED(iVar9,*(int *)(puVar6 + 0x11100) + 0x1778);
  if (iVar2 != 0) {
    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10);
    *(undefined4 *)(iVar3 + 0x217c) = uVar5;
  }
  iVar2 = MASKED(iVar9,*(int *)(puVar6 + 0x11100) + 0x1784);
  if (iVar2 != 0) {
    uVar5 = (**(code **)(puVar6 + 0x11158))(iVar2,0,0x10);
    *(undefined4 *)(iVar3 + 0x2180) = uVar5;
  }
  iVar2 = MASKED(iVar9,*(int *)(puVar6 + 0x11100) + 0x1790);
  if (iVar2 != 0) {
    (**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2184,iVar2);
  }
  iVar2 = MASKED(iVar9,*(int *)(puVar6 + 0x11100) + 0x17a0);
  if (iVar2 != 0) {
    (**(code **)(puVar6 + 0x1116c))(*(int *)(puVar6 + 0x110f4) + 0x2204,iVar2);
  }
  puVar6 = (undefined *)0x0;
  if ((((*(int *)(iVar3 + 0x2174) != 0) &&
       (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x2178) != 0)) &&
      (puVar6 = (undefined *)0x0, *(int *)(iVar3 + 0x217c) != 0)) &&
     (puVar6 = (undefined *)(iVar3 + 0x2174), *(int *)(iVar3 + 0x2180) == 0)) {
LAB_00011170:
    puVar6 = (undefined *)0x0;
  }
  return puVar6;
}

