
void mark_dead_jobs_as_notified(int force)

{
  undefined *puVar1;
  undefined *puVar2;
  int *piVar3;
  PROCESS *pPVar4;
  int *piVar5;
  int iVar6;
  int iVar7;
  int iVar8;
  int iVar9;
  int iVar10;
  int *piVar11;
  int iVar12;
  int in_t2;
  int iVar13;
  sigset_t *unaff_s1;
  sigset_t *unaff_s3;
  sigset_t set;
  sigset_t oset;
  
  puVar2 = PTR___stack_chk_guard_001464dc;
  puVar1 = PTR_js_00144e58;
  iVar7 = *(int *)PTR___stack_chk_guard_001464dc;
  if (*(int *)(PTR_js_00144e58 + 0x18) == 0) goto LAB_00065b24;
  unaff_s3 = &set;
  (*(code *)PTR_sigemptyset_001462d4)(unaff_s3);
  unaff_s1 = &oset;
  (*(code *)PTR_sigaddset_00146364)(unaff_s3,0x12);
  (*(code *)PTR_sigemptyset_001462d4)(unaff_s1);
  (*(code *)PTR_sigprocmask_00146514)(1,unaff_s3,unaff_s1);
  if (force != 0) {
    iVar6 = *(int *)(puVar1 + 0x18);
    if (iVar6 < 1) goto LAB_00065cdc;
    iVar9 = 0;
    iVar12 = 4;
    in_t2 = *(int *)PTR_interactive_shell_00144598;
    piVar11 = *(int **)PTR_jobs_00144e5c;
    piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;
    do {
      iVar13 = *piVar11;
      if (((iVar13 != 0) && (*(int *)(iVar13 + 0xc) == iVar12)) &&
         ((in_t2 != 0 || (pPVar4 = find_last_proc(iVar9,iVar9), *piVar3 != pPVar4->pid)))) {
        *(uint *)(iVar13 + 0x10) = *(uint *)(iVar13 + 0x10) | 2;
      }
      iVar9 = iVar9 + 1;
      piVar11 = piVar11 + 1;
      if (iVar9 == iVar6) goto LAB_00065cdc;
    } while( true );
  }
  if (*(int *)(puVar1 + 0x18) < 1) {
    if (-1 < *(int *)puVar1) goto LAB_00065cdc;
    unaff_s3 = (sigset_t *)0x0;
  }
  else {
    unaff_s3 = (sigset_t *)0x0;
    piVar3 = *(int **)PTR_jobs_00144e5c;
    piVar11 = piVar3 + *(int *)(puVar1 + 0x18);
    do {
      while ((iVar6 = *piVar3, iVar6 == 0 || (iVar9 = 0, *(int *)(iVar6 + 0xc) != 4))) {
        piVar3 = piVar3 + 1;
        if (piVar3 == piVar11) goto LAB_00065c10;
      }
      piVar5 = *(int **)(iVar6 + 4);
      do {
        piVar5 = (int *)*piVar5;
        iVar9 = iVar9 + 1;
      } while (*(int **)(iVar6 + 4) != piVar5);
      piVar3 = piVar3 + 1;
      unaff_s3 = (sigset_t *)((int)unaff_s3->__val + iVar9);
    } while (piVar3 != piVar11);
LAB_00065c10:
    in_t2 = *(int *)puVar1;
    if (-1 < in_t2) goto LAB_00065c1c;
  }
  iVar6 = (*(code *)PTR_getmaxchild_00145174)();
  in_t2 = iVar6;
  if (-1 < iVar6) goto LAB_00065dc4;
  in_t2 = 0x20;
  *(undefined4 *)puVar1 = 0x20;
LAB_00065c1c:
  do {
    if ((in_t2 < (int)unaff_s3) && (iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6)) {
      iVar9 = 0;
      iVar12 = 4;
      iVar13 = *(int *)PTR_interactive_shell_00144598;
      piVar11 = *(int **)PTR_jobs_00144e5c;
      piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;
      do {
        while (((iVar10 = *piVar11, iVar10 == 0 || (*(int *)(iVar10 + 0xc) != iVar12)) ||
               ((iVar13 == 0 && (pPVar4 = find_last_proc(iVar9,iVar9), *piVar3 == pPVar4->pid))))) {
          iVar9 = iVar9 + 1;
          piVar11 = piVar11 + 1;
          if (iVar9 == iVar6) goto LAB_00065cdc;
        }
        iVar8 = 0;
        piVar5 = *(int **)(iVar10 + 4);
        do {
          piVar5 = (int *)*piVar5;
          iVar8 = iVar8 + 1;
        } while (*(int **)(iVar10 + 4) != piVar5);
        unaff_s3 = (sigset_t *)((int)unaff_s3 - iVar8);
        iVar9 = iVar9 + 1;
        if ((int)unaff_s3 <= in_t2) break;
        piVar11 = piVar11 + 1;
        *(uint *)(iVar10 + 0x10) = *(uint *)(iVar10 + 0x10) | 2;
      } while (iVar9 != iVar6);
    }
LAB_00065cdc:
    (*(code *)PTR_sigprocmask_00146514)(3,unaff_s1,0);
LAB_00065b24:
    if (iVar7 == *(int *)puVar2) {
      return;
    }
    iVar6 = (*(code *)PTR___stack_chk_fail_00146488)();
LAB_00065dc4:
    *(int *)puVar1 = iVar6;
  } while( true );
}



void FUN_00065adc(int param_1)

{
  undefined *puVar1;
  undefined *puVar2;
  int *piVar3;
  int iVar4;
  int *piVar5;
  int iVar6;
  int iVar7;
  int iVar8;
  int *piVar9;
  int iVar10;
  int in_t2;
  int iVar11;
  undefined1 *unaff_s1;
  undefined1 *unaff_s3;
  undefined1 auStack_11c [128];
  undefined1 auStack_9c [128];
  int local_1c;
  
  puVar2 = PTR___stack_chk_guard_001464dc;
  puVar1 = PTR_js_00144e58;
  local_1c = *(int *)PTR___stack_chk_guard_001464dc;
  if (*(int *)(PTR_js_00144e58 + 0x18) == 0) goto LAB_00065b24;
  unaff_s3 = auStack_11c;
  (*(code *)PTR_sigemptyset_001462d4)(unaff_s3);
  unaff_s1 = auStack_9c;
  (*(code *)PTR_sigaddset_00146364)(unaff_s3,0x12);
  (*(code *)PTR_sigemptyset_001462d4)(unaff_s1);
  (*(code *)PTR_sigprocmask_00146514)(1,unaff_s3,unaff_s1);
  if (param_1 != 0) {
    iVar6 = *(int *)(puVar1 + 0x18);
    if (iVar6 < 1) goto LAB_00065cdc;
    iVar7 = 0;
    iVar10 = 4;
    in_t2 = *(int *)PTR_interactive_shell_00144598;
    piVar9 = *(int **)PTR_jobs_00144e5c;
    piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;
    do {
      iVar11 = *piVar9;
      if (((iVar11 != 0) && (*(int *)(iVar11 + 0xc) == iVar10)) &&
         ((in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4))))) {
        *(uint *)(iVar11 + 0x10) = *(uint *)(iVar11 + 0x10) | 2;
      }
      iVar7 = iVar7 + 1;
      piVar9 = piVar9 + 1;
      if (iVar7 == iVar6) goto LAB_00065cdc;
    } while( true );
  }
  if (*(int *)(puVar1 + 0x18) < 1) {
    if (-1 < *(int *)puVar1) goto LAB_00065cdc;
    unaff_s3 = (undefined1 *)0x0;
  }
  else {
    unaff_s3 = (undefined1 *)0x0;
    piVar3 = *(int **)PTR_jobs_00144e5c;
    piVar9 = piVar3 + *(int *)(puVar1 + 0x18);
    do {
      while ((iVar6 = *piVar3, iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4))) {
        piVar3 = piVar3 + 1;
        if (piVar3 == piVar9) goto LAB_00065c10;
      }
      piVar5 = *(int **)(iVar6 + 4);
      do {
        piVar5 = (int *)*piVar5;
        iVar7 = iVar7 + 1;
      } while (*(int **)(iVar6 + 4) != piVar5);
      piVar3 = piVar3 + 1;
      unaff_s3 = unaff_s3 + iVar7;
    } while (piVar3 != piVar9);
LAB_00065c10:
    in_t2 = *(int *)puVar1;
    if (-1 < in_t2) goto LAB_00065c1c;
  }
  iVar6 = (*(code *)PTR_getmaxchild_00145174)();
  in_t2 = iVar6;
  if (-1 < iVar6) goto LAB_00065dc4;
  in_t2 = 0x20;
  *(undefined4 *)puVar1 = 0x20;
LAB_00065c1c:
  do {
    if ((in_t2 < (int)unaff_s3) && (iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6)) {
      iVar7 = 0;
      iVar10 = 4;
      iVar11 = *(int *)PTR_interactive_shell_00144598;
      piVar9 = *(int **)PTR_jobs_00144e5c;
      piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;
      do {
        while (((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||
               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))))) {
          iVar7 = iVar7 + 1;
          piVar9 = piVar9 + 1;
          if (iVar7 == iVar6) goto LAB_00065cdc;
        }
        iVar4 = 0;
        piVar5 = *(int **)(iVar8 + 4);
        do {
          piVar5 = (int *)*piVar5;
          iVar4 = iVar4 + 1;
        } while (*(int **)(iVar8 + 4) != piVar5);
        unaff_s3 = unaff_s3 + -iVar4;
        iVar7 = iVar7 + 1;
        if ((int)unaff_s3 <= in_t2) break;
        piVar9 = piVar9 + 1;
        *(uint *)(iVar8 + 0x10) = *(uint *)(iVar8 + 0x10) | 2;
      } while (iVar7 != iVar6);
    }
LAB_00065cdc:
    (*(code *)PTR_sigprocmask_00146514)(3,unaff_s1,0);
LAB_00065b24:
    if (local_1c == *(int *)puVar2) {
      return;
    }
    iVar6 = (*(code *)PTR___stack_chk_fail_00146488)();
LAB_00065dc4:
    *(int *)puVar1 = iVar6;
  } while( true );
}


lui gp,0xe
addiu gp,gp,0x6a64
addu gp,gp,t9
addiu sp,sp,-0x138
sw s2,0x128(sp)
sw s0,0x120(sp)
lw s2,-0x76e8(gp)
lw s0,-0x6064(gp)
sw gp,0x10(sp)
sw ra,0x134(sp)
sw s4,0x130(sp)
sw s3,0x12c(sp)
sw s1,0x124(sp)
lw v1,0x0(s0)
lw v0,0x18(s2)
sw v1,0x11c(sp)
bne v0,zero,0x00065b50
_lw t9,-0x626c(gp)
lw v1,0x11c(sp)
lw v0,0x0(s0)
bne v1,v0,0x00065db8
_lw ra,0x134(sp)
lw s4,0x130(sp)
lw s3,0x12c(sp)
lw s2,0x128(sp)
lw s1,0x124(sp)
lw s0,0x120(sp)
jr ra
_addiu sp,sp,0x138
addiu s3,sp,0x1c
or s4,a0,zero
jalr t9
_or a0,s3,zero
li a1,0x12
lw gp,0x10(sp)
or a0,s3,zero
lw t9,-0x61dc(gp)
jalr t9
_addiu s1,sp,0x9c
lw gp,0x10(sp)
lw t9,-0x626c(gp)
jalr t9
_or a0,s1,zero
li a0,0x1
lw gp,0x10(sp)
or a2,s1,zero
lw t9,-0x602c(gp)
jalr t9
_or a1,s3,zero
bne s4,zero,0x00065cf4
_lw gp,0x10(sp)
lw a1,0x18(s2)
blez a1,0x00065d60
_lw v0,-0x76e4(gp)
sll a1,a1,0x2
or s3,zero,zero
li a3,0x4
lw v0,0x0(v0)
b 0x00065bd8
_addu a1,a1,v0
addiu v0,v0,0x4
beq v0,a1,0x00065c10
_nop
lw v1,0x0(v0)
beq v1,zero,0x00065bcc
_nop
lw a0,0xc(v1)
bne a0,a3,0x00065bcc
_or a0,zero,zero
lw a2,0x4(v1)
or v1,a2,zero
lw v1,0x0(v1)
bne a2,v1,0x00065bf8
_addiu a0,a0,0x1
addiu v0,v0,0x4
bne v0,a1,0x00065bd8
_addu s3,s3,a0
lw t2,0x0(s2)
bltz t2,0x00065d74
_lw t9,-0x73cc(gp)
slt v0,t2,s3
beq v0,zero,0x00065cdc
_lw t9,-0x602c(gp)
lw t0,0x18(s2)
blez t0,0x00065cdc
_lw v0,-0x7fa8(gp)
or a1,zero,zero
lw t9,-0x7550(gp)
li t1,0x4
lw t4,-0x7810(gp)
lw t3,0x0(v0)
addiu t9,t9,0x5a6c
lw v0,-0x76e4(gp)
b 0x00065c64
_lw a3,0x0(v0)
addiu a1,a1,0x1
beq a1,t0,0x00065cd8
_addiu a3,a3,0x4
lw a2,0x0(a3)
beq a2,zero,0x00065c58
_nop
lw v0,0xc(a2)
bne v0,t1,0x00065c58
_nop
bne t3,zero,0x00065c9c
_nop
bal 0x00065a6c
_or a0,a1,zero
lw v1,0x0(t4)
lw v0,0x4(v0)
beq v1,v0,0x00065c58
_lw gp,0x10(sp)
lw a0,0x4(a2)
or v1,zero,zero
or v0,a0,zero
lw v0,0x0(v0)
bne a0,v0,0x00065ca8
_addiu v1,v1,0x1
subu s3,s3,v1
slt v0,t2,s3
beq v0,zero,0x00065cd8
_addiu a1,a1,0x1
lw v0,0x10(a2)
addiu a3,a3,0x4
ori v0,v0,0x2
bne a1,t0,0x00065c64
_sw v0,0x10(a2)
lw t9,-0x602c(gp)
or a2,zero,zero
li a0,0x3
jalr t9
_or a1,s1,zero
b 0x00065b24
_lw gp,0x10(sp)
lw t0,0x18(s2)
blez t0,0x00065cd8
_lw v0,-0x7fa8(gp)
or a1,zero,zero
lw t9,-0x7550(gp)
li t1,0x4
lw t3,-0x7810(gp)
lw t2,0x0(v0)
addiu t9,t9,0x5a6c
lw v0,-0x76e4(gp)
b 0x00065d30
_lw a3,0x0(v0)
addiu a1,a1,0x1
beq a1,t0,0x00065cd8
_addiu a3,a3,0x4
lw a2,0x0(a3)
beq a2,zero,0x00065d24
_nop
lw v0,0xc(a2)
bne v0,t1,0x00065d24
_nop
beq t2,zero,0x00065d98
_nop
lw v0,0x10(a2)
ori v0,v0,0x2
b 0x00065d24
_sw v0,0x10(a2)
lw v0,0x0(s2)
bgez v0,0x00065cdc
_lw t9,-0x602c(gp)
or s3,zero,zero
lw t9,-0x73cc(gp)
jalr t9
_nop
lw gp,0x10(sp)
bgez v0,0x00065dc4
_or t2,v0,zero
li v0,0x20
li t2,0x20
b 0x00065c1c
_sw v0,0x0(s2)
bal 0x00065a6c
_or a0,a1,zero
lw v1,0x0(t3)
lw v0,0x4(v0)
bne v1,v0,0x00065d50
_lw gp,0x10(sp)
b 0x00065d28
_addiu a1,a1,0x1
lw t9,-0x60b8(gp)
jalr t9
_nop
b 0x00065c1c
_sw v0,0x0(s2)
(translation_unit "void FUN_00065adc(int param_1)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  int *piVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int *piVar9;\n  int iVar10;\n  int in_t2;\n  int iVar11;\n  undefined1 *unaff_s1;\n  undefined1 *unaff_s3;\n  undefined1 auStack_11c [128];\n  undefined1 auStack_9c [128];\n  int local_1c;\n  \n  puVar2 = PTR___stack_chk_guard_001464dc;\n  puVar1 = PTR_js_00144e58;\n  local_1c = *(int *)PTR___stack_chk_guard_001464dc;\n  if (*(int *)(PTR_js_00144e58 + 0x18) == 0) goto LAB_00065b24;\n  unaff_s3 = auStack_11c;\n  (*(code *)PTR_sigemptyset_001462d4)(unaff_s3);\n  unaff_s1 = auStack_9c;\n  (*(code *)PTR_sigaddset_00146364)(unaff_s3,0x12);\n  (*(code *)PTR_sigemptyset_001462d4)(unaff_s1);\n  (*(code *)PTR_sigprocmask_00146514)(1,unaff_s3,unaff_s1);\n  if (param_1 != 0) {\n    iVar6 = *(int *)(puVar1 + 0x18);\n    if (iVar6 < 1) goto LAB_00065cdc;\n    iVar7 = 0;\n    iVar10 = 4;\n    in_t2 = *(int *)PTR_interactive_shell_00144598;\n    piVar9 = *(int **)PTR_jobs_00144e5c;\n    piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n    do {\n      iVar11 = *piVar9;\n      if (((iVar11 != 0) && (*(int *)(iVar11 + 0xc) == iVar10)) &&\n         ((in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4))))) {\n        *(uint *)(iVar11 + 0x10) = *(uint *)(iVar11 + 0x10) | 2;\n      }\n      iVar7 = iVar7 + 1;\n      piVar9 = piVar9 + 1;\n      if (iVar7 == iVar6) goto LAB_00065cdc;\n    } while( true );\n  }\n  if (*(int *)(puVar1 + 0x18) < 1) {\n    if (-1 < *(int *)puVar1) goto LAB_00065cdc;\n    unaff_s3 = (undefined1 *)0x0;\n  }\n  else {\n    unaff_s3 = (undefined1 *)0x0;\n    piVar3 = *(int **)PTR_jobs_00144e5c;\n    piVar9 = piVar3 + *(int *)(puVar1 + 0x18);\n    do {\n      while ((iVar6 = *piVar3, iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4))) {\n        piVar3 = piVar3 + 1;\n        if (piVar3 == piVar9) goto LAB_00065c10;\n      }\n      piVar5 = *(int **)(iVar6 + 4);\n      do {\n        piVar5 = (int *)*piVar5;\n        iVar7 = iVar7 + 1;\n      } while (*(int **)(iVar6 + 4) != piVar5);\n      piVar3 = piVar3 + 1;\n      unaff_s3 = unaff_s3 + iVar7;\n    } while (piVar3 != piVar9);\nLAB_00065c10:\n    in_t2 = *(int *)puVar1;\n    if (-1 < in_t2) goto LAB_00065c1c;\n  }\n  iVar6 = (*(code *)PTR_getmaxchild_00145174)();\n  in_t2 = iVar6;\n  if (-1 < iVar6) goto LAB_00065dc4;\n  in_t2 = 0x20;\n  *(undefined4 *)puVar1 = 0x20;\nLAB_00065c1c:\n  do {\n    if ((in_t2 < (int)unaff_s3) && (iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6)) {\n      iVar7 = 0;\n      iVar10 = 4;\n      iVar11 = *(int *)PTR_interactive_shell_00144598;\n      piVar9 = *(int **)PTR_jobs_00144e5c;\n      piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n      do {\n        while (((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))))) {\n          iVar7 = iVar7 + 1;\n          piVar9 = piVar9 + 1;\n          if (iVar7 == iVar6) goto LAB_00065cdc;\n        }\n        iVar4 = 0;\n        piVar5 = *(int **)(iVar8 + 4);\n        do {\n          piVar5 = (int *)*piVar5;\n          iVar4 = iVar4 + 1;\n        } while (*(int **)(iVar8 + 4) != piVar5);\n        unaff_s3 = unaff_s3 + -iVar4;\n        iVar7 = iVar7 + 1;\n        if ((int)unaff_s3 <= in_t2) break;\n        piVar9 = piVar9 + 1;\n        *(uint *)(iVar8 + 0x10) = *(uint *)(iVar8 + 0x10) | 2;\n      } while (iVar7 != iVar6);\n    }\nLAB_00065cdc:\n    (*(code *)PTR_sigprocmask_00146514)(3,unaff_s1,0);\nLAB_00065b24:\n    if (local_1c == *(int *)puVar2) {\n      return;\n    }\n    iVar6 = (*(code *)PTR___stack_chk_fail_00146488)();\nLAB_00065dc4:\n    *(int *)puVar1 = iVar6;\n  } while( true );\n}\n\n" (function_definition "void FUN_00065adc(int param_1)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  int *piVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int *piVar9;\n  int iVar10;\n  int in_t2;\n  int iVar11;\n  undefined1 *unaff_s1;\n  undefined1 *unaff_s3;\n  undefined1 auStack_11c [128];\n  undefined1 auStack_9c [128];\n  int local_1c;\n  \n  puVar2 = PTR___stack_chk_guard_001464dc;\n  puVar1 = PTR_js_00144e58;\n  local_1c = *(int *)PTR___stack_chk_guard_001464dc;\n  if (*(int *)(PTR_js_00144e58 + 0x18) == 0) goto LAB_00065b24;\n  unaff_s3 = auStack_11c;\n  (*(code *)PTR_sigemptyset_001462d4)(unaff_s3);\n  unaff_s1 = auStack_9c;\n  (*(code *)PTR_sigaddset_00146364)(unaff_s3,0x12);\n  (*(code *)PTR_sigemptyset_001462d4)(unaff_s1);\n  (*(code *)PTR_sigprocmask_00146514)(1,unaff_s3,unaff_s1);\n  if (param_1 != 0) {\n    iVar6 = *(int *)(puVar1 + 0x18);\n    if (iVar6 < 1) goto LAB_00065cdc;\n    iVar7 = 0;\n    iVar10 = 4;\n    in_t2 = *(int *)PTR_interactive_shell_00144598;\n    piVar9 = *(int **)PTR_jobs_00144e5c;\n    piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n    do {\n      iVar11 = *piVar9;\n      if (((iVar11 != 0) && (*(int *)(iVar11 + 0xc) == iVar10)) &&\n         ((in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4))))) {\n        *(uint *)(iVar11 + 0x10) = *(uint *)(iVar11 + 0x10) | 2;\n      }\n      iVar7 = iVar7 + 1;\n      piVar9 = piVar9 + 1;\n      if (iVar7 == iVar6) goto LAB_00065cdc;\n    } while( true );\n  }\n  if (*(int *)(puVar1 + 0x18) < 1) {\n    if (-1 < *(int *)puVar1) goto LAB_00065cdc;\n    unaff_s3 = (undefined1 *)0x0;\n  }\n  else {\n    unaff_s3 = (undefined1 *)0x0;\n    piVar3 = *(int **)PTR_jobs_00144e5c;\n    piVar9 = piVar3 + *(int *)(puVar1 + 0x18);\n    do {\n      while ((iVar6 = *piVar3, iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4))) {\n        piVar3 = piVar3 + 1;\n        if (piVar3 == piVar9) goto LAB_00065c10;\n      }\n      piVar5 = *(int **)(iVar6 + 4);\n      do {\n        piVar5 = (int *)*piVar5;\n        iVar7 = iVar7 + 1;\n      } while (*(int **)(iVar6 + 4) != piVar5);\n      piVar3 = piVar3 + 1;\n      unaff_s3 = unaff_s3 + iVar7;\n    } while (piVar3 != piVar9);\nLAB_00065c10:\n    in_t2 = *(int *)puVar1;\n    if (-1 < in_t2) goto LAB_00065c1c;\n  }\n  iVar6 = (*(code *)PTR_getmaxchild_00145174)();\n  in_t2 = iVar6;\n  if (-1 < iVar6) goto LAB_00065dc4;\n  in_t2 = 0x20;\n  *(undefined4 *)puVar1 = 0x20;\nLAB_00065c1c:\n  do {\n    if ((in_t2 < (int)unaff_s3) && (iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6)) {\n      iVar7 = 0;\n      iVar10 = 4;\n      iVar11 = *(int *)PTR_interactive_shell_00144598;\n      piVar9 = *(int **)PTR_jobs_00144e5c;\n      piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n      do {\n        while (((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))))) {\n          iVar7 = iVar7 + 1;\n          piVar9 = piVar9 + 1;\n          if (iVar7 == iVar6) goto LAB_00065cdc;\n        }\n        iVar4 = 0;\n        piVar5 = *(int **)(iVar8 + 4);\n        do {\n          piVar5 = (int *)*piVar5;\n          iVar4 = iVar4 + 1;\n        } while (*(int **)(iVar8 + 4) != piVar5);\n        unaff_s3 = unaff_s3 + -iVar4;\n        iVar7 = iVar7 + 1;\n        if ((int)unaff_s3 <= in_t2) break;\n        piVar9 = piVar9 + 1;\n        *(uint *)(iVar8 + 0x10) = *(uint *)(iVar8 + 0x10) | 2;\n      } while (iVar7 != iVar6);\n    }\nLAB_00065cdc:\n    (*(code *)PTR_sigprocmask_00146514)(3,unaff_s1,0);\nLAB_00065b24:\n    if (local_1c == *(int *)puVar2) {\n      return;\n    }\n    iVar6 = (*(code *)PTR___stack_chk_fail_00146488)();\nLAB_00065dc4:\n    *(int *)puVar1 = iVar6;\n  } while( true );\n}" primitive_type (function_declarator "FUN_00065adc(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  int *piVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int *piVar9;\n  int iVar10;\n  int in_t2;\n  int iVar11;\n  undefined1 *unaff_s1;\n  undefined1 *unaff_s3;\n  undefined1 auStack_11c [128];\n  undefined1 auStack_9c [128];\n  int local_1c;\n  \n  puVar2 = PTR___stack_chk_guard_001464dc;\n  puVar1 = PTR_js_00144e58;\n  local_1c = *(int *)PTR___stack_chk_guard_001464dc;\n  if (*(int *)(PTR_js_00144e58 + 0x18) == 0) goto LAB_00065b24;\n  unaff_s3 = auStack_11c;\n  (*(code *)PTR_sigemptyset_001462d4)(unaff_s3);\n  unaff_s1 = auStack_9c;\n  (*(code *)PTR_sigaddset_00146364)(unaff_s3,0x12);\n  (*(code *)PTR_sigemptyset_001462d4)(unaff_s1);\n  (*(code *)PTR_sigprocmask_00146514)(1,unaff_s3,unaff_s1);\n  if (param_1 != 0) {\n    iVar6 = *(int *)(puVar1 + 0x18);\n    if (iVar6 < 1) goto LAB_00065cdc;\n    iVar7 = 0;\n    iVar10 = 4;\n    in_t2 = *(int *)PTR_interactive_shell_00144598;\n    piVar9 = *(int **)PTR_jobs_00144e5c;\n    piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n    do {\n      iVar11 = *piVar9;\n      if (((iVar11 != 0) && (*(int *)(iVar11 + 0xc) == iVar10)) &&\n         ((in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4))))) {\n        *(uint *)(iVar11 + 0x10) = *(uint *)(iVar11 + 0x10) | 2;\n      }\n      iVar7 = iVar7 + 1;\n      piVar9 = piVar9 + 1;\n      if (iVar7 == iVar6) goto LAB_00065cdc;\n    } while( true );\n  }\n  if (*(int *)(puVar1 + 0x18) < 1) {\n    if (-1 < *(int *)puVar1) goto LAB_00065cdc;\n    unaff_s3 = (undefined1 *)0x0;\n  }\n  else {\n    unaff_s3 = (undefined1 *)0x0;\n    piVar3 = *(int **)PTR_jobs_00144e5c;\n    piVar9 = piVar3 + *(int *)(puVar1 + 0x18);\n    do {\n      while ((iVar6 = *piVar3, iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4))) {\n        piVar3 = piVar3 + 1;\n        if (piVar3 == piVar9) goto LAB_00065c10;\n      }\n      piVar5 = *(int **)(iVar6 + 4);\n      do {\n        piVar5 = (int *)*piVar5;\n        iVar7 = iVar7 + 1;\n      } while (*(int **)(iVar6 + 4) != piVar5);\n      piVar3 = piVar3 + 1;\n      unaff_s3 = unaff_s3 + iVar7;\n    } while (piVar3 != piVar9);\nLAB_00065c10:\n    in_t2 = *(int *)puVar1;\n    if (-1 < in_t2) goto LAB_00065c1c;\n  }\n  iVar6 = (*(code *)PTR_getmaxchild_00145174)();\n  in_t2 = iVar6;\n  if (-1 < iVar6) goto LAB_00065dc4;\n  in_t2 = 0x20;\n  *(undefined4 *)puVar1 = 0x20;\nLAB_00065c1c:\n  do {\n    if ((in_t2 < (int)unaff_s3) && (iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6)) {\n      iVar7 = 0;\n      iVar10 = 4;\n      iVar11 = *(int *)PTR_interactive_shell_00144598;\n      piVar9 = *(int **)PTR_jobs_00144e5c;\n      piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n      do {\n        while (((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))))) {\n          iVar7 = iVar7 + 1;\n          piVar9 = piVar9 + 1;\n          if (iVar7 == iVar6) goto LAB_00065cdc;\n        }\n        iVar4 = 0;\n        piVar5 = *(int **)(iVar8 + 4);\n        do {\n          piVar5 = (int *)*piVar5;\n          iVar4 = iVar4 + 1;\n        } while (*(int **)(iVar8 + 4) != piVar5);\n        unaff_s3 = unaff_s3 + -iVar4;\n        iVar7 = iVar7 + 1;\n        if ((int)unaff_s3 <= in_t2) break;\n        piVar9 = piVar9 + 1;\n        *(uint *)(iVar8 + 0x10) = *(uint *)(iVar8 + 0x10) | 2;\n      } while (iVar7 != iVar6);\n    }\nLAB_00065cdc:\n    (*(code *)PTR_sigprocmask_00146514)(3,unaff_s1,0);\nLAB_00065b24:\n    if (local_1c == *(int *)puVar2) {\n      return;\n    }\n    iVar6 = (*(code *)PTR___stack_chk_fail_00146488)();\nLAB_00065dc4:\n    *(int *)puVar1 = iVar6;\n  } while( true );\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int in_t2;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "undefined1 *unaff_s1;" type_identifier (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "undefined1 *unaff_s3;" type_identifier (pointer_declarator "*unaff_s3" * identifier) ;) (declaration "undefined1 auStack_11c [128];" type_identifier (array_declarator "auStack_11c [128]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_9c [128];" type_identifier (array_declarator "auStack_9c [128]" identifier [ number_literal ]) ;) (declaration "int local_1c;" primitive_type identifier ;) (expression_statement "puVar2 = PTR___stack_chk_guard_001464dc;" (assignment_expression "puVar2 = PTR___stack_chk_guard_001464dc" identifier = identifier) ;) (expression_statement "puVar1 = PTR_js_00144e58;" (assignment_expression "puVar1 = PTR_js_00144e58" identifier = identifier) ;) (expression_statement "local_1c = *(int *)PTR___stack_chk_guard_001464dc;" (assignment_expression "local_1c = *(int *)PTR___stack_chk_guard_001464dc" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_001464dc" * (cast_expression "(int *)PTR___stack_chk_guard_001464dc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (*(int *)(PTR_js_00144e58 + 0x18) == 0) goto LAB_00065b24;" if (parenthesized_expression "(*(int *)(PTR_js_00144e58 + 0x18) == 0)" ( (binary_expression "*(int *)(PTR_js_00144e58 + 0x18) == 0" (pointer_expression "*(int *)(PTR_js_00144e58 + 0x18)" * (cast_expression "(int *)(PTR_js_00144e58 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_js_00144e58 + 0x18)" ( (binary_expression "PTR_js_00144e58 + 0x18" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_00065b24;" goto statement_identifier ;)) (expression_statement "unaff_s3 = auStack_11c;" (assignment_expression "unaff_s3 = auStack_11c" identifier = identifier) ;) (expression_statement "(*(code *)PTR_sigemptyset_001462d4)(unaff_s3);" (call_expression "(*(code *)PTR_sigemptyset_001462d4)(unaff_s3)" (parenthesized_expression "(*(code *)PTR_sigemptyset_001462d4)" ( (pointer_expression "*(code *)PTR_sigemptyset_001462d4" * (cast_expression "(code *)PTR_sigemptyset_001462d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s3)" ( identifier ))) ;) (expression_statement "unaff_s1 = auStack_9c;" (assignment_expression "unaff_s1 = auStack_9c" identifier = identifier) ;) (expression_statement "(*(code *)PTR_sigaddset_00146364)(unaff_s3,0x12);" (call_expression "(*(code *)PTR_sigaddset_00146364)(unaff_s3,0x12)" (parenthesized_expression "(*(code *)PTR_sigaddset_00146364)" ( (pointer_expression "*(code *)PTR_sigaddset_00146364" * (cast_expression "(code *)PTR_sigaddset_00146364" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s3,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(*(code *)PTR_sigemptyset_001462d4)(unaff_s1);" (call_expression "(*(code *)PTR_sigemptyset_001462d4)(unaff_s1)" (parenthesized_expression "(*(code *)PTR_sigemptyset_001462d4)" ( (pointer_expression "*(code *)PTR_sigemptyset_001462d4" * (cast_expression "(code *)PTR_sigemptyset_001462d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s1)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_sigprocmask_00146514)(1,unaff_s3,unaff_s1);" (call_expression "(*(code *)PTR_sigprocmask_00146514)(1,unaff_s3,unaff_s1)" (parenthesized_expression "(*(code *)PTR_sigprocmask_00146514)" ( (pointer_expression "*(code *)PTR_sigprocmask_00146514" * (cast_expression "(code *)PTR_sigprocmask_00146514" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,unaff_s3,unaff_s1)" ( number_literal , identifier , identifier ))) ;) (if_statement "if (param_1 != 0) {\n    iVar6 = *(int *)(puVar1 + 0x18);\n    if (iVar6 < 1) goto LAB_00065cdc;\n    iVar7 = 0;\n    iVar10 = 4;\n    in_t2 = *(int *)PTR_interactive_shell_00144598;\n    piVar9 = *(int **)PTR_jobs_00144e5c;\n    piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n    do {\n      iVar11 = *piVar9;\n      if (((iVar11 != 0) && (*(int *)(iVar11 + 0xc) == iVar10)) &&\n         ((in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4))))) {\n        *(uint *)(iVar11 + 0x10) = *(uint *)(iVar11 + 0x10) | 2;\n      }\n      iVar7 = iVar7 + 1;\n      piVar9 = piVar9 + 1;\n      if (iVar7 == iVar6) goto LAB_00065cdc;\n    } while( true );\n  }" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar6 = *(int *)(puVar1 + 0x18);\n    if (iVar6 < 1) goto LAB_00065cdc;\n    iVar7 = 0;\n    iVar10 = 4;\n    in_t2 = *(int *)PTR_interactive_shell_00144598;\n    piVar9 = *(int **)PTR_jobs_00144e5c;\n    piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n    do {\n      iVar11 = *piVar9;\n      if (((iVar11 != 0) && (*(int *)(iVar11 + 0xc) == iVar10)) &&\n         ((in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4))))) {\n        *(uint *)(iVar11 + 0x10) = *(uint *)(iVar11 + 0x10) | 2;\n      }\n      iVar7 = iVar7 + 1;\n      piVar9 = piVar9 + 1;\n      if (iVar7 == iVar6) goto LAB_00065cdc;\n    } while( true );\n  }" { (expression_statement "iVar6 = *(int *)(puVar1 + 0x18);" (assignment_expression "iVar6 = *(int *)(puVar1 + 0x18)" identifier = (pointer_expression "*(int *)(puVar1 + 0x18)" * (cast_expression "(int *)(puVar1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x18)" ( (binary_expression "puVar1 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (iVar6 < 1) goto LAB_00065cdc;" if (parenthesized_expression "(iVar6 < 1)" ( (binary_expression "iVar6 < 1" identifier < number_literal) )) (goto_statement "goto LAB_00065cdc;" goto statement_identifier ;)) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "iVar10 = 4;" (assignment_expression "iVar10 = 4" identifier = number_literal) ;) (expression_statement "in_t2 = *(int *)PTR_interactive_shell_00144598;" (assignment_expression "in_t2 = *(int *)PTR_interactive_shell_00144598" identifier = (pointer_expression "*(int *)PTR_interactive_shell_00144598" * (cast_expression "(int *)PTR_interactive_shell_00144598" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "piVar9 = *(int **)PTR_jobs_00144e5c;" (assignment_expression "piVar9 = *(int **)PTR_jobs_00144e5c" identifier = (pointer_expression "*(int **)PTR_jobs_00144e5c" * (cast_expression "(int **)PTR_jobs_00144e5c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;" (assignment_expression "piVar3 = (int *)PTR_last_asynchronous_pid_00144d30" identifier = (cast_expression "(int *)PTR_last_asynchronous_pid_00144d30" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n      iVar11 = *piVar9;\n      if (((iVar11 != 0) && (*(int *)(iVar11 + 0xc) == iVar10)) &&\n         ((in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4))))) {\n        *(uint *)(iVar11 + 0x10) = *(uint *)(iVar11 + 0x10) | 2;\n      }\n      iVar7 = iVar7 + 1;\n      piVar9 = piVar9 + 1;\n      if (iVar7 == iVar6) goto LAB_00065cdc;\n    } while( true );" do (compound_statement "{\n      iVar11 = *piVar9;\n      if (((iVar11 != 0) && (*(int *)(iVar11 + 0xc) == iVar10)) &&\n         ((in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4))))) {\n        *(uint *)(iVar11 + 0x10) = *(uint *)(iVar11 + 0x10) | 2;\n      }\n      iVar7 = iVar7 + 1;\n      piVar9 = piVar9 + 1;\n      if (iVar7 == iVar6) goto LAB_00065cdc;\n    }" { (expression_statement "iVar11 = *piVar9;" (assignment_expression "iVar11 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (if_statement "if (((iVar11 != 0) && (*(int *)(iVar11 + 0xc) == iVar10)) &&\n         ((in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4))))) {\n        *(uint *)(iVar11 + 0x10) = *(uint *)(iVar11 + 0x10) | 2;\n      }" if (parenthesized_expression "(((iVar11 != 0) && (*(int *)(iVar11 + 0xc) == iVar10)) &&\n         ((in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4)))))" ( (binary_expression "((iVar11 != 0) && (*(int *)(iVar11 + 0xc) == iVar10)) &&\n         ((in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4))))" (parenthesized_expression "((iVar11 != 0) && (*(int *)(iVar11 + 0xc) == iVar10))" ( (binary_expression "(iVar11 != 0) && (*(int *)(iVar11 + 0xc) == iVar10)" (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(int *)(iVar11 + 0xc) == iVar10)" ( (binary_expression "*(int *)(iVar11 + 0xc) == iVar10" (pointer_expression "*(int *)(iVar11 + 0xc)" * (cast_expression "(int *)(iVar11 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xc)" ( (binary_expression "iVar11 + 0xc" identifier + number_literal) )))) == identifier) ))) )) && (parenthesized_expression "((in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4))))" ( (parenthesized_expression "(in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4)))" ( (binary_expression "in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4))" (binary_expression "in_t2 != 0" identifier != number_literal) || (parenthesized_expression "(iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4))" ( (comma_expression "iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4)" (assignment_expression "iVar8 = FUN_00065a6c(iVar7)" identifier = (call_expression "FUN_00065a6c(iVar7)" identifier (argument_list "(iVar7)" ( identifier )))) , (binary_expression "*piVar3 != *(int *)(iVar8 + 4)" (pointer_expression "*piVar3" * identifier) != (pointer_expression "*(int *)(iVar8 + 4)" * (cast_expression "(int *)(iVar8 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 4)" ( (binary_expression "iVar8 + 4" identifier + number_literal) )))))) ))) )) ))) )) (compound_statement "{\n        *(uint *)(iVar11 + 0x10) = *(uint *)(iVar11 + 0x10) | 2;\n      }" { (expression_statement "*(uint *)(iVar11 + 0x10) = *(uint *)(iVar11 + 0x10) | 2;" (assignment_expression "*(uint *)(iVar11 + 0x10) = *(uint *)(iVar11 + 0x10) | 2" (pointer_expression "*(uint *)(iVar11 + 0x10)" * (cast_expression "(uint *)(iVar11 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x10)" ( (binary_expression "iVar11 + 0x10" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar11 + 0x10) | 2" (pointer_expression "*(uint *)(iVar11 + 0x10)" * (cast_expression "(uint *)(iVar11 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x10)" ( (binary_expression "iVar11 + 0x10" identifier + number_literal) )))) | number_literal)) ;) })) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "piVar9 = piVar9 + 1;" (assignment_expression "piVar9 = piVar9 + 1" identifier = (binary_expression "piVar9 + 1" identifier + number_literal)) ;) (if_statement "if (iVar7 == iVar6) goto LAB_00065cdc;" if (parenthesized_expression "(iVar7 == iVar6)" ( (binary_expression "iVar7 == iVar6" identifier == identifier) )) (goto_statement "goto LAB_00065cdc;" goto statement_identifier ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (if_statement "if (*(int *)(puVar1 + 0x18) < 1) {\n    if (-1 < *(int *)puVar1) goto LAB_00065cdc;\n    unaff_s3 = (undefined1 *)0x0;\n  }\n  else {\n    unaff_s3 = (undefined1 *)0x0;\n    piVar3 = *(int **)PTR_jobs_00144e5c;\n    piVar9 = piVar3 + *(int *)(puVar1 + 0x18);\n    do {\n      while ((iVar6 = *piVar3, iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4))) {\n        piVar3 = piVar3 + 1;\n        if (piVar3 == piVar9) goto LAB_00065c10;\n      }\n      piVar5 = *(int **)(iVar6 + 4);\n      do {\n        piVar5 = (int *)*piVar5;\n        iVar7 = iVar7 + 1;\n      } while (*(int **)(iVar6 + 4) != piVar5);\n      piVar3 = piVar3 + 1;\n      unaff_s3 = unaff_s3 + iVar7;\n    } while (piVar3 != piVar9);\nLAB_00065c10:\n    in_t2 = *(int *)puVar1;\n    if (-1 < in_t2) goto LAB_00065c1c;\n  }" if (parenthesized_expression "(*(int *)(puVar1 + 0x18) < 1)" ( (binary_expression "*(int *)(puVar1 + 0x18) < 1" (pointer_expression "*(int *)(puVar1 + 0x18)" * (cast_expression "(int *)(puVar1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x18)" ( (binary_expression "puVar1 + 0x18" identifier + number_literal) )))) < number_literal) )) (compound_statement "{\n    if (-1 < *(int *)puVar1) goto LAB_00065cdc;\n    unaff_s3 = (undefined1 *)0x0;\n  }" { (if_statement "if (-1 < *(int *)puVar1) goto LAB_00065cdc;" if (parenthesized_expression "(-1 < *(int *)puVar1)" ( (binary_expression "-1 < *(int *)puVar1" number_literal < (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (goto_statement "goto LAB_00065cdc;" goto statement_identifier ;)) (expression_statement "unaff_s3 = (undefined1 *)0x0;" (assignment_expression "unaff_s3 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    unaff_s3 = (undefined1 *)0x0;\n    piVar3 = *(int **)PTR_jobs_00144e5c;\n    piVar9 = piVar3 + *(int *)(puVar1 + 0x18);\n    do {\n      while ((iVar6 = *piVar3, iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4))) {\n        piVar3 = piVar3 + 1;\n        if (piVar3 == piVar9) goto LAB_00065c10;\n      }\n      piVar5 = *(int **)(iVar6 + 4);\n      do {\n        piVar5 = (int *)*piVar5;\n        iVar7 = iVar7 + 1;\n      } while (*(int **)(iVar6 + 4) != piVar5);\n      piVar3 = piVar3 + 1;\n      unaff_s3 = unaff_s3 + iVar7;\n    } while (piVar3 != piVar9);\nLAB_00065c10:\n    in_t2 = *(int *)puVar1;\n    if (-1 < in_t2) goto LAB_00065c1c;\n  }" else (compound_statement "{\n    unaff_s3 = (undefined1 *)0x0;\n    piVar3 = *(int **)PTR_jobs_00144e5c;\n    piVar9 = piVar3 + *(int *)(puVar1 + 0x18);\n    do {\n      while ((iVar6 = *piVar3, iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4))) {\n        piVar3 = piVar3 + 1;\n        if (piVar3 == piVar9) goto LAB_00065c10;\n      }\n      piVar5 = *(int **)(iVar6 + 4);\n      do {\n        piVar5 = (int *)*piVar5;\n        iVar7 = iVar7 + 1;\n      } while (*(int **)(iVar6 + 4) != piVar5);\n      piVar3 = piVar3 + 1;\n      unaff_s3 = unaff_s3 + iVar7;\n    } while (piVar3 != piVar9);\nLAB_00065c10:\n    in_t2 = *(int *)puVar1;\n    if (-1 < in_t2) goto LAB_00065c1c;\n  }" { (expression_statement "unaff_s3 = (undefined1 *)0x0;" (assignment_expression "unaff_s3 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar3 = *(int **)PTR_jobs_00144e5c;" (assignment_expression "piVar3 = *(int **)PTR_jobs_00144e5c" identifier = (pointer_expression "*(int **)PTR_jobs_00144e5c" * (cast_expression "(int **)PTR_jobs_00144e5c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "piVar9 = piVar3 + *(int *)(puVar1 + 0x18);" (assignment_expression "piVar9 = piVar3 + *(int *)(puVar1 + 0x18)" identifier = (binary_expression "piVar3 + *(int *)(puVar1 + 0x18)" identifier + (pointer_expression "*(int *)(puVar1 + 0x18)" * (cast_expression "(int *)(puVar1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x18)" ( (binary_expression "puVar1 + 0x18" identifier + number_literal) )))))) ;) (do_statement "do {\n      while ((iVar6 = *piVar3, iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4))) {\n        piVar3 = piVar3 + 1;\n        if (piVar3 == piVar9) goto LAB_00065c10;\n      }\n      piVar5 = *(int **)(iVar6 + 4);\n      do {\n        piVar5 = (int *)*piVar5;\n        iVar7 = iVar7 + 1;\n      } while (*(int **)(iVar6 + 4) != piVar5);\n      piVar3 = piVar3 + 1;\n      unaff_s3 = unaff_s3 + iVar7;\n    } while (piVar3 != piVar9);" do (compound_statement "{\n      while ((iVar6 = *piVar3, iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4))) {\n        piVar3 = piVar3 + 1;\n        if (piVar3 == piVar9) goto LAB_00065c10;\n      }\n      piVar5 = *(int **)(iVar6 + 4);\n      do {\n        piVar5 = (int *)*piVar5;\n        iVar7 = iVar7 + 1;\n      } while (*(int **)(iVar6 + 4) != piVar5);\n      piVar3 = piVar3 + 1;\n      unaff_s3 = unaff_s3 + iVar7;\n    }" { (while_statement "while ((iVar6 = *piVar3, iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4))) {\n        piVar3 = piVar3 + 1;\n        if (piVar3 == piVar9) goto LAB_00065c10;\n      }" while (parenthesized_expression "((iVar6 = *piVar3, iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4)))" ( (parenthesized_expression "(iVar6 = *piVar3, iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4))" ( (comma_expression "iVar6 = *piVar3, iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4)" (assignment_expression "iVar6 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) , (binary_expression "iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4)" (binary_expression "iVar6 == 0" identifier == number_literal) || (parenthesized_expression "(iVar7 = 0, *(int *)(iVar6 + 0xc) != 4)" ( (comma_expression "iVar7 = 0, *(int *)(iVar6 + 0xc) != 4" (assignment_expression "iVar7 = 0" identifier = number_literal) , (binary_expression "*(int *)(iVar6 + 0xc) != 4" (pointer_expression "*(int *)(iVar6 + 0xc)" * (cast_expression "(int *)(iVar6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) )))) != number_literal)) )))) )) )) (compound_statement "{\n        piVar3 = piVar3 + 1;\n        if (piVar3 == piVar9) goto LAB_00065c10;\n      }" { (expression_statement "piVar3 = piVar3 + 1;" (assignment_expression "piVar3 = piVar3 + 1" identifier = (binary_expression "piVar3 + 1" identifier + number_literal)) ;) (if_statement "if (piVar3 == piVar9) goto LAB_00065c10;" if (parenthesized_expression "(piVar3 == piVar9)" ( (binary_expression "piVar3 == piVar9" identifier == identifier) )) (goto_statement "goto LAB_00065c10;" goto statement_identifier ;)) })) (expression_statement "piVar5 = *(int **)(iVar6 + 4);" (assignment_expression "piVar5 = *(int **)(iVar6 + 4)" identifier = (pointer_expression "*(int **)(iVar6 + 4)" * (cast_expression "(int **)(iVar6 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 4)" ( (binary_expression "iVar6 + 4" identifier + number_literal) ))))) ;) (do_statement "do {\n        piVar5 = (int *)*piVar5;\n        iVar7 = iVar7 + 1;\n      } while (*(int **)(iVar6 + 4) != piVar5);" do (compound_statement "{\n        piVar5 = (int *)*piVar5;\n        iVar7 = iVar7 + 1;\n      }" { (expression_statement "piVar5 = (int *)*piVar5;" (assignment_expression "piVar5 = (int *)*piVar5" identifier = (cast_expression "(int *)*piVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar5" * identifier))) ;) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(int **)(iVar6 + 4) != piVar5)" ( (binary_expression "*(int **)(iVar6 + 4) != piVar5" (pointer_expression "*(int **)(iVar6 + 4)" * (cast_expression "(int **)(iVar6 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 4)" ( (binary_expression "iVar6 + 4" identifier + number_literal) )))) != identifier) )) ;) (expression_statement "piVar3 = piVar3 + 1;" (assignment_expression "piVar3 = piVar3 + 1" identifier = (binary_expression "piVar3 + 1" identifier + number_literal)) ;) (expression_statement "unaff_s3 = unaff_s3 + iVar7;" (assignment_expression "unaff_s3 = unaff_s3 + iVar7" identifier = (binary_expression "unaff_s3 + iVar7" identifier + identifier)) ;) }) while (parenthesized_expression "(piVar3 != piVar9)" ( (binary_expression "piVar3 != piVar9" identifier != identifier) )) ;) (labeled_statement "LAB_00065c10:\n    in_t2 = *(int *)puVar1;" statement_identifier : (expression_statement "in_t2 = *(int *)puVar1;" (assignment_expression "in_t2 = *(int *)puVar1" identifier = (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;)) (if_statement "if (-1 < in_t2) goto LAB_00065c1c;" if (parenthesized_expression "(-1 < in_t2)" ( (binary_expression "-1 < in_t2" number_literal < identifier) )) (goto_statement "goto LAB_00065c1c;" goto statement_identifier ;)) }))) (expression_statement "iVar6 = (*(code *)PTR_getmaxchild_00145174)();" (assignment_expression "iVar6 = (*(code *)PTR_getmaxchild_00145174)()" identifier = (call_expression "(*(code *)PTR_getmaxchild_00145174)()" (parenthesized_expression "(*(code *)PTR_getmaxchild_00145174)" ( (pointer_expression "*(code *)PTR_getmaxchild_00145174" * (cast_expression "(code *)PTR_getmaxchild_00145174" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "in_t2 = iVar6;" (assignment_expression "in_t2 = iVar6" identifier = identifier) ;) (if_statement "if (-1 < iVar6) goto LAB_00065dc4;" if (parenthesized_expression "(-1 < iVar6)" ( (binary_expression "-1 < iVar6" number_literal < identifier) )) (goto_statement "goto LAB_00065dc4;" goto statement_identifier ;)) (expression_statement "in_t2 = 0x20;" (assignment_expression "in_t2 = 0x20" identifier = number_literal) ;) (expression_statement "*(undefined4 *)puVar1 = 0x20;" (assignment_expression "*(undefined4 *)puVar1 = 0x20" (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (labeled_statement "LAB_00065c1c:\n  do {\n    if ((in_t2 < (int)unaff_s3) && (iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6)) {\n      iVar7 = 0;\n      iVar10 = 4;\n      iVar11 = *(int *)PTR_interactive_shell_00144598;\n      piVar9 = *(int **)PTR_jobs_00144e5c;\n      piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n      do {\n        while (((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))))) {\n          iVar7 = iVar7 + 1;\n          piVar9 = piVar9 + 1;\n          if (iVar7 == iVar6) goto LAB_00065cdc;\n        }\n        iVar4 = 0;\n        piVar5 = *(int **)(iVar8 + 4);\n        do {\n          piVar5 = (int *)*piVar5;\n          iVar4 = iVar4 + 1;\n        } while (*(int **)(iVar8 + 4) != piVar5);\n        unaff_s3 = unaff_s3 + -iVar4;\n        iVar7 = iVar7 + 1;\n        if ((int)unaff_s3 <= in_t2) break;\n        piVar9 = piVar9 + 1;\n        *(uint *)(iVar8 + 0x10) = *(uint *)(iVar8 + 0x10) | 2;\n      } while (iVar7 != iVar6);\n    }\nLAB_00065cdc:\n    (*(code *)PTR_sigprocmask_00146514)(3,unaff_s1,0);\nLAB_00065b24:\n    if (local_1c == *(int *)puVar2) {\n      return;\n    }\n    iVar6 = (*(code *)PTR___stack_chk_fail_00146488)();\nLAB_00065dc4:\n    *(int *)puVar1 = iVar6;\n  } while( true );" statement_identifier : (do_statement "do {\n    if ((in_t2 < (int)unaff_s3) && (iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6)) {\n      iVar7 = 0;\n      iVar10 = 4;\n      iVar11 = *(int *)PTR_interactive_shell_00144598;\n      piVar9 = *(int **)PTR_jobs_00144e5c;\n      piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n      do {\n        while (((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))))) {\n          iVar7 = iVar7 + 1;\n          piVar9 = piVar9 + 1;\n          if (iVar7 == iVar6) goto LAB_00065cdc;\n        }\n        iVar4 = 0;\n        piVar5 = *(int **)(iVar8 + 4);\n        do {\n          piVar5 = (int *)*piVar5;\n          iVar4 = iVar4 + 1;\n        } while (*(int **)(iVar8 + 4) != piVar5);\n        unaff_s3 = unaff_s3 + -iVar4;\n        iVar7 = iVar7 + 1;\n        if ((int)unaff_s3 <= in_t2) break;\n        piVar9 = piVar9 + 1;\n        *(uint *)(iVar8 + 0x10) = *(uint *)(iVar8 + 0x10) | 2;\n      } while (iVar7 != iVar6);\n    }\nLAB_00065cdc:\n    (*(code *)PTR_sigprocmask_00146514)(3,unaff_s1,0);\nLAB_00065b24:\n    if (local_1c == *(int *)puVar2) {\n      return;\n    }\n    iVar6 = (*(code *)PTR___stack_chk_fail_00146488)();\nLAB_00065dc4:\n    *(int *)puVar1 = iVar6;\n  } while( true );" do (compound_statement "{\n    if ((in_t2 < (int)unaff_s3) && (iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6)) {\n      iVar7 = 0;\n      iVar10 = 4;\n      iVar11 = *(int *)PTR_interactive_shell_00144598;\n      piVar9 = *(int **)PTR_jobs_00144e5c;\n      piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n      do {\n        while (((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))))) {\n          iVar7 = iVar7 + 1;\n          piVar9 = piVar9 + 1;\n          if (iVar7 == iVar6) goto LAB_00065cdc;\n        }\n        iVar4 = 0;\n        piVar5 = *(int **)(iVar8 + 4);\n        do {\n          piVar5 = (int *)*piVar5;\n          iVar4 = iVar4 + 1;\n        } while (*(int **)(iVar8 + 4) != piVar5);\n        unaff_s3 = unaff_s3 + -iVar4;\n        iVar7 = iVar7 + 1;\n        if ((int)unaff_s3 <= in_t2) break;\n        piVar9 = piVar9 + 1;\n        *(uint *)(iVar8 + 0x10) = *(uint *)(iVar8 + 0x10) | 2;\n      } while (iVar7 != iVar6);\n    }\nLAB_00065cdc:\n    (*(code *)PTR_sigprocmask_00146514)(3,unaff_s1,0);\nLAB_00065b24:\n    if (local_1c == *(int *)puVar2) {\n      return;\n    }\n    iVar6 = (*(code *)PTR___stack_chk_fail_00146488)();\nLAB_00065dc4:\n    *(int *)puVar1 = iVar6;\n  }" { (if_statement "if ((in_t2 < (int)unaff_s3) && (iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6)) {\n      iVar7 = 0;\n      iVar10 = 4;\n      iVar11 = *(int *)PTR_interactive_shell_00144598;\n      piVar9 = *(int **)PTR_jobs_00144e5c;\n      piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n      do {\n        while (((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))))) {\n          iVar7 = iVar7 + 1;\n          piVar9 = piVar9 + 1;\n          if (iVar7 == iVar6) goto LAB_00065cdc;\n        }\n        iVar4 = 0;\n        piVar5 = *(int **)(iVar8 + 4);\n        do {\n          piVar5 = (int *)*piVar5;\n          iVar4 = iVar4 + 1;\n        } while (*(int **)(iVar8 + 4) != piVar5);\n        unaff_s3 = unaff_s3 + -iVar4;\n        iVar7 = iVar7 + 1;\n        if ((int)unaff_s3 <= in_t2) break;\n        piVar9 = piVar9 + 1;\n        *(uint *)(iVar8 + 0x10) = *(uint *)(iVar8 + 0x10) | 2;\n      } while (iVar7 != iVar6);\n    }" if (parenthesized_expression "((in_t2 < (int)unaff_s3) && (iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6))" ( (binary_expression "(in_t2 < (int)unaff_s3) && (iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6)" (parenthesized_expression "(in_t2 < (int)unaff_s3)" ( (binary_expression "in_t2 < (int)unaff_s3" identifier < (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "(iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6)" ( (comma_expression "iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6" (assignment_expression "iVar6 = *(int *)(puVar1 + 0x18)" identifier = (pointer_expression "*(int *)(puVar1 + 0x18)" * (cast_expression "(int *)(puVar1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x18)" ( (binary_expression "puVar1 + 0x18" identifier + number_literal) ))))) , (binary_expression "0 < iVar6" number_literal < identifier)) ))) )) (compound_statement "{\n      iVar7 = 0;\n      iVar10 = 4;\n      iVar11 = *(int *)PTR_interactive_shell_00144598;\n      piVar9 = *(int **)PTR_jobs_00144e5c;\n      piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n      do {\n        while (((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))))) {\n          iVar7 = iVar7 + 1;\n          piVar9 = piVar9 + 1;\n          if (iVar7 == iVar6) goto LAB_00065cdc;\n        }\n        iVar4 = 0;\n        piVar5 = *(int **)(iVar8 + 4);\n        do {\n          piVar5 = (int *)*piVar5;\n          iVar4 = iVar4 + 1;\n        } while (*(int **)(iVar8 + 4) != piVar5);\n        unaff_s3 = unaff_s3 + -iVar4;\n        iVar7 = iVar7 + 1;\n        if ((int)unaff_s3 <= in_t2) break;\n        piVar9 = piVar9 + 1;\n        *(uint *)(iVar8 + 0x10) = *(uint *)(iVar8 + 0x10) | 2;\n      } while (iVar7 != iVar6);\n    }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "iVar10 = 4;" (assignment_expression "iVar10 = 4" identifier = number_literal) ;) (expression_statement "iVar11 = *(int *)PTR_interactive_shell_00144598;" (assignment_expression "iVar11 = *(int *)PTR_interactive_shell_00144598" identifier = (pointer_expression "*(int *)PTR_interactive_shell_00144598" * (cast_expression "(int *)PTR_interactive_shell_00144598" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "piVar9 = *(int **)PTR_jobs_00144e5c;" (assignment_expression "piVar9 = *(int **)PTR_jobs_00144e5c" identifier = (pointer_expression "*(int **)PTR_jobs_00144e5c" * (cast_expression "(int **)PTR_jobs_00144e5c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;" (assignment_expression "piVar3 = (int *)PTR_last_asynchronous_pid_00144d30" identifier = (cast_expression "(int *)PTR_last_asynchronous_pid_00144d30" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n        while (((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))))) {\n          iVar7 = iVar7 + 1;\n          piVar9 = piVar9 + 1;\n          if (iVar7 == iVar6) goto LAB_00065cdc;\n        }\n        iVar4 = 0;\n        piVar5 = *(int **)(iVar8 + 4);\n        do {\n          piVar5 = (int *)*piVar5;\n          iVar4 = iVar4 + 1;\n        } while (*(int **)(iVar8 + 4) != piVar5);\n        unaff_s3 = unaff_s3 + -iVar4;\n        iVar7 = iVar7 + 1;\n        if ((int)unaff_s3 <= in_t2) break;\n        piVar9 = piVar9 + 1;\n        *(uint *)(iVar8 + 0x10) = *(uint *)(iVar8 + 0x10) | 2;\n      } while (iVar7 != iVar6);" do (compound_statement "{\n        while (((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))))) {\n          iVar7 = iVar7 + 1;\n          piVar9 = piVar9 + 1;\n          if (iVar7 == iVar6) goto LAB_00065cdc;\n        }\n        iVar4 = 0;\n        piVar5 = *(int **)(iVar8 + 4);\n        do {\n          piVar5 = (int *)*piVar5;\n          iVar4 = iVar4 + 1;\n        } while (*(int **)(iVar8 + 4) != piVar5);\n        unaff_s3 = unaff_s3 + -iVar4;\n        iVar7 = iVar7 + 1;\n        if ((int)unaff_s3 <= in_t2) break;\n        piVar9 = piVar9 + 1;\n        *(uint *)(iVar8 + 0x10) = *(uint *)(iVar8 + 0x10) | 2;\n      }" { (while_statement "while (((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))))) {\n          iVar7 = iVar7 + 1;\n          piVar9 = piVar9 + 1;\n          if (iVar7 == iVar6) goto LAB_00065cdc;\n        }" while (parenthesized_expression "(((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4))))))" ( (parenthesized_expression "((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))))" ( (binary_expression "(iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4))))" (parenthesized_expression "(iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10))" ( (comma_expression "iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)" (assignment_expression "iVar8 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) , (binary_expression "iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)" (binary_expression "iVar8 == 0" identifier == number_literal) || (parenthesized_expression "(*(int *)(iVar8 + 0xc) != iVar10)" ( (binary_expression "*(int *)(iVar8 + 0xc) != iVar10" (pointer_expression "*(int *)(iVar8 + 0xc)" * (cast_expression "(int *)(iVar8 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0xc)" ( (binary_expression "iVar8 + 0xc" identifier + number_literal) )))) != identifier) )))) )) || (parenthesized_expression "((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4))))" ( (parenthesized_expression "(iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))" ( (binary_expression "iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4))" (binary_expression "iVar11 == 0" identifier == number_literal) && (parenthesized_expression "(iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4))" ( (comma_expression "iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)" (assignment_expression "iVar4 = FUN_00065a6c(iVar7)" identifier = (call_expression "FUN_00065a6c(iVar7)" identifier (argument_list "(iVar7)" ( identifier )))) , (binary_expression "*piVar3 == *(int *)(iVar4 + 4)" (pointer_expression "*piVar3" * identifier) == (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))))) ))) )) ))) )) )) (compound_statement "{\n          iVar7 = iVar7 + 1;\n          piVar9 = piVar9 + 1;\n          if (iVar7 == iVar6) goto LAB_00065cdc;\n        }" { (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "piVar9 = piVar9 + 1;" (assignment_expression "piVar9 = piVar9 + 1" identifier = (binary_expression "piVar9 + 1" identifier + number_literal)) ;) (if_statement "if (iVar7 == iVar6) goto LAB_00065cdc;" if (parenthesized_expression "(iVar7 == iVar6)" ( (binary_expression "iVar7 == iVar6" identifier == identifier) )) (goto_statement "goto LAB_00065cdc;" goto statement_identifier ;)) })) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "piVar5 = *(int **)(iVar8 + 4);" (assignment_expression "piVar5 = *(int **)(iVar8 + 4)" identifier = (pointer_expression "*(int **)(iVar8 + 4)" * (cast_expression "(int **)(iVar8 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 4)" ( (binary_expression "iVar8 + 4" identifier + number_literal) ))))) ;) (do_statement "do {\n          piVar5 = (int *)*piVar5;\n          iVar4 = iVar4 + 1;\n        } while (*(int **)(iVar8 + 4) != piVar5);" do (compound_statement "{\n          piVar5 = (int *)*piVar5;\n          iVar4 = iVar4 + 1;\n        }" { (expression_statement "piVar5 = (int *)*piVar5;" (assignment_expression "piVar5 = (int *)*piVar5" identifier = (cast_expression "(int *)*piVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar5" * identifier))) ;) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(int **)(iVar8 + 4) != piVar5)" ( (binary_expression "*(int **)(iVar8 + 4) != piVar5" (pointer_expression "*(int **)(iVar8 + 4)" * (cast_expression "(int **)(iVar8 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 4)" ( (binary_expression "iVar8 + 4" identifier + number_literal) )))) != identifier) )) ;) (expression_statement "unaff_s3 = unaff_s3 + -iVar4;" (assignment_expression "unaff_s3 = unaff_s3 + -iVar4" identifier = (binary_expression "unaff_s3 + -iVar4" identifier + (unary_expression "-iVar4" - identifier))) ;) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (if_statement "if ((int)unaff_s3 <= in_t2) break;" if (parenthesized_expression "((int)unaff_s3 <= in_t2)" ( (binary_expression "(int)unaff_s3 <= in_t2" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (break_statement "break;" break ;)) (expression_statement "piVar9 = piVar9 + 1;" (assignment_expression "piVar9 = piVar9 + 1" identifier = (binary_expression "piVar9 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(iVar8 + 0x10) = *(uint *)(iVar8 + 0x10) | 2;" (assignment_expression "*(uint *)(iVar8 + 0x10) = *(uint *)(iVar8 + 0x10) | 2" (pointer_expression "*(uint *)(iVar8 + 0x10)" * (cast_expression "(uint *)(iVar8 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x10)" ( (binary_expression "iVar8 + 0x10" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar8 + 0x10) | 2" (pointer_expression "*(uint *)(iVar8 + 0x10)" * (cast_expression "(uint *)(iVar8 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x10)" ( (binary_expression "iVar8 + 0x10" identifier + number_literal) )))) | number_literal)) ;) }) while (parenthesized_expression "(iVar7 != iVar6)" ( (binary_expression "iVar7 != iVar6" identifier != identifier) )) ;) })) (labeled_statement "LAB_00065cdc:\n    (*(code *)PTR_sigprocmask_00146514)(3,unaff_s1,0);" statement_identifier : (expression_statement "(*(code *)PTR_sigprocmask_00146514)(3,unaff_s1,0);" (call_expression "(*(code *)PTR_sigprocmask_00146514)(3,unaff_s1,0)" (parenthesized_expression "(*(code *)PTR_sigprocmask_00146514)" ( (pointer_expression "*(code *)PTR_sigprocmask_00146514" * (cast_expression "(code *)PTR_sigprocmask_00146514" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3,unaff_s1,0)" ( number_literal , identifier , number_literal ))) ;)) (labeled_statement "LAB_00065b24:\n    if (local_1c == *(int *)puVar2) {\n      return;\n    }" statement_identifier : (if_statement "if (local_1c == *(int *)puVar2) {\n      return;\n    }" if (parenthesized_expression "(local_1c == *(int *)puVar2)" ( (binary_expression "local_1c == *(int *)puVar2" identifier == (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) }))) (expression_statement "iVar6 = (*(code *)PTR___stack_chk_fail_00146488)();" (assignment_expression "iVar6 = (*(code *)PTR___stack_chk_fail_00146488)()" identifier = (call_expression "(*(code *)PTR___stack_chk_fail_00146488)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00146488)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00146488" * (cast_expression "(code *)PTR___stack_chk_fail_00146488" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (labeled_statement "LAB_00065dc4:\n    *(int *)puVar1 = iVar6;" statement_identifier : (expression_statement "*(int *)puVar1 = iVar6;" (assignment_expression "*(int *)puVar1 = iVar6" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;)) }) while (parenthesized_expression "( true )" ( true )) ;)) })))
(translation_unit "void mark_dead_jobs_as_notified(int force)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  int *piVar3;\n  PROCESS *pPVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int *piVar11;\n  int iVar12;\n  int in_t2;\n  int iVar13;\n  sigset_t *unaff_s1;\n  sigset_t *unaff_s3;\n  sigset_t set;\n  sigset_t oset;\n  \n  puVar2 = PTR___stack_chk_guard_001464dc;\n  puVar1 = PTR_js_00144e58;\n  iVar7 = *(int *)PTR___stack_chk_guard_001464dc;\n  if (*(int *)(PTR_js_00144e58 + 0x18) == 0) goto LAB_00065b24;\n  unaff_s3 = &set;\n  (*(code *)PTR_sigemptyset_001462d4)(unaff_s3);\n  unaff_s1 = &oset;\n  (*(code *)PTR_sigaddset_00146364)(unaff_s3,0x12);\n  (*(code *)PTR_sigemptyset_001462d4)(unaff_s1);\n  (*(code *)PTR_sigprocmask_00146514)(1,unaff_s3,unaff_s1);\n  if (force != 0) {\n    iVar6 = *(int *)(puVar1 + 0x18);\n    if (iVar6 < 1) goto LAB_00065cdc;\n    iVar9 = 0;\n    iVar12 = 4;\n    in_t2 = *(int *)PTR_interactive_shell_00144598;\n    piVar11 = *(int **)PTR_jobs_00144e5c;\n    piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n    do {\n      iVar13 = *piVar11;\n      if (((iVar13 != 0) && (*(int *)(iVar13 + 0xc) == iVar12)) &&\n         ((in_t2 != 0 || (pPVar4 = find_last_proc(iVar9,iVar9), *piVar3 != pPVar4->pid)))) {\n        *(uint *)(iVar13 + 0x10) = *(uint *)(iVar13 + 0x10) | 2;\n      }\n      iVar9 = iVar9 + 1;\n      piVar11 = piVar11 + 1;\n      if (iVar9 == iVar6) goto LAB_00065cdc;\n    } while( true );\n  }\n  if (*(int *)(puVar1 + 0x18) < 1) {\n    if (-1 < *(int *)puVar1) goto LAB_00065cdc;\n    unaff_s3 = (sigset_t *)0x0;\n  }\n  else {\n    unaff_s3 = (sigset_t *)0x0;\n    piVar3 = *(int **)PTR_jobs_00144e5c;\n    piVar11 = piVar3 + *(int *)(puVar1 + 0x18);\n    do {\n      while ((iVar6 = *piVar3, iVar6 == 0 || (iVar9 = 0, *(int *)(iVar6 + 0xc) != 4))) {\n        piVar3 = piVar3 + 1;\n        if (piVar3 == piVar11) goto LAB_00065c10;\n      }\n      piVar5 = *(int **)(iVar6 + 4);\n      do {\n        piVar5 = (int *)*piVar5;\n        iVar9 = iVar9 + 1;\n      } while (*(int **)(iVar6 + 4) != piVar5);\n      piVar3 = piVar3 + 1;\n      unaff_s3 = (sigset_t *)((int)unaff_s3->__val + iVar9);\n    } while (piVar3 != piVar11);\nLAB_00065c10:\n    in_t2 = *(int *)puVar1;\n    if (-1 < in_t2) goto LAB_00065c1c;\n  }\n  iVar6 = (*(code *)PTR_getmaxchild_00145174)();\n  in_t2 = iVar6;\n  if (-1 < iVar6) goto LAB_00065dc4;\n  in_t2 = 0x20;\n  *(undefined4 *)puVar1 = 0x20;\nLAB_00065c1c:\n  do {\n    if ((in_t2 < (int)unaff_s3) && (iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6)) {\n      iVar9 = 0;\n      iVar12 = 4;\n      iVar13 = *(int *)PTR_interactive_shell_00144598;\n      piVar11 = *(int **)PTR_jobs_00144e5c;\n      piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n      do {\n        while (((iVar10 = *piVar11, iVar10 == 0 || (*(int *)(iVar10 + 0xc) != iVar12)) ||\n               ((iVar13 == 0 && (pPVar4 = find_last_proc(iVar9,iVar9), *piVar3 == pPVar4->pid))))) {\n          iVar9 = iVar9 + 1;\n          piVar11 = piVar11 + 1;\n          if (iVar9 == iVar6) goto LAB_00065cdc;\n        }\n        iVar8 = 0;\n        piVar5 = *(int **)(iVar10 + 4);\n        do {\n          piVar5 = (int *)*piVar5;\n          iVar8 = iVar8 + 1;\n        } while (*(int **)(iVar10 + 4) != piVar5);\n        unaff_s3 = (sigset_t *)((int)unaff_s3 - iVar8);\n        iVar9 = iVar9 + 1;\n        if ((int)unaff_s3 <= in_t2) break;\n        piVar11 = piVar11 + 1;\n        *(uint *)(iVar10 + 0x10) = *(uint *)(iVar10 + 0x10) | 2;\n      } while (iVar9 != iVar6);\n    }\nLAB_00065cdc:\n    (*(code *)PTR_sigprocmask_00146514)(3,unaff_s1,0);\nLAB_00065b24:\n    if (iVar7 == *(int *)puVar2) {\n      return;\n    }\n    iVar6 = (*(code *)PTR___stack_chk_fail_00146488)();\nLAB_00065dc4:\n    *(int *)puVar1 = iVar6;\n  } while( true );\n}\n\n" (function_definition "void mark_dead_jobs_as_notified(int force)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  int *piVar3;\n  PROCESS *pPVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int *piVar11;\n  int iVar12;\n  int in_t2;\n  int iVar13;\n  sigset_t *unaff_s1;\n  sigset_t *unaff_s3;\n  sigset_t set;\n  sigset_t oset;\n  \n  puVar2 = PTR___stack_chk_guard_001464dc;\n  puVar1 = PTR_js_00144e58;\n  iVar7 = *(int *)PTR___stack_chk_guard_001464dc;\n  if (*(int *)(PTR_js_00144e58 + 0x18) == 0) goto LAB_00065b24;\n  unaff_s3 = &set;\n  (*(code *)PTR_sigemptyset_001462d4)(unaff_s3);\n  unaff_s1 = &oset;\n  (*(code *)PTR_sigaddset_00146364)(unaff_s3,0x12);\n  (*(code *)PTR_sigemptyset_001462d4)(unaff_s1);\n  (*(code *)PTR_sigprocmask_00146514)(1,unaff_s3,unaff_s1);\n  if (force != 0) {\n    iVar6 = *(int *)(puVar1 + 0x18);\n    if (iVar6 < 1) goto LAB_00065cdc;\n    iVar9 = 0;\n    iVar12 = 4;\n    in_t2 = *(int *)PTR_interactive_shell_00144598;\n    piVar11 = *(int **)PTR_jobs_00144e5c;\n    piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n    do {\n      iVar13 = *piVar11;\n      if (((iVar13 != 0) && (*(int *)(iVar13 + 0xc) == iVar12)) &&\n         ((in_t2 != 0 || (pPVar4 = find_last_proc(iVar9,iVar9), *piVar3 != pPVar4->pid)))) {\n        *(uint *)(iVar13 + 0x10) = *(uint *)(iVar13 + 0x10) | 2;\n      }\n      iVar9 = iVar9 + 1;\n      piVar11 = piVar11 + 1;\n      if (iVar9 == iVar6) goto LAB_00065cdc;\n    } while( true );\n  }\n  if (*(int *)(puVar1 + 0x18) < 1) {\n    if (-1 < *(int *)puVar1) goto LAB_00065cdc;\n    unaff_s3 = (sigset_t *)0x0;\n  }\n  else {\n    unaff_s3 = (sigset_t *)0x0;\n    piVar3 = *(int **)PTR_jobs_00144e5c;\n    piVar11 = piVar3 + *(int *)(puVar1 + 0x18);\n    do {\n      while ((iVar6 = *piVar3, iVar6 == 0 || (iVar9 = 0, *(int *)(iVar6 + 0xc) != 4))) {\n        piVar3 = piVar3 + 1;\n        if (piVar3 == piVar11) goto LAB_00065c10;\n      }\n      piVar5 = *(int **)(iVar6 + 4);\n      do {\n        piVar5 = (int *)*piVar5;\n        iVar9 = iVar9 + 1;\n      } while (*(int **)(iVar6 + 4) != piVar5);\n      piVar3 = piVar3 + 1;\n      unaff_s3 = (sigset_t *)((int)unaff_s3->__val + iVar9);\n    } while (piVar3 != piVar11);\nLAB_00065c10:\n    in_t2 = *(int *)puVar1;\n    if (-1 < in_t2) goto LAB_00065c1c;\n  }\n  iVar6 = (*(code *)PTR_getmaxchild_00145174)();\n  in_t2 = iVar6;\n  if (-1 < iVar6) goto LAB_00065dc4;\n  in_t2 = 0x20;\n  *(undefined4 *)puVar1 = 0x20;\nLAB_00065c1c:\n  do {\n    if ((in_t2 < (int)unaff_s3) && (iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6)) {\n      iVar9 = 0;\n      iVar12 = 4;\n      iVar13 = *(int *)PTR_interactive_shell_00144598;\n      piVar11 = *(int **)PTR_jobs_00144e5c;\n      piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n      do {\n        while (((iVar10 = *piVar11, iVar10 == 0 || (*(int *)(iVar10 + 0xc) != iVar12)) ||\n               ((iVar13 == 0 && (pPVar4 = find_last_proc(iVar9,iVar9), *piVar3 == pPVar4->pid))))) {\n          iVar9 = iVar9 + 1;\n          piVar11 = piVar11 + 1;\n          if (iVar9 == iVar6) goto LAB_00065cdc;\n        }\n        iVar8 = 0;\n        piVar5 = *(int **)(iVar10 + 4);\n        do {\n          piVar5 = (int *)*piVar5;\n          iVar8 = iVar8 + 1;\n        } while (*(int **)(iVar10 + 4) != piVar5);\n        unaff_s3 = (sigset_t *)((int)unaff_s3 - iVar8);\n        iVar9 = iVar9 + 1;\n        if ((int)unaff_s3 <= in_t2) break;\n        piVar11 = piVar11 + 1;\n        *(uint *)(iVar10 + 0x10) = *(uint *)(iVar10 + 0x10) | 2;\n      } while (iVar9 != iVar6);\n    }\nLAB_00065cdc:\n    (*(code *)PTR_sigprocmask_00146514)(3,unaff_s1,0);\nLAB_00065b24:\n    if (iVar7 == *(int *)puVar2) {\n      return;\n    }\n    iVar6 = (*(code *)PTR___stack_chk_fail_00146488)();\nLAB_00065dc4:\n    *(int *)puVar1 = iVar6;\n  } while( true );\n}" primitive_type (function_declarator "mark_dead_jobs_as_notified(int force)" identifier (parameter_list "(int force)" ( (parameter_declaration "int force" primitive_type identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  int *piVar3;\n  PROCESS *pPVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int *piVar11;\n  int iVar12;\n  int in_t2;\n  int iVar13;\n  sigset_t *unaff_s1;\n  sigset_t *unaff_s3;\n  sigset_t set;\n  sigset_t oset;\n  \n  puVar2 = PTR___stack_chk_guard_001464dc;\n  puVar1 = PTR_js_00144e58;\n  iVar7 = *(int *)PTR___stack_chk_guard_001464dc;\n  if (*(int *)(PTR_js_00144e58 + 0x18) == 0) goto LAB_00065b24;\n  unaff_s3 = &set;\n  (*(code *)PTR_sigemptyset_001462d4)(unaff_s3);\n  unaff_s1 = &oset;\n  (*(code *)PTR_sigaddset_00146364)(unaff_s3,0x12);\n  (*(code *)PTR_sigemptyset_001462d4)(unaff_s1);\n  (*(code *)PTR_sigprocmask_00146514)(1,unaff_s3,unaff_s1);\n  if (force != 0) {\n    iVar6 = *(int *)(puVar1 + 0x18);\n    if (iVar6 < 1) goto LAB_00065cdc;\n    iVar9 = 0;\n    iVar12 = 4;\n    in_t2 = *(int *)PTR_interactive_shell_00144598;\n    piVar11 = *(int **)PTR_jobs_00144e5c;\n    piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n    do {\n      iVar13 = *piVar11;\n      if (((iVar13 != 0) && (*(int *)(iVar13 + 0xc) == iVar12)) &&\n         ((in_t2 != 0 || (pPVar4 = find_last_proc(iVar9,iVar9), *piVar3 != pPVar4->pid)))) {\n        *(uint *)(iVar13 + 0x10) = *(uint *)(iVar13 + 0x10) | 2;\n      }\n      iVar9 = iVar9 + 1;\n      piVar11 = piVar11 + 1;\n      if (iVar9 == iVar6) goto LAB_00065cdc;\n    } while( true );\n  }\n  if (*(int *)(puVar1 + 0x18) < 1) {\n    if (-1 < *(int *)puVar1) goto LAB_00065cdc;\n    unaff_s3 = (sigset_t *)0x0;\n  }\n  else {\n    unaff_s3 = (sigset_t *)0x0;\n    piVar3 = *(int **)PTR_jobs_00144e5c;\n    piVar11 = piVar3 + *(int *)(puVar1 + 0x18);\n    do {\n      while ((iVar6 = *piVar3, iVar6 == 0 || (iVar9 = 0, *(int *)(iVar6 + 0xc) != 4))) {\n        piVar3 = piVar3 + 1;\n        if (piVar3 == piVar11) goto LAB_00065c10;\n      }\n      piVar5 = *(int **)(iVar6 + 4);\n      do {\n        piVar5 = (int *)*piVar5;\n        iVar9 = iVar9 + 1;\n      } while (*(int **)(iVar6 + 4) != piVar5);\n      piVar3 = piVar3 + 1;\n      unaff_s3 = (sigset_t *)((int)unaff_s3->__val + iVar9);\n    } while (piVar3 != piVar11);\nLAB_00065c10:\n    in_t2 = *(int *)puVar1;\n    if (-1 < in_t2) goto LAB_00065c1c;\n  }\n  iVar6 = (*(code *)PTR_getmaxchild_00145174)();\n  in_t2 = iVar6;\n  if (-1 < iVar6) goto LAB_00065dc4;\n  in_t2 = 0x20;\n  *(undefined4 *)puVar1 = 0x20;\nLAB_00065c1c:\n  do {\n    if ((in_t2 < (int)unaff_s3) && (iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6)) {\n      iVar9 = 0;\n      iVar12 = 4;\n      iVar13 = *(int *)PTR_interactive_shell_00144598;\n      piVar11 = *(int **)PTR_jobs_00144e5c;\n      piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n      do {\n        while (((iVar10 = *piVar11, iVar10 == 0 || (*(int *)(iVar10 + 0xc) != iVar12)) ||\n               ((iVar13 == 0 && (pPVar4 = find_last_proc(iVar9,iVar9), *piVar3 == pPVar4->pid))))) {\n          iVar9 = iVar9 + 1;\n          piVar11 = piVar11 + 1;\n          if (iVar9 == iVar6) goto LAB_00065cdc;\n        }\n        iVar8 = 0;\n        piVar5 = *(int **)(iVar10 + 4);\n        do {\n          piVar5 = (int *)*piVar5;\n          iVar8 = iVar8 + 1;\n        } while (*(int **)(iVar10 + 4) != piVar5);\n        unaff_s3 = (sigset_t *)((int)unaff_s3 - iVar8);\n        iVar9 = iVar9 + 1;\n        if ((int)unaff_s3 <= in_t2) break;\n        piVar11 = piVar11 + 1;\n        *(uint *)(iVar10 + 0x10) = *(uint *)(iVar10 + 0x10) | 2;\n      } while (iVar9 != iVar6);\n    }\nLAB_00065cdc:\n    (*(code *)PTR_sigprocmask_00146514)(3,unaff_s1,0);\nLAB_00065b24:\n    if (iVar7 == *(int *)puVar2) {\n      return;\n    }\n    iVar6 = (*(code *)PTR___stack_chk_fail_00146488)();\nLAB_00065dc4:\n    *(int *)puVar1 = iVar6;\n  } while( true );\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "PROCESS *pPVar4;" type_identifier (pointer_declarator "*pPVar4" * identifier) ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int in_t2;" primitive_type identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "sigset_t *unaff_s1;" type_identifier (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "sigset_t *unaff_s3;" type_identifier (pointer_declarator "*unaff_s3" * identifier) ;) (declaration "sigset_t set;" type_identifier identifier ;) (declaration "sigset_t oset;" type_identifier identifier ;) (expression_statement "puVar2 = PTR___stack_chk_guard_001464dc;" (assignment_expression "puVar2 = PTR___stack_chk_guard_001464dc" identifier = identifier) ;) (expression_statement "puVar1 = PTR_js_00144e58;" (assignment_expression "puVar1 = PTR_js_00144e58" identifier = identifier) ;) (expression_statement "iVar7 = *(int *)PTR___stack_chk_guard_001464dc;" (assignment_expression "iVar7 = *(int *)PTR___stack_chk_guard_001464dc" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_001464dc" * (cast_expression "(int *)PTR___stack_chk_guard_001464dc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (*(int *)(PTR_js_00144e58 + 0x18) == 0) goto LAB_00065b24;" if (parenthesized_expression "(*(int *)(PTR_js_00144e58 + 0x18) == 0)" ( (binary_expression "*(int *)(PTR_js_00144e58 + 0x18) == 0" (pointer_expression "*(int *)(PTR_js_00144e58 + 0x18)" * (cast_expression "(int *)(PTR_js_00144e58 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_js_00144e58 + 0x18)" ( (binary_expression "PTR_js_00144e58 + 0x18" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_00065b24;" goto statement_identifier ;)) (expression_statement "unaff_s3 = &set;" (assignment_expression "unaff_s3 = &set" identifier = (pointer_expression "&set" & identifier)) ;) (expression_statement "(*(code *)PTR_sigemptyset_001462d4)(unaff_s3);" (call_expression "(*(code *)PTR_sigemptyset_001462d4)(unaff_s3)" (parenthesized_expression "(*(code *)PTR_sigemptyset_001462d4)" ( (pointer_expression "*(code *)PTR_sigemptyset_001462d4" * (cast_expression "(code *)PTR_sigemptyset_001462d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s3)" ( identifier ))) ;) (expression_statement "unaff_s1 = &oset;" (assignment_expression "unaff_s1 = &oset" identifier = (pointer_expression "&oset" & identifier)) ;) (expression_statement "(*(code *)PTR_sigaddset_00146364)(unaff_s3,0x12);" (call_expression "(*(code *)PTR_sigaddset_00146364)(unaff_s3,0x12)" (parenthesized_expression "(*(code *)PTR_sigaddset_00146364)" ( (pointer_expression "*(code *)PTR_sigaddset_00146364" * (cast_expression "(code *)PTR_sigaddset_00146364" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s3,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(*(code *)PTR_sigemptyset_001462d4)(unaff_s1);" (call_expression "(*(code *)PTR_sigemptyset_001462d4)(unaff_s1)" (parenthesized_expression "(*(code *)PTR_sigemptyset_001462d4)" ( (pointer_expression "*(code *)PTR_sigemptyset_001462d4" * (cast_expression "(code *)PTR_sigemptyset_001462d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s1)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_sigprocmask_00146514)(1,unaff_s3,unaff_s1);" (call_expression "(*(code *)PTR_sigprocmask_00146514)(1,unaff_s3,unaff_s1)" (parenthesized_expression "(*(code *)PTR_sigprocmask_00146514)" ( (pointer_expression "*(code *)PTR_sigprocmask_00146514" * (cast_expression "(code *)PTR_sigprocmask_00146514" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,unaff_s3,unaff_s1)" ( number_literal , identifier , identifier ))) ;) (if_statement "if (force != 0) {\n    iVar6 = *(int *)(puVar1 + 0x18);\n    if (iVar6 < 1) goto LAB_00065cdc;\n    iVar9 = 0;\n    iVar12 = 4;\n    in_t2 = *(int *)PTR_interactive_shell_00144598;\n    piVar11 = *(int **)PTR_jobs_00144e5c;\n    piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n    do {\n      iVar13 = *piVar11;\n      if (((iVar13 != 0) && (*(int *)(iVar13 + 0xc) == iVar12)) &&\n         ((in_t2 != 0 || (pPVar4 = find_last_proc(iVar9,iVar9), *piVar3 != pPVar4->pid)))) {\n        *(uint *)(iVar13 + 0x10) = *(uint *)(iVar13 + 0x10) | 2;\n      }\n      iVar9 = iVar9 + 1;\n      piVar11 = piVar11 + 1;\n      if (iVar9 == iVar6) goto LAB_00065cdc;\n    } while( true );\n  }" if (parenthesized_expression "(force != 0)" ( (binary_expression "force != 0" identifier != number_literal) )) (compound_statement "{\n    iVar6 = *(int *)(puVar1 + 0x18);\n    if (iVar6 < 1) goto LAB_00065cdc;\n    iVar9 = 0;\n    iVar12 = 4;\n    in_t2 = *(int *)PTR_interactive_shell_00144598;\n    piVar11 = *(int **)PTR_jobs_00144e5c;\n    piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n    do {\n      iVar13 = *piVar11;\n      if (((iVar13 != 0) && (*(int *)(iVar13 + 0xc) == iVar12)) &&\n         ((in_t2 != 0 || (pPVar4 = find_last_proc(iVar9,iVar9), *piVar3 != pPVar4->pid)))) {\n        *(uint *)(iVar13 + 0x10) = *(uint *)(iVar13 + 0x10) | 2;\n      }\n      iVar9 = iVar9 + 1;\n      piVar11 = piVar11 + 1;\n      if (iVar9 == iVar6) goto LAB_00065cdc;\n    } while( true );\n  }" { (expression_statement "iVar6 = *(int *)(puVar1 + 0x18);" (assignment_expression "iVar6 = *(int *)(puVar1 + 0x18)" identifier = (pointer_expression "*(int *)(puVar1 + 0x18)" * (cast_expression "(int *)(puVar1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x18)" ( (binary_expression "puVar1 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (iVar6 < 1) goto LAB_00065cdc;" if (parenthesized_expression "(iVar6 < 1)" ( (binary_expression "iVar6 < 1" identifier < number_literal) )) (goto_statement "goto LAB_00065cdc;" goto statement_identifier ;)) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (expression_statement "iVar12 = 4;" (assignment_expression "iVar12 = 4" identifier = number_literal) ;) (expression_statement "in_t2 = *(int *)PTR_interactive_shell_00144598;" (assignment_expression "in_t2 = *(int *)PTR_interactive_shell_00144598" identifier = (pointer_expression "*(int *)PTR_interactive_shell_00144598" * (cast_expression "(int *)PTR_interactive_shell_00144598" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "piVar11 = *(int **)PTR_jobs_00144e5c;" (assignment_expression "piVar11 = *(int **)PTR_jobs_00144e5c" identifier = (pointer_expression "*(int **)PTR_jobs_00144e5c" * (cast_expression "(int **)PTR_jobs_00144e5c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;" (assignment_expression "piVar3 = (int *)PTR_last_asynchronous_pid_00144d30" identifier = (cast_expression "(int *)PTR_last_asynchronous_pid_00144d30" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n      iVar13 = *piVar11;\n      if (((iVar13 != 0) && (*(int *)(iVar13 + 0xc) == iVar12)) &&\n         ((in_t2 != 0 || (pPVar4 = find_last_proc(iVar9,iVar9), *piVar3 != pPVar4->pid)))) {\n        *(uint *)(iVar13 + 0x10) = *(uint *)(iVar13 + 0x10) | 2;\n      }\n      iVar9 = iVar9 + 1;\n      piVar11 = piVar11 + 1;\n      if (iVar9 == iVar6) goto LAB_00065cdc;\n    } while( true );" do (compound_statement "{\n      iVar13 = *piVar11;\n      if (((iVar13 != 0) && (*(int *)(iVar13 + 0xc) == iVar12)) &&\n         ((in_t2 != 0 || (pPVar4 = find_last_proc(iVar9,iVar9), *piVar3 != pPVar4->pid)))) {\n        *(uint *)(iVar13 + 0x10) = *(uint *)(iVar13 + 0x10) | 2;\n      }\n      iVar9 = iVar9 + 1;\n      piVar11 = piVar11 + 1;\n      if (iVar9 == iVar6) goto LAB_00065cdc;\n    }" { (expression_statement "iVar13 = *piVar11;" (assignment_expression "iVar13 = *piVar11" identifier = (pointer_expression "*piVar11" * identifier)) ;) (if_statement "if (((iVar13 != 0) && (*(int *)(iVar13 + 0xc) == iVar12)) &&\n         ((in_t2 != 0 || (pPVar4 = find_last_proc(iVar9,iVar9), *piVar3 != pPVar4->pid)))) {\n        *(uint *)(iVar13 + 0x10) = *(uint *)(iVar13 + 0x10) | 2;\n      }" if (parenthesized_expression "(((iVar13 != 0) && (*(int *)(iVar13 + 0xc) == iVar12)) &&\n         ((in_t2 != 0 || (pPVar4 = find_last_proc(iVar9,iVar9), *piVar3 != pPVar4->pid))))" ( (binary_expression "((iVar13 != 0) && (*(int *)(iVar13 + 0xc) == iVar12)) &&\n         ((in_t2 != 0 || (pPVar4 = find_last_proc(iVar9,iVar9), *piVar3 != pPVar4->pid)))" (parenthesized_expression "((iVar13 != 0) && (*(int *)(iVar13 + 0xc) == iVar12))" ( (binary_expression "(iVar13 != 0) && (*(int *)(iVar13 + 0xc) == iVar12)" (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(int *)(iVar13 + 0xc) == iVar12)" ( (binary_expression "*(int *)(iVar13 + 0xc) == iVar12" (pointer_expression "*(int *)(iVar13 + 0xc)" * (cast_expression "(int *)(iVar13 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0xc)" ( (binary_expression "iVar13 + 0xc" identifier + number_literal) )))) == identifier) ))) )) && (parenthesized_expression "((in_t2 != 0 || (pPVar4 = find_last_proc(iVar9,iVar9), *piVar3 != pPVar4->pid)))" ( (parenthesized_expression "(in_t2 != 0 || (pPVar4 = find_last_proc(iVar9,iVar9), *piVar3 != pPVar4->pid))" ( (binary_expression "in_t2 != 0 || (pPVar4 = find_last_proc(iVar9,iVar9), *piVar3 != pPVar4->pid)" (binary_expression "in_t2 != 0" identifier != number_literal) || (parenthesized_expression "(pPVar4 = find_last_proc(iVar9,iVar9), *piVar3 != pPVar4->pid)" ( (comma_expression "pPVar4 = find_last_proc(iVar9,iVar9), *piVar3 != pPVar4->pid" (assignment_expression "pPVar4 = find_last_proc(iVar9,iVar9)" identifier = (call_expression "find_last_proc(iVar9,iVar9)" identifier (argument_list "(iVar9,iVar9)" ( identifier , identifier )))) , (binary_expression "*piVar3 != pPVar4->pid" (pointer_expression "*piVar3" * identifier) != (field_expression "pPVar4->pid" identifier -> field_identifier))) ))) )) ))) )) (compound_statement "{\n        *(uint *)(iVar13 + 0x10) = *(uint *)(iVar13 + 0x10) | 2;\n      }" { (expression_statement "*(uint *)(iVar13 + 0x10) = *(uint *)(iVar13 + 0x10) | 2;" (assignment_expression "*(uint *)(iVar13 + 0x10) = *(uint *)(iVar13 + 0x10) | 2" (pointer_expression "*(uint *)(iVar13 + 0x10)" * (cast_expression "(uint *)(iVar13 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x10)" ( (binary_expression "iVar13 + 0x10" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar13 + 0x10) | 2" (pointer_expression "*(uint *)(iVar13 + 0x10)" * (cast_expression "(uint *)(iVar13 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x10)" ( (binary_expression "iVar13 + 0x10" identifier + number_literal) )))) | number_literal)) ;) })) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "piVar11 = piVar11 + 1;" (assignment_expression "piVar11 = piVar11 + 1" identifier = (binary_expression "piVar11 + 1" identifier + number_literal)) ;) (if_statement "if (iVar9 == iVar6) goto LAB_00065cdc;" if (parenthesized_expression "(iVar9 == iVar6)" ( (binary_expression "iVar9 == iVar6" identifier == identifier) )) (goto_statement "goto LAB_00065cdc;" goto statement_identifier ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (if_statement "if (*(int *)(puVar1 + 0x18) < 1) {\n    if (-1 < *(int *)puVar1) goto LAB_00065cdc;\n    unaff_s3 = (sigset_t *)0x0;\n  }\n  else {\n    unaff_s3 = (sigset_t *)0x0;\n    piVar3 = *(int **)PTR_jobs_00144e5c;\n    piVar11 = piVar3 + *(int *)(puVar1 + 0x18);\n    do {\n      while ((iVar6 = *piVar3, iVar6 == 0 || (iVar9 = 0, *(int *)(iVar6 + 0xc) != 4))) {\n        piVar3 = piVar3 + 1;\n        if (piVar3 == piVar11) goto LAB_00065c10;\n      }\n      piVar5 = *(int **)(iVar6 + 4);\n      do {\n        piVar5 = (int *)*piVar5;\n        iVar9 = iVar9 + 1;\n      } while (*(int **)(iVar6 + 4) != piVar5);\n      piVar3 = piVar3 + 1;\n      unaff_s3 = (sigset_t *)((int)unaff_s3->__val + iVar9);\n    } while (piVar3 != piVar11);\nLAB_00065c10:\n    in_t2 = *(int *)puVar1;\n    if (-1 < in_t2) goto LAB_00065c1c;\n  }" if (parenthesized_expression "(*(int *)(puVar1 + 0x18) < 1)" ( (binary_expression "*(int *)(puVar1 + 0x18) < 1" (pointer_expression "*(int *)(puVar1 + 0x18)" * (cast_expression "(int *)(puVar1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x18)" ( (binary_expression "puVar1 + 0x18" identifier + number_literal) )))) < number_literal) )) (compound_statement "{\n    if (-1 < *(int *)puVar1) goto LAB_00065cdc;\n    unaff_s3 = (sigset_t *)0x0;\n  }" { (if_statement "if (-1 < *(int *)puVar1) goto LAB_00065cdc;" if (parenthesized_expression "(-1 < *(int *)puVar1)" ( (binary_expression "-1 < *(int *)puVar1" number_literal < (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (goto_statement "goto LAB_00065cdc;" goto statement_identifier ;)) (expression_statement "unaff_s3 = (sigset_t *)0x0;" (assignment_expression "unaff_s3 = (sigset_t *)0x0" identifier = (cast_expression "(sigset_t *)0x0" ( (type_descriptor "sigset_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    unaff_s3 = (sigset_t *)0x0;\n    piVar3 = *(int **)PTR_jobs_00144e5c;\n    piVar11 = piVar3 + *(int *)(puVar1 + 0x18);\n    do {\n      while ((iVar6 = *piVar3, iVar6 == 0 || (iVar9 = 0, *(int *)(iVar6 + 0xc) != 4))) {\n        piVar3 = piVar3 + 1;\n        if (piVar3 == piVar11) goto LAB_00065c10;\n      }\n      piVar5 = *(int **)(iVar6 + 4);\n      do {\n        piVar5 = (int *)*piVar5;\n        iVar9 = iVar9 + 1;\n      } while (*(int **)(iVar6 + 4) != piVar5);\n      piVar3 = piVar3 + 1;\n      unaff_s3 = (sigset_t *)((int)unaff_s3->__val + iVar9);\n    } while (piVar3 != piVar11);\nLAB_00065c10:\n    in_t2 = *(int *)puVar1;\n    if (-1 < in_t2) goto LAB_00065c1c;\n  }" else (compound_statement "{\n    unaff_s3 = (sigset_t *)0x0;\n    piVar3 = *(int **)PTR_jobs_00144e5c;\n    piVar11 = piVar3 + *(int *)(puVar1 + 0x18);\n    do {\n      while ((iVar6 = *piVar3, iVar6 == 0 || (iVar9 = 0, *(int *)(iVar6 + 0xc) != 4))) {\n        piVar3 = piVar3 + 1;\n        if (piVar3 == piVar11) goto LAB_00065c10;\n      }\n      piVar5 = *(int **)(iVar6 + 4);\n      do {\n        piVar5 = (int *)*piVar5;\n        iVar9 = iVar9 + 1;\n      } while (*(int **)(iVar6 + 4) != piVar5);\n      piVar3 = piVar3 + 1;\n      unaff_s3 = (sigset_t *)((int)unaff_s3->__val + iVar9);\n    } while (piVar3 != piVar11);\nLAB_00065c10:\n    in_t2 = *(int *)puVar1;\n    if (-1 < in_t2) goto LAB_00065c1c;\n  }" { (expression_statement "unaff_s3 = (sigset_t *)0x0;" (assignment_expression "unaff_s3 = (sigset_t *)0x0" identifier = (cast_expression "(sigset_t *)0x0" ( (type_descriptor "sigset_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar3 = *(int **)PTR_jobs_00144e5c;" (assignment_expression "piVar3 = *(int **)PTR_jobs_00144e5c" identifier = (pointer_expression "*(int **)PTR_jobs_00144e5c" * (cast_expression "(int **)PTR_jobs_00144e5c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "piVar11 = piVar3 + *(int *)(puVar1 + 0x18);" (assignment_expression "piVar11 = piVar3 + *(int *)(puVar1 + 0x18)" identifier = (binary_expression "piVar3 + *(int *)(puVar1 + 0x18)" identifier + (pointer_expression "*(int *)(puVar1 + 0x18)" * (cast_expression "(int *)(puVar1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x18)" ( (binary_expression "puVar1 + 0x18" identifier + number_literal) )))))) ;) (do_statement "do {\n      while ((iVar6 = *piVar3, iVar6 == 0 || (iVar9 = 0, *(int *)(iVar6 + 0xc) != 4))) {\n        piVar3 = piVar3 + 1;\n        if (piVar3 == piVar11) goto LAB_00065c10;\n      }\n      piVar5 = *(int **)(iVar6 + 4);\n      do {\n        piVar5 = (int *)*piVar5;\n        iVar9 = iVar9 + 1;\n      } while (*(int **)(iVar6 + 4) != piVar5);\n      piVar3 = piVar3 + 1;\n      unaff_s3 = (sigset_t *)((int)unaff_s3->__val + iVar9);\n    } while (piVar3 != piVar11);" do (compound_statement "{\n      while ((iVar6 = *piVar3, iVar6 == 0 || (iVar9 = 0, *(int *)(iVar6 + 0xc) != 4))) {\n        piVar3 = piVar3 + 1;\n        if (piVar3 == piVar11) goto LAB_00065c10;\n      }\n      piVar5 = *(int **)(iVar6 + 4);\n      do {\n        piVar5 = (int *)*piVar5;\n        iVar9 = iVar9 + 1;\n      } while (*(int **)(iVar6 + 4) != piVar5);\n      piVar3 = piVar3 + 1;\n      unaff_s3 = (sigset_t *)((int)unaff_s3->__val + iVar9);\n    }" { (while_statement "while ((iVar6 = *piVar3, iVar6 == 0 || (iVar9 = 0, *(int *)(iVar6 + 0xc) != 4))) {\n        piVar3 = piVar3 + 1;\n        if (piVar3 == piVar11) goto LAB_00065c10;\n      }" while (parenthesized_expression "((iVar6 = *piVar3, iVar6 == 0 || (iVar9 = 0, *(int *)(iVar6 + 0xc) != 4)))" ( (parenthesized_expression "(iVar6 = *piVar3, iVar6 == 0 || (iVar9 = 0, *(int *)(iVar6 + 0xc) != 4))" ( (comma_expression "iVar6 = *piVar3, iVar6 == 0 || (iVar9 = 0, *(int *)(iVar6 + 0xc) != 4)" (assignment_expression "iVar6 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) , (binary_expression "iVar6 == 0 || (iVar9 = 0, *(int *)(iVar6 + 0xc) != 4)" (binary_expression "iVar6 == 0" identifier == number_literal) || (parenthesized_expression "(iVar9 = 0, *(int *)(iVar6 + 0xc) != 4)" ( (comma_expression "iVar9 = 0, *(int *)(iVar6 + 0xc) != 4" (assignment_expression "iVar9 = 0" identifier = number_literal) , (binary_expression "*(int *)(iVar6 + 0xc) != 4" (pointer_expression "*(int *)(iVar6 + 0xc)" * (cast_expression "(int *)(iVar6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) )))) != number_literal)) )))) )) )) (compound_statement "{\n        piVar3 = piVar3 + 1;\n        if (piVar3 == piVar11) goto LAB_00065c10;\n      }" { (expression_statement "piVar3 = piVar3 + 1;" (assignment_expression "piVar3 = piVar3 + 1" identifier = (binary_expression "piVar3 + 1" identifier + number_literal)) ;) (if_statement "if (piVar3 == piVar11) goto LAB_00065c10;" if (parenthesized_expression "(piVar3 == piVar11)" ( (binary_expression "piVar3 == piVar11" identifier == identifier) )) (goto_statement "goto LAB_00065c10;" goto statement_identifier ;)) })) (expression_statement "piVar5 = *(int **)(iVar6 + 4);" (assignment_expression "piVar5 = *(int **)(iVar6 + 4)" identifier = (pointer_expression "*(int **)(iVar6 + 4)" * (cast_expression "(int **)(iVar6 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 4)" ( (binary_expression "iVar6 + 4" identifier + number_literal) ))))) ;) (do_statement "do {\n        piVar5 = (int *)*piVar5;\n        iVar9 = iVar9 + 1;\n      } while (*(int **)(iVar6 + 4) != piVar5);" do (compound_statement "{\n        piVar5 = (int *)*piVar5;\n        iVar9 = iVar9 + 1;\n      }" { (expression_statement "piVar5 = (int *)*piVar5;" (assignment_expression "piVar5 = (int *)*piVar5" identifier = (cast_expression "(int *)*piVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar5" * identifier))) ;) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(int **)(iVar6 + 4) != piVar5)" ( (binary_expression "*(int **)(iVar6 + 4) != piVar5" (pointer_expression "*(int **)(iVar6 + 4)" * (cast_expression "(int **)(iVar6 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 4)" ( (binary_expression "iVar6 + 4" identifier + number_literal) )))) != identifier) )) ;) (expression_statement "piVar3 = piVar3 + 1;" (assignment_expression "piVar3 = piVar3 + 1" identifier = (binary_expression "piVar3 + 1" identifier + number_literal)) ;) (expression_statement "unaff_s3 = (sigset_t *)((int)unaff_s3->__val + iVar9);" (assignment_expression "unaff_s3 = (sigset_t *)((int)unaff_s3->__val + iVar9)" identifier = (cast_expression "(sigset_t *)((int)unaff_s3->__val + iVar9)" ( (type_descriptor "sigset_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s3->__val + iVar9)" ( (binary_expression "(int)unaff_s3->__val + iVar9" (cast_expression "(int)unaff_s3->__val" ( (type_descriptor "int" primitive_type) ) (field_expression "unaff_s3->__val" identifier -> field_identifier)) + identifier) )))) ;) }) while (parenthesized_expression "(piVar3 != piVar11)" ( (binary_expression "piVar3 != piVar11" identifier != identifier) )) ;) (labeled_statement "LAB_00065c10:\n    in_t2 = *(int *)puVar1;" statement_identifier : (expression_statement "in_t2 = *(int *)puVar1;" (assignment_expression "in_t2 = *(int *)puVar1" identifier = (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;)) (if_statement "if (-1 < in_t2) goto LAB_00065c1c;" if (parenthesized_expression "(-1 < in_t2)" ( (binary_expression "-1 < in_t2" number_literal < identifier) )) (goto_statement "goto LAB_00065c1c;" goto statement_identifier ;)) }))) (expression_statement "iVar6 = (*(code *)PTR_getmaxchild_00145174)();" (assignment_expression "iVar6 = (*(code *)PTR_getmaxchild_00145174)()" identifier = (call_expression "(*(code *)PTR_getmaxchild_00145174)()" (parenthesized_expression "(*(code *)PTR_getmaxchild_00145174)" ( (pointer_expression "*(code *)PTR_getmaxchild_00145174" * (cast_expression "(code *)PTR_getmaxchild_00145174" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "in_t2 = iVar6;" (assignment_expression "in_t2 = iVar6" identifier = identifier) ;) (if_statement "if (-1 < iVar6) goto LAB_00065dc4;" if (parenthesized_expression "(-1 < iVar6)" ( (binary_expression "-1 < iVar6" number_literal < identifier) )) (goto_statement "goto LAB_00065dc4;" goto statement_identifier ;)) (expression_statement "in_t2 = 0x20;" (assignment_expression "in_t2 = 0x20" identifier = number_literal) ;) (expression_statement "*(undefined4 *)puVar1 = 0x20;" (assignment_expression "*(undefined4 *)puVar1 = 0x20" (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (labeled_statement "LAB_00065c1c:\n  do {\n    if ((in_t2 < (int)unaff_s3) && (iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6)) {\n      iVar9 = 0;\n      iVar12 = 4;\n      iVar13 = *(int *)PTR_interactive_shell_00144598;\n      piVar11 = *(int **)PTR_jobs_00144e5c;\n      piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n      do {\n        while (((iVar10 = *piVar11, iVar10 == 0 || (*(int *)(iVar10 + 0xc) != iVar12)) ||\n               ((iVar13 == 0 && (pPVar4 = find_last_proc(iVar9,iVar9), *piVar3 == pPVar4->pid))))) {\n          iVar9 = iVar9 + 1;\n          piVar11 = piVar11 + 1;\n          if (iVar9 == iVar6) goto LAB_00065cdc;\n        }\n        iVar8 = 0;\n        piVar5 = *(int **)(iVar10 + 4);\n        do {\n          piVar5 = (int *)*piVar5;\n          iVar8 = iVar8 + 1;\n        } while (*(int **)(iVar10 + 4) != piVar5);\n        unaff_s3 = (sigset_t *)((int)unaff_s3 - iVar8);\n        iVar9 = iVar9 + 1;\n        if ((int)unaff_s3 <= in_t2) break;\n        piVar11 = piVar11 + 1;\n        *(uint *)(iVar10 + 0x10) = *(uint *)(iVar10 + 0x10) | 2;\n      } while (iVar9 != iVar6);\n    }\nLAB_00065cdc:\n    (*(code *)PTR_sigprocmask_00146514)(3,unaff_s1,0);\nLAB_00065b24:\n    if (iVar7 == *(int *)puVar2) {\n      return;\n    }\n    iVar6 = (*(code *)PTR___stack_chk_fail_00146488)();\nLAB_00065dc4:\n    *(int *)puVar1 = iVar6;\n  } while( true );" statement_identifier : (do_statement "do {\n    if ((in_t2 < (int)unaff_s3) && (iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6)) {\n      iVar9 = 0;\n      iVar12 = 4;\n      iVar13 = *(int *)PTR_interactive_shell_00144598;\n      piVar11 = *(int **)PTR_jobs_00144e5c;\n      piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n      do {\n        while (((iVar10 = *piVar11, iVar10 == 0 || (*(int *)(iVar10 + 0xc) != iVar12)) ||\n               ((iVar13 == 0 && (pPVar4 = find_last_proc(iVar9,iVar9), *piVar3 == pPVar4->pid))))) {\n          iVar9 = iVar9 + 1;\n          piVar11 = piVar11 + 1;\n          if (iVar9 == iVar6) goto LAB_00065cdc;\n        }\n        iVar8 = 0;\n        piVar5 = *(int **)(iVar10 + 4);\n        do {\n          piVar5 = (int *)*piVar5;\n          iVar8 = iVar8 + 1;\n        } while (*(int **)(iVar10 + 4) != piVar5);\n        unaff_s3 = (sigset_t *)((int)unaff_s3 - iVar8);\n        iVar9 = iVar9 + 1;\n        if ((int)unaff_s3 <= in_t2) break;\n        piVar11 = piVar11 + 1;\n        *(uint *)(iVar10 + 0x10) = *(uint *)(iVar10 + 0x10) | 2;\n      } while (iVar9 != iVar6);\n    }\nLAB_00065cdc:\n    (*(code *)PTR_sigprocmask_00146514)(3,unaff_s1,0);\nLAB_00065b24:\n    if (iVar7 == *(int *)puVar2) {\n      return;\n    }\n    iVar6 = (*(code *)PTR___stack_chk_fail_00146488)();\nLAB_00065dc4:\n    *(int *)puVar1 = iVar6;\n  } while( true );" do (compound_statement "{\n    if ((in_t2 < (int)unaff_s3) && (iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6)) {\n      iVar9 = 0;\n      iVar12 = 4;\n      iVar13 = *(int *)PTR_interactive_shell_00144598;\n      piVar11 = *(int **)PTR_jobs_00144e5c;\n      piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n      do {\n        while (((iVar10 = *piVar11, iVar10 == 0 || (*(int *)(iVar10 + 0xc) != iVar12)) ||\n               ((iVar13 == 0 && (pPVar4 = find_last_proc(iVar9,iVar9), *piVar3 == pPVar4->pid))))) {\n          iVar9 = iVar9 + 1;\n          piVar11 = piVar11 + 1;\n          if (iVar9 == iVar6) goto LAB_00065cdc;\n        }\n        iVar8 = 0;\n        piVar5 = *(int **)(iVar10 + 4);\n        do {\n          piVar5 = (int *)*piVar5;\n          iVar8 = iVar8 + 1;\n        } while (*(int **)(iVar10 + 4) != piVar5);\n        unaff_s3 = (sigset_t *)((int)unaff_s3 - iVar8);\n        iVar9 = iVar9 + 1;\n        if ((int)unaff_s3 <= in_t2) break;\n        piVar11 = piVar11 + 1;\n        *(uint *)(iVar10 + 0x10) = *(uint *)(iVar10 + 0x10) | 2;\n      } while (iVar9 != iVar6);\n    }\nLAB_00065cdc:\n    (*(code *)PTR_sigprocmask_00146514)(3,unaff_s1,0);\nLAB_00065b24:\n    if (iVar7 == *(int *)puVar2) {\n      return;\n    }\n    iVar6 = (*(code *)PTR___stack_chk_fail_00146488)();\nLAB_00065dc4:\n    *(int *)puVar1 = iVar6;\n  }" { (if_statement "if ((in_t2 < (int)unaff_s3) && (iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6)) {\n      iVar9 = 0;\n      iVar12 = 4;\n      iVar13 = *(int *)PTR_interactive_shell_00144598;\n      piVar11 = *(int **)PTR_jobs_00144e5c;\n      piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n      do {\n        while (((iVar10 = *piVar11, iVar10 == 0 || (*(int *)(iVar10 + 0xc) != iVar12)) ||\n               ((iVar13 == 0 && (pPVar4 = find_last_proc(iVar9,iVar9), *piVar3 == pPVar4->pid))))) {\n          iVar9 = iVar9 + 1;\n          piVar11 = piVar11 + 1;\n          if (iVar9 == iVar6) goto LAB_00065cdc;\n        }\n        iVar8 = 0;\n        piVar5 = *(int **)(iVar10 + 4);\n        do {\n          piVar5 = (int *)*piVar5;\n          iVar8 = iVar8 + 1;\n        } while (*(int **)(iVar10 + 4) != piVar5);\n        unaff_s3 = (sigset_t *)((int)unaff_s3 - iVar8);\n        iVar9 = iVar9 + 1;\n        if ((int)unaff_s3 <= in_t2) break;\n        piVar11 = piVar11 + 1;\n        *(uint *)(iVar10 + 0x10) = *(uint *)(iVar10 + 0x10) | 2;\n      } while (iVar9 != iVar6);\n    }" if (parenthesized_expression "((in_t2 < (int)unaff_s3) && (iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6))" ( (binary_expression "(in_t2 < (int)unaff_s3) && (iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6)" (parenthesized_expression "(in_t2 < (int)unaff_s3)" ( (binary_expression "in_t2 < (int)unaff_s3" identifier < (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "(iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6)" ( (comma_expression "iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6" (assignment_expression "iVar6 = *(int *)(puVar1 + 0x18)" identifier = (pointer_expression "*(int *)(puVar1 + 0x18)" * (cast_expression "(int *)(puVar1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x18)" ( (binary_expression "puVar1 + 0x18" identifier + number_literal) ))))) , (binary_expression "0 < iVar6" number_literal < identifier)) ))) )) (compound_statement "{\n      iVar9 = 0;\n      iVar12 = 4;\n      iVar13 = *(int *)PTR_interactive_shell_00144598;\n      piVar11 = *(int **)PTR_jobs_00144e5c;\n      piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n      do {\n        while (((iVar10 = *piVar11, iVar10 == 0 || (*(int *)(iVar10 + 0xc) != iVar12)) ||\n               ((iVar13 == 0 && (pPVar4 = find_last_proc(iVar9,iVar9), *piVar3 == pPVar4->pid))))) {\n          iVar9 = iVar9 + 1;\n          piVar11 = piVar11 + 1;\n          if (iVar9 == iVar6) goto LAB_00065cdc;\n        }\n        iVar8 = 0;\n        piVar5 = *(int **)(iVar10 + 4);\n        do {\n          piVar5 = (int *)*piVar5;\n          iVar8 = iVar8 + 1;\n        } while (*(int **)(iVar10 + 4) != piVar5);\n        unaff_s3 = (sigset_t *)((int)unaff_s3 - iVar8);\n        iVar9 = iVar9 + 1;\n        if ((int)unaff_s3 <= in_t2) break;\n        piVar11 = piVar11 + 1;\n        *(uint *)(iVar10 + 0x10) = *(uint *)(iVar10 + 0x10) | 2;\n      } while (iVar9 != iVar6);\n    }" { (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (expression_statement "iVar12 = 4;" (assignment_expression "iVar12 = 4" identifier = number_literal) ;) (expression_statement "iVar13 = *(int *)PTR_interactive_shell_00144598;" (assignment_expression "iVar13 = *(int *)PTR_interactive_shell_00144598" identifier = (pointer_expression "*(int *)PTR_interactive_shell_00144598" * (cast_expression "(int *)PTR_interactive_shell_00144598" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "piVar11 = *(int **)PTR_jobs_00144e5c;" (assignment_expression "piVar11 = *(int **)PTR_jobs_00144e5c" identifier = (pointer_expression "*(int **)PTR_jobs_00144e5c" * (cast_expression "(int **)PTR_jobs_00144e5c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;" (assignment_expression "piVar3 = (int *)PTR_last_asynchronous_pid_00144d30" identifier = (cast_expression "(int *)PTR_last_asynchronous_pid_00144d30" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n        while (((iVar10 = *piVar11, iVar10 == 0 || (*(int *)(iVar10 + 0xc) != iVar12)) ||\n               ((iVar13 == 0 && (pPVar4 = find_last_proc(iVar9,iVar9), *piVar3 == pPVar4->pid))))) {\n          iVar9 = iVar9 + 1;\n          piVar11 = piVar11 + 1;\n          if (iVar9 == iVar6) goto LAB_00065cdc;\n        }\n        iVar8 = 0;\n        piVar5 = *(int **)(iVar10 + 4);\n        do {\n          piVar5 = (int *)*piVar5;\n          iVar8 = iVar8 + 1;\n        } while (*(int **)(iVar10 + 4) != piVar5);\n        unaff_s3 = (sigset_t *)((int)unaff_s3 - iVar8);\n        iVar9 = iVar9 + 1;\n        if ((int)unaff_s3 <= in_t2) break;\n        piVar11 = piVar11 + 1;\n        *(uint *)(iVar10 + 0x10) = *(uint *)(iVar10 + 0x10) | 2;\n      } while (iVar9 != iVar6);" do (compound_statement "{\n        while (((iVar10 = *piVar11, iVar10 == 0 || (*(int *)(iVar10 + 0xc) != iVar12)) ||\n               ((iVar13 == 0 && (pPVar4 = find_last_proc(iVar9,iVar9), *piVar3 == pPVar4->pid))))) {\n          iVar9 = iVar9 + 1;\n          piVar11 = piVar11 + 1;\n          if (iVar9 == iVar6) goto LAB_00065cdc;\n        }\n        iVar8 = 0;\n        piVar5 = *(int **)(iVar10 + 4);\n        do {\n          piVar5 = (int *)*piVar5;\n          iVar8 = iVar8 + 1;\n        } while (*(int **)(iVar10 + 4) != piVar5);\n        unaff_s3 = (sigset_t *)((int)unaff_s3 - iVar8);\n        iVar9 = iVar9 + 1;\n        if ((int)unaff_s3 <= in_t2) break;\n        piVar11 = piVar11 + 1;\n        *(uint *)(iVar10 + 0x10) = *(uint *)(iVar10 + 0x10) | 2;\n      }" { (while_statement "while (((iVar10 = *piVar11, iVar10 == 0 || (*(int *)(iVar10 + 0xc) != iVar12)) ||\n               ((iVar13 == 0 && (pPVar4 = find_last_proc(iVar9,iVar9), *piVar3 == pPVar4->pid))))) {\n          iVar9 = iVar9 + 1;\n          piVar11 = piVar11 + 1;\n          if (iVar9 == iVar6) goto LAB_00065cdc;\n        }" while (parenthesized_expression "(((iVar10 = *piVar11, iVar10 == 0 || (*(int *)(iVar10 + 0xc) != iVar12)) ||\n               ((iVar13 == 0 && (pPVar4 = find_last_proc(iVar9,iVar9), *piVar3 == pPVar4->pid)))))" ( (parenthesized_expression "((iVar10 = *piVar11, iVar10 == 0 || (*(int *)(iVar10 + 0xc) != iVar12)) ||\n               ((iVar13 == 0 && (pPVar4 = find_last_proc(iVar9,iVar9), *piVar3 == pPVar4->pid))))" ( (binary_expression "(iVar10 = *piVar11, iVar10 == 0 || (*(int *)(iVar10 + 0xc) != iVar12)) ||\n               ((iVar13 == 0 && (pPVar4 = find_last_proc(iVar9,iVar9), *piVar3 == pPVar4->pid)))" (parenthesized_expression "(iVar10 = *piVar11, iVar10 == 0 || (*(int *)(iVar10 + 0xc) != iVar12))" ( (comma_expression "iVar10 = *piVar11, iVar10 == 0 || (*(int *)(iVar10 + 0xc) != iVar12)" (assignment_expression "iVar10 = *piVar11" identifier = (pointer_expression "*piVar11" * identifier)) , (binary_expression "iVar10 == 0 || (*(int *)(iVar10 + 0xc) != iVar12)" (binary_expression "iVar10 == 0" identifier == number_literal) || (parenthesized_expression "(*(int *)(iVar10 + 0xc) != iVar12)" ( (binary_expression "*(int *)(iVar10 + 0xc) != iVar12" (pointer_expression "*(int *)(iVar10 + 0xc)" * (cast_expression "(int *)(iVar10 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0xc)" ( (binary_expression "iVar10 + 0xc" identifier + number_literal) )))) != identifier) )))) )) || (parenthesized_expression "((iVar13 == 0 && (pPVar4 = find_last_proc(iVar9,iVar9), *piVar3 == pPVar4->pid)))" ( (parenthesized_expression "(iVar13 == 0 && (pPVar4 = find_last_proc(iVar9,iVar9), *piVar3 == pPVar4->pid))" ( (binary_expression "iVar13 == 0 && (pPVar4 = find_last_proc(iVar9,iVar9), *piVar3 == pPVar4->pid)" (binary_expression "iVar13 == 0" identifier == number_literal) && (parenthesized_expression "(pPVar4 = find_last_proc(iVar9,iVar9), *piVar3 == pPVar4->pid)" ( (comma_expression "pPVar4 = find_last_proc(iVar9,iVar9), *piVar3 == pPVar4->pid" (assignment_expression "pPVar4 = find_last_proc(iVar9,iVar9)" identifier = (call_expression "find_last_proc(iVar9,iVar9)" identifier (argument_list "(iVar9,iVar9)" ( identifier , identifier )))) , (binary_expression "*piVar3 == pPVar4->pid" (pointer_expression "*piVar3" * identifier) == (field_expression "pPVar4->pid" identifier -> field_identifier))) ))) )) ))) )) )) (compound_statement "{\n          iVar9 = iVar9 + 1;\n          piVar11 = piVar11 + 1;\n          if (iVar9 == iVar6) goto LAB_00065cdc;\n        }" { (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "piVar11 = piVar11 + 1;" (assignment_expression "piVar11 = piVar11 + 1" identifier = (binary_expression "piVar11 + 1" identifier + number_literal)) ;) (if_statement "if (iVar9 == iVar6) goto LAB_00065cdc;" if (parenthesized_expression "(iVar9 == iVar6)" ( (binary_expression "iVar9 == iVar6" identifier == identifier) )) (goto_statement "goto LAB_00065cdc;" goto statement_identifier ;)) })) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "piVar5 = *(int **)(iVar10 + 4);" (assignment_expression "piVar5 = *(int **)(iVar10 + 4)" identifier = (pointer_expression "*(int **)(iVar10 + 4)" * (cast_expression "(int **)(iVar10 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar10 + 4)" ( (binary_expression "iVar10 + 4" identifier + number_literal) ))))) ;) (do_statement "do {\n          piVar5 = (int *)*piVar5;\n          iVar8 = iVar8 + 1;\n        } while (*(int **)(iVar10 + 4) != piVar5);" do (compound_statement "{\n          piVar5 = (int *)*piVar5;\n          iVar8 = iVar8 + 1;\n        }" { (expression_statement "piVar5 = (int *)*piVar5;" (assignment_expression "piVar5 = (int *)*piVar5" identifier = (cast_expression "(int *)*piVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar5" * identifier))) ;) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(int **)(iVar10 + 4) != piVar5)" ( (binary_expression "*(int **)(iVar10 + 4) != piVar5" (pointer_expression "*(int **)(iVar10 + 4)" * (cast_expression "(int **)(iVar10 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar10 + 4)" ( (binary_expression "iVar10 + 4" identifier + number_literal) )))) != identifier) )) ;) (expression_statement "unaff_s3 = (sigset_t *)((int)unaff_s3 - iVar8);" (assignment_expression "unaff_s3 = (sigset_t *)((int)unaff_s3 - iVar8)" identifier = (cast_expression "(sigset_t *)((int)unaff_s3 - iVar8)" ( (type_descriptor "sigset_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s3 - iVar8)" ( (binary_expression "(int)unaff_s3 - iVar8" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (if_statement "if ((int)unaff_s3 <= in_t2) break;" if (parenthesized_expression "((int)unaff_s3 <= in_t2)" ( (binary_expression "(int)unaff_s3 <= in_t2" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (break_statement "break;" break ;)) (expression_statement "piVar11 = piVar11 + 1;" (assignment_expression "piVar11 = piVar11 + 1" identifier = (binary_expression "piVar11 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(iVar10 + 0x10) = *(uint *)(iVar10 + 0x10) | 2;" (assignment_expression "*(uint *)(iVar10 + 0x10) = *(uint *)(iVar10 + 0x10) | 2" (pointer_expression "*(uint *)(iVar10 + 0x10)" * (cast_expression "(uint *)(iVar10 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x10)" ( (binary_expression "iVar10 + 0x10" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar10 + 0x10) | 2" (pointer_expression "*(uint *)(iVar10 + 0x10)" * (cast_expression "(uint *)(iVar10 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x10)" ( (binary_expression "iVar10 + 0x10" identifier + number_literal) )))) | number_literal)) ;) }) while (parenthesized_expression "(iVar9 != iVar6)" ( (binary_expression "iVar9 != iVar6" identifier != identifier) )) ;) })) (labeled_statement "LAB_00065cdc:\n    (*(code *)PTR_sigprocmask_00146514)(3,unaff_s1,0);" statement_identifier : (expression_statement "(*(code *)PTR_sigprocmask_00146514)(3,unaff_s1,0);" (call_expression "(*(code *)PTR_sigprocmask_00146514)(3,unaff_s1,0)" (parenthesized_expression "(*(code *)PTR_sigprocmask_00146514)" ( (pointer_expression "*(code *)PTR_sigprocmask_00146514" * (cast_expression "(code *)PTR_sigprocmask_00146514" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3,unaff_s1,0)" ( number_literal , identifier , number_literal ))) ;)) (labeled_statement "LAB_00065b24:\n    if (iVar7 == *(int *)puVar2) {\n      return;\n    }" statement_identifier : (if_statement "if (iVar7 == *(int *)puVar2) {\n      return;\n    }" if (parenthesized_expression "(iVar7 == *(int *)puVar2)" ( (binary_expression "iVar7 == *(int *)puVar2" identifier == (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) }))) (expression_statement "iVar6 = (*(code *)PTR___stack_chk_fail_00146488)();" (assignment_expression "iVar6 = (*(code *)PTR___stack_chk_fail_00146488)()" identifier = (call_expression "(*(code *)PTR___stack_chk_fail_00146488)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00146488)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00146488" * (cast_expression "(code *)PTR___stack_chk_fail_00146488" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (labeled_statement "LAB_00065dc4:\n    *(int *)puVar1 = iVar6;" statement_identifier : (expression_statement "*(int *)puVar1 = iVar6;" (assignment_expression "*(int *)puVar1 = iVar6" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;)) }) while (parenthesized_expression "( true )" ( true )) ;)) })))
(translation_unit "void FUN_00065adc(int param_1)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  int *piVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int *piVar9;\n  int iVar10;\n  int in_t2;\n  int iVar11;\n  undefined1 *unaff_s1;\n  undefined1 *unaff_s3;\n  undefined1 auStack_11c [128];\n  undefined1 auStack_9c [128];\n  int local_1c;\n  \n  puVar2 = PTR___stack_chk_guard_001464dc;\n  puVar1 = PTR_js_00144e58;\n  local_1c = *(int *)PTR___stack_chk_guard_001464dc;\n  if (*(int *)(PTR_js_00144e58 + 0x18) == 0) goto LAB_00065b24;\n  unaff_s3 = auStack_11c;\n  (*(code *)PTR_sigemptyset_001462d4)(unaff_s3);\n  unaff_s1 = auStack_9c;\n  (*(code *)PTR_sigaddset_00146364)(unaff_s3,0x12);\n  (*(code *)PTR_sigemptyset_001462d4)(unaff_s1);\n  (*(code *)PTR_sigprocmask_00146514)(1,unaff_s3,unaff_s1);\n  if (param_1 != 0) {\n    iVar6 = *(int *)(puVar1 + 0x18);\n    if (iVar6 < 1) goto LAB_00065cdc;\n    iVar7 = 0;\n    iVar10 = 4;\n    in_t2 = *(int *)PTR_interactive_shell_00144598;\n    piVar9 = *(int **)PTR_jobs_00144e5c;\n    piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n    do {\n      iVar11 = *piVar9;\n      if (((iVar11 != 0) && (*(int *)(iVar11 + 0xc) == iVar10)) &&\n         ((in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4))))) {\n        *(uint *)(iVar11 + 0x10) = *(uint *)(iVar11 + 0x10) | 2;\n      }\n      iVar7 = iVar7 + 1;\n      piVar9 = piVar9 + 1;\n      if (iVar7 == iVar6) goto LAB_00065cdc;\n    } while( true );\n  }\n  if (*(int *)(puVar1 + 0x18) < 1) {\n    if (-1 < *(int *)puVar1) goto LAB_00065cdc;\n    unaff_s3 = (undefined1 *)0x0;\n  }\n  else {\n    unaff_s3 = (undefined1 *)0x0;\n    piVar3 = *(int **)PTR_jobs_00144e5c;\n    piVar9 = piVar3 + *(int *)(puVar1 + 0x18);\n    do {\n      while ((iVar6 = *piVar3, iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4))) {\n        piVar3 = piVar3 + 1;\n        if (piVar3 == piVar9) goto LAB_00065c10;\n      }\n      piVar5 = *(int **)(iVar6 + 4);\n      do {\n        piVar5 = (int *)*piVar5;\n        iVar7 = iVar7 + 1;\n      } while (*(int **)(iVar6 + 4) != piVar5);\n      piVar3 = piVar3 + 1;\n      unaff_s3 = unaff_s3 + iVar7;\n    } while (piVar3 != piVar9);\nLAB_00065c10:\n    in_t2 = *(int *)puVar1;\n    if (-1 < in_t2) goto LAB_00065c1c;\n  }\n  iVar6 = (*(code *)PTR_getmaxchild_00145174)();\n  in_t2 = iVar6;\n  if (-1 < iVar6) goto LAB_00065dc4;\n  in_t2 = 0x20;\n  *(undefined4 *)puVar1 = 0x20;\nLAB_00065c1c:\n  do {\n    if ((in_t2 < (int)unaff_s3) && (iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6)) {\n      iVar7 = 0;\n      iVar10 = 4;\n      iVar11 = *(int *)PTR_interactive_shell_00144598;\n      piVar9 = *(int **)PTR_jobs_00144e5c;\n      piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n      do {\n        while (((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))))) {\n          iVar7 = iVar7 + 1;\n          piVar9 = piVar9 + 1;\n          if (iVar7 == iVar6) goto LAB_00065cdc;\n        }\n        iVar4 = 0;\n        piVar5 = *(int **)(iVar8 + 4);\n        do {\n          piVar5 = (int *)*piVar5;\n          iVar4 = iVar4 + 1;\n        } while (*(int **)(iVar8 + 4) != piVar5);\n        unaff_s3 = unaff_s3 + -iVar4;\n        iVar7 = iVar7 + 1;\n        if ((int)unaff_s3 <= in_t2) break;\n        piVar9 = piVar9 + 1;\n        *(uint *)(iVar8 + 0x10) = *(uint *)(iVar8 + 0x10) | 2;\n      } while (iVar7 != iVar6);\n    }\nLAB_00065cdc:\n    (*(code *)PTR_sigprocmask_00146514)(3,unaff_s1,0);\nLAB_00065b24:\n    if (local_1c == *(int *)puVar2) {\n      return;\n    }\n    iVar6 = (*(code *)PTR___stack_chk_fail_00146488)();\nLAB_00065dc4:\n    *(int *)puVar1 = iVar6;\n  } while( true );\n}\n\n" (function_definition "void FUN_00065adc(int param_1)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  int *piVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int *piVar9;\n  int iVar10;\n  int in_t2;\n  int iVar11;\n  undefined1 *unaff_s1;\n  undefined1 *unaff_s3;\n  undefined1 auStack_11c [128];\n  undefined1 auStack_9c [128];\n  int local_1c;\n  \n  puVar2 = PTR___stack_chk_guard_001464dc;\n  puVar1 = PTR_js_00144e58;\n  local_1c = *(int *)PTR___stack_chk_guard_001464dc;\n  if (*(int *)(PTR_js_00144e58 + 0x18) == 0) goto LAB_00065b24;\n  unaff_s3 = auStack_11c;\n  (*(code *)PTR_sigemptyset_001462d4)(unaff_s3);\n  unaff_s1 = auStack_9c;\n  (*(code *)PTR_sigaddset_00146364)(unaff_s3,0x12);\n  (*(code *)PTR_sigemptyset_001462d4)(unaff_s1);\n  (*(code *)PTR_sigprocmask_00146514)(1,unaff_s3,unaff_s1);\n  if (param_1 != 0) {\n    iVar6 = *(int *)(puVar1 + 0x18);\n    if (iVar6 < 1) goto LAB_00065cdc;\n    iVar7 = 0;\n    iVar10 = 4;\n    in_t2 = *(int *)PTR_interactive_shell_00144598;\n    piVar9 = *(int **)PTR_jobs_00144e5c;\n    piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n    do {\n      iVar11 = *piVar9;\n      if (((iVar11 != 0) && (*(int *)(iVar11 + 0xc) == iVar10)) &&\n         ((in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4))))) {\n        *(uint *)(iVar11 + 0x10) = *(uint *)(iVar11 + 0x10) | 2;\n      }\n      iVar7 = iVar7 + 1;\n      piVar9 = piVar9 + 1;\n      if (iVar7 == iVar6) goto LAB_00065cdc;\n    } while( true );\n  }\n  if (*(int *)(puVar1 + 0x18) < 1) {\n    if (-1 < *(int *)puVar1) goto LAB_00065cdc;\n    unaff_s3 = (undefined1 *)0x0;\n  }\n  else {\n    unaff_s3 = (undefined1 *)0x0;\n    piVar3 = *(int **)PTR_jobs_00144e5c;\n    piVar9 = piVar3 + *(int *)(puVar1 + 0x18);\n    do {\n      while ((iVar6 = *piVar3, iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4))) {\n        piVar3 = piVar3 + 1;\n        if (piVar3 == piVar9) goto LAB_00065c10;\n      }\n      piVar5 = *(int **)(iVar6 + 4);\n      do {\n        piVar5 = (int *)*piVar5;\n        iVar7 = iVar7 + 1;\n      } while (*(int **)(iVar6 + 4) != piVar5);\n      piVar3 = piVar3 + 1;\n      unaff_s3 = unaff_s3 + iVar7;\n    } while (piVar3 != piVar9);\nLAB_00065c10:\n    in_t2 = *(int *)puVar1;\n    if (-1 < in_t2) goto LAB_00065c1c;\n  }\n  iVar6 = (*(code *)PTR_getmaxchild_00145174)();\n  in_t2 = iVar6;\n  if (-1 < iVar6) goto LAB_00065dc4;\n  in_t2 = 0x20;\n  *(undefined4 *)puVar1 = 0x20;\nLAB_00065c1c:\n  do {\n    if ((in_t2 < (int)unaff_s3) && (iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6)) {\n      iVar7 = 0;\n      iVar10 = 4;\n      iVar11 = *(int *)PTR_interactive_shell_00144598;\n      piVar9 = *(int **)PTR_jobs_00144e5c;\n      piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n      do {\n        while (((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))))) {\n          iVar7 = iVar7 + 1;\n          piVar9 = piVar9 + 1;\n          if (iVar7 == iVar6) goto LAB_00065cdc;\n        }\n        iVar4 = 0;\n        piVar5 = *(int **)(iVar8 + 4);\n        do {\n          piVar5 = (int *)*piVar5;\n          iVar4 = iVar4 + 1;\n        } while (*(int **)(iVar8 + 4) != piVar5);\n        unaff_s3 = unaff_s3 + -iVar4;\n        iVar7 = iVar7 + 1;\n        if ((int)unaff_s3 <= in_t2) break;\n        piVar9 = piVar9 + 1;\n        *(uint *)(iVar8 + 0x10) = *(uint *)(iVar8 + 0x10) | 2;\n      } while (iVar7 != iVar6);\n    }\nLAB_00065cdc:\n    (*(code *)PTR_sigprocmask_00146514)(3,unaff_s1,0);\nLAB_00065b24:\n    if (local_1c == *(int *)puVar2) {\n      return;\n    }\n    iVar6 = (*(code *)PTR___stack_chk_fail_00146488)();\nLAB_00065dc4:\n    *(int *)puVar1 = iVar6;\n  } while( true );\n}" primitive_type (function_declarator "FUN_00065adc(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  int *piVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int *piVar9;\n  int iVar10;\n  int in_t2;\n  int iVar11;\n  undefined1 *unaff_s1;\n  undefined1 *unaff_s3;\n  undefined1 auStack_11c [128];\n  undefined1 auStack_9c [128];\n  int local_1c;\n  \n  puVar2 = PTR___stack_chk_guard_001464dc;\n  puVar1 = PTR_js_00144e58;\n  local_1c = *(int *)PTR___stack_chk_guard_001464dc;\n  if (*(int *)(PTR_js_00144e58 + 0x18) == 0) goto LAB_00065b24;\n  unaff_s3 = auStack_11c;\n  (*(code *)PTR_sigemptyset_001462d4)(unaff_s3);\n  unaff_s1 = auStack_9c;\n  (*(code *)PTR_sigaddset_00146364)(unaff_s3,0x12);\n  (*(code *)PTR_sigemptyset_001462d4)(unaff_s1);\n  (*(code *)PTR_sigprocmask_00146514)(1,unaff_s3,unaff_s1);\n  if (param_1 != 0) {\n    iVar6 = *(int *)(puVar1 + 0x18);\n    if (iVar6 < 1) goto LAB_00065cdc;\n    iVar7 = 0;\n    iVar10 = 4;\n    in_t2 = *(int *)PTR_interactive_shell_00144598;\n    piVar9 = *(int **)PTR_jobs_00144e5c;\n    piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n    do {\n      iVar11 = *piVar9;\n      if (((iVar11 != 0) && (*(int *)(iVar11 + 0xc) == iVar10)) &&\n         ((in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4))))) {\n        *(uint *)(iVar11 + 0x10) = *(uint *)(iVar11 + 0x10) | 2;\n      }\n      iVar7 = iVar7 + 1;\n      piVar9 = piVar9 + 1;\n      if (iVar7 == iVar6) goto LAB_00065cdc;\n    } while( true );\n  }\n  if (*(int *)(puVar1 + 0x18) < 1) {\n    if (-1 < *(int *)puVar1) goto LAB_00065cdc;\n    unaff_s3 = (undefined1 *)0x0;\n  }\n  else {\n    unaff_s3 = (undefined1 *)0x0;\n    piVar3 = *(int **)PTR_jobs_00144e5c;\n    piVar9 = piVar3 + *(int *)(puVar1 + 0x18);\n    do {\n      while ((iVar6 = *piVar3, iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4))) {\n        piVar3 = piVar3 + 1;\n        if (piVar3 == piVar9) goto LAB_00065c10;\n      }\n      piVar5 = *(int **)(iVar6 + 4);\n      do {\n        piVar5 = (int *)*piVar5;\n        iVar7 = iVar7 + 1;\n      } while (*(int **)(iVar6 + 4) != piVar5);\n      piVar3 = piVar3 + 1;\n      unaff_s3 = unaff_s3 + iVar7;\n    } while (piVar3 != piVar9);\nLAB_00065c10:\n    in_t2 = *(int *)puVar1;\n    if (-1 < in_t2) goto LAB_00065c1c;\n  }\n  iVar6 = (*(code *)PTR_getmaxchild_00145174)();\n  in_t2 = iVar6;\n  if (-1 < iVar6) goto LAB_00065dc4;\n  in_t2 = 0x20;\n  *(undefined4 *)puVar1 = 0x20;\nLAB_00065c1c:\n  do {\n    if ((in_t2 < (int)unaff_s3) && (iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6)) {\n      iVar7 = 0;\n      iVar10 = 4;\n      iVar11 = *(int *)PTR_interactive_shell_00144598;\n      piVar9 = *(int **)PTR_jobs_00144e5c;\n      piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n      do {\n        while (((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))))) {\n          iVar7 = iVar7 + 1;\n          piVar9 = piVar9 + 1;\n          if (iVar7 == iVar6) goto LAB_00065cdc;\n        }\n        iVar4 = 0;\n        piVar5 = *(int **)(iVar8 + 4);\n        do {\n          piVar5 = (int *)*piVar5;\n          iVar4 = iVar4 + 1;\n        } while (*(int **)(iVar8 + 4) != piVar5);\n        unaff_s3 = unaff_s3 + -iVar4;\n        iVar7 = iVar7 + 1;\n        if ((int)unaff_s3 <= in_t2) break;\n        piVar9 = piVar9 + 1;\n        *(uint *)(iVar8 + 0x10) = *(uint *)(iVar8 + 0x10) | 2;\n      } while (iVar7 != iVar6);\n    }\nLAB_00065cdc:\n    (*(code *)PTR_sigprocmask_00146514)(3,unaff_s1,0);\nLAB_00065b24:\n    if (local_1c == *(int *)puVar2) {\n      return;\n    }\n    iVar6 = (*(code *)PTR___stack_chk_fail_00146488)();\nLAB_00065dc4:\n    *(int *)puVar1 = iVar6;\n  } while( true );\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int in_t2;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "undefined1 *unaff_s1;" type_identifier (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "undefined1 *unaff_s3;" type_identifier (pointer_declarator "*unaff_s3" * identifier) ;) (declaration "undefined1 auStack_11c [128];" type_identifier (array_declarator "auStack_11c [128]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_9c [128];" type_identifier (array_declarator "auStack_9c [128]" identifier [ number_literal ]) ;) (declaration "int local_1c;" primitive_type identifier ;) (expression_statement "puVar2 = PTR___stack_chk_guard_001464dc;" (assignment_expression "puVar2 = PTR___stack_chk_guard_001464dc" identifier = identifier) ;) (expression_statement "puVar1 = PTR_js_00144e58;" (assignment_expression "puVar1 = PTR_js_00144e58" identifier = identifier) ;) (expression_statement "local_1c = *(int *)PTR___stack_chk_guard_001464dc;" (assignment_expression "local_1c = *(int *)PTR___stack_chk_guard_001464dc" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_001464dc" * (cast_expression "(int *)PTR___stack_chk_guard_001464dc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (*(int *)(PTR_js_00144e58 + 0x18) == 0) goto LAB_00065b24;" if (parenthesized_expression "(*(int *)(PTR_js_00144e58 + 0x18) == 0)" ( (binary_expression "*(int *)(PTR_js_00144e58 + 0x18) == 0" (pointer_expression "*(int *)(PTR_js_00144e58 + 0x18)" * (cast_expression "(int *)(PTR_js_00144e58 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_js_00144e58 + 0x18)" ( (binary_expression "PTR_js_00144e58 + 0x18" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_00065b24;" goto statement_identifier ;)) (expression_statement "unaff_s3 = auStack_11c;" (assignment_expression "unaff_s3 = auStack_11c" identifier = identifier) ;) (expression_statement "(*(code *)PTR_sigemptyset_001462d4)(unaff_s3);" (call_expression "(*(code *)PTR_sigemptyset_001462d4)(unaff_s3)" (parenthesized_expression "(*(code *)PTR_sigemptyset_001462d4)" ( (pointer_expression "*(code *)PTR_sigemptyset_001462d4" * (cast_expression "(code *)PTR_sigemptyset_001462d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s3)" ( identifier ))) ;) (expression_statement "unaff_s1 = auStack_9c;" (assignment_expression "unaff_s1 = auStack_9c" identifier = identifier) ;) (expression_statement "(*(code *)PTR_sigaddset_00146364)(unaff_s3,0x12);" (call_expression "(*(code *)PTR_sigaddset_00146364)(unaff_s3,0x12)" (parenthesized_expression "(*(code *)PTR_sigaddset_00146364)" ( (pointer_expression "*(code *)PTR_sigaddset_00146364" * (cast_expression "(code *)PTR_sigaddset_00146364" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s3,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(*(code *)PTR_sigemptyset_001462d4)(unaff_s1);" (call_expression "(*(code *)PTR_sigemptyset_001462d4)(unaff_s1)" (parenthesized_expression "(*(code *)PTR_sigemptyset_001462d4)" ( (pointer_expression "*(code *)PTR_sigemptyset_001462d4" * (cast_expression "(code *)PTR_sigemptyset_001462d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s1)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_sigprocmask_00146514)(1,unaff_s3,unaff_s1);" (call_expression "(*(code *)PTR_sigprocmask_00146514)(1,unaff_s3,unaff_s1)" (parenthesized_expression "(*(code *)PTR_sigprocmask_00146514)" ( (pointer_expression "*(code *)PTR_sigprocmask_00146514" * (cast_expression "(code *)PTR_sigprocmask_00146514" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,unaff_s3,unaff_s1)" ( number_literal , identifier , identifier ))) ;) (if_statement "if (param_1 != 0) {\n    iVar6 = *(int *)(puVar1 + 0x18);\n    if (iVar6 < 1) goto LAB_00065cdc;\n    iVar7 = 0;\n    iVar10 = 4;\n    in_t2 = *(int *)PTR_interactive_shell_00144598;\n    piVar9 = *(int **)PTR_jobs_00144e5c;\n    piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n    do {\n      iVar11 = *piVar9;\n      if (((iVar11 != 0) && (*(int *)(iVar11 + 0xc) == iVar10)) &&\n         ((in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4))))) {\n        *(uint *)(iVar11 + 0x10) = *(uint *)(iVar11 + 0x10) | 2;\n      }\n      iVar7 = iVar7 + 1;\n      piVar9 = piVar9 + 1;\n      if (iVar7 == iVar6) goto LAB_00065cdc;\n    } while( true );\n  }" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar6 = *(int *)(puVar1 + 0x18);\n    if (iVar6 < 1) goto LAB_00065cdc;\n    iVar7 = 0;\n    iVar10 = 4;\n    in_t2 = *(int *)PTR_interactive_shell_00144598;\n    piVar9 = *(int **)PTR_jobs_00144e5c;\n    piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n    do {\n      iVar11 = *piVar9;\n      if (((iVar11 != 0) && (*(int *)(iVar11 + 0xc) == iVar10)) &&\n         ((in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4))))) {\n        *(uint *)(iVar11 + 0x10) = *(uint *)(iVar11 + 0x10) | 2;\n      }\n      iVar7 = iVar7 + 1;\n      piVar9 = piVar9 + 1;\n      if (iVar7 == iVar6) goto LAB_00065cdc;\n    } while( true );\n  }" { (expression_statement "iVar6 = *(int *)(puVar1 + 0x18);" (assignment_expression "iVar6 = *(int *)(puVar1 + 0x18)" identifier = (pointer_expression "*(int *)(puVar1 + 0x18)" * (cast_expression "(int *)(puVar1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x18)" ( (binary_expression "puVar1 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (iVar6 < 1) goto LAB_00065cdc;" if (parenthesized_expression "(iVar6 < 1)" ( (binary_expression "iVar6 < 1" identifier < number_literal) )) (goto_statement "goto LAB_00065cdc;" goto statement_identifier ;)) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "iVar10 = 4;" (assignment_expression "iVar10 = 4" identifier = number_literal) ;) (expression_statement "in_t2 = *(int *)PTR_interactive_shell_00144598;" (assignment_expression "in_t2 = *(int *)PTR_interactive_shell_00144598" identifier = (pointer_expression "*(int *)PTR_interactive_shell_00144598" * (cast_expression "(int *)PTR_interactive_shell_00144598" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "piVar9 = *(int **)PTR_jobs_00144e5c;" (assignment_expression "piVar9 = *(int **)PTR_jobs_00144e5c" identifier = (pointer_expression "*(int **)PTR_jobs_00144e5c" * (cast_expression "(int **)PTR_jobs_00144e5c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;" (assignment_expression "piVar3 = (int *)PTR_last_asynchronous_pid_00144d30" identifier = (cast_expression "(int *)PTR_last_asynchronous_pid_00144d30" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n      iVar11 = *piVar9;\n      if (((iVar11 != 0) && (*(int *)(iVar11 + 0xc) == iVar10)) &&\n         ((in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4))))) {\n        *(uint *)(iVar11 + 0x10) = *(uint *)(iVar11 + 0x10) | 2;\n      }\n      iVar7 = iVar7 + 1;\n      piVar9 = piVar9 + 1;\n      if (iVar7 == iVar6) goto LAB_00065cdc;\n    } while( true );" do (compound_statement "{\n      iVar11 = *piVar9;\n      if (((iVar11 != 0) && (*(int *)(iVar11 + 0xc) == iVar10)) &&\n         ((in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4))))) {\n        *(uint *)(iVar11 + 0x10) = *(uint *)(iVar11 + 0x10) | 2;\n      }\n      iVar7 = iVar7 + 1;\n      piVar9 = piVar9 + 1;\n      if (iVar7 == iVar6) goto LAB_00065cdc;\n    }" { (expression_statement "iVar11 = *piVar9;" (assignment_expression "iVar11 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (if_statement "if (((iVar11 != 0) && (*(int *)(iVar11 + 0xc) == iVar10)) &&\n         ((in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4))))) {\n        *(uint *)(iVar11 + 0x10) = *(uint *)(iVar11 + 0x10) | 2;\n      }" if (parenthesized_expression "(((iVar11 != 0) && (*(int *)(iVar11 + 0xc) == iVar10)) &&\n         ((in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4)))))" ( (binary_expression "((iVar11 != 0) && (*(int *)(iVar11 + 0xc) == iVar10)) &&\n         ((in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4))))" (parenthesized_expression "((iVar11 != 0) && (*(int *)(iVar11 + 0xc) == iVar10))" ( (binary_expression "(iVar11 != 0) && (*(int *)(iVar11 + 0xc) == iVar10)" (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(int *)(iVar11 + 0xc) == iVar10)" ( (binary_expression "*(int *)(iVar11 + 0xc) == iVar10" (pointer_expression "*(int *)(iVar11 + 0xc)" * (cast_expression "(int *)(iVar11 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xc)" ( (binary_expression "iVar11 + 0xc" identifier + number_literal) )))) == identifier) ))) )) && (parenthesized_expression "((in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4))))" ( (parenthesized_expression "(in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4)))" ( (binary_expression "in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4))" (binary_expression "in_t2 != 0" identifier != number_literal) || (parenthesized_expression "(iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4))" ( (comma_expression "iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4)" (assignment_expression "iVar8 = FUN_00065a6c(iVar7)" identifier = (call_expression "FUN_00065a6c(iVar7)" identifier (argument_list "(iVar7)" ( identifier )))) , (binary_expression "*piVar3 != *(int *)(iVar8 + 4)" (pointer_expression "*piVar3" * identifier) != (pointer_expression "*(int *)(iVar8 + 4)" * (cast_expression "(int *)(iVar8 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 4)" ( (binary_expression "iVar8 + 4" identifier + number_literal) )))))) ))) )) ))) )) (compound_statement "{\n        *(uint *)(iVar11 + 0x10) = *(uint *)(iVar11 + 0x10) | 2;\n      }" { (expression_statement "*(uint *)(iVar11 + 0x10) = *(uint *)(iVar11 + 0x10) | 2;" (assignment_expression "*(uint *)(iVar11 + 0x10) = *(uint *)(iVar11 + 0x10) | 2" (pointer_expression "*(uint *)(iVar11 + 0x10)" * (cast_expression "(uint *)(iVar11 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x10)" ( (binary_expression "iVar11 + 0x10" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar11 + 0x10) | 2" (pointer_expression "*(uint *)(iVar11 + 0x10)" * (cast_expression "(uint *)(iVar11 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x10)" ( (binary_expression "iVar11 + 0x10" identifier + number_literal) )))) | number_literal)) ;) })) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "piVar9 = piVar9 + 1;" (assignment_expression "piVar9 = piVar9 + 1" identifier = (binary_expression "piVar9 + 1" identifier + number_literal)) ;) (if_statement "if (iVar7 == iVar6) goto LAB_00065cdc;" if (parenthesized_expression "(iVar7 == iVar6)" ( (binary_expression "iVar7 == iVar6" identifier == identifier) )) (goto_statement "goto LAB_00065cdc;" goto statement_identifier ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (if_statement "if (*(int *)(puVar1 + 0x18) < 1) {\n    if (-1 < *(int *)puVar1) goto LAB_00065cdc;\n    unaff_s3 = (undefined1 *)0x0;\n  }\n  else {\n    unaff_s3 = (undefined1 *)0x0;\n    piVar3 = *(int **)PTR_jobs_00144e5c;\n    piVar9 = piVar3 + *(int *)(puVar1 + 0x18);\n    do {\n      while ((iVar6 = *piVar3, iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4))) {\n        piVar3 = piVar3 + 1;\n        if (piVar3 == piVar9) goto LAB_00065c10;\n      }\n      piVar5 = *(int **)(iVar6 + 4);\n      do {\n        piVar5 = (int *)*piVar5;\n        iVar7 = iVar7 + 1;\n      } while (*(int **)(iVar6 + 4) != piVar5);\n      piVar3 = piVar3 + 1;\n      unaff_s3 = unaff_s3 + iVar7;\n    } while (piVar3 != piVar9);\nLAB_00065c10:\n    in_t2 = *(int *)puVar1;\n    if (-1 < in_t2) goto LAB_00065c1c;\n  }" if (parenthesized_expression "(*(int *)(puVar1 + 0x18) < 1)" ( (binary_expression "*(int *)(puVar1 + 0x18) < 1" (pointer_expression "*(int *)(puVar1 + 0x18)" * (cast_expression "(int *)(puVar1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x18)" ( (binary_expression "puVar1 + 0x18" identifier + number_literal) )))) < number_literal) )) (compound_statement "{\n    if (-1 < *(int *)puVar1) goto LAB_00065cdc;\n    unaff_s3 = (undefined1 *)0x0;\n  }" { (if_statement "if (-1 < *(int *)puVar1) goto LAB_00065cdc;" if (parenthesized_expression "(-1 < *(int *)puVar1)" ( (binary_expression "-1 < *(int *)puVar1" number_literal < (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (goto_statement "goto LAB_00065cdc;" goto statement_identifier ;)) (expression_statement "unaff_s3 = (undefined1 *)0x0;" (assignment_expression "unaff_s3 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    unaff_s3 = (undefined1 *)0x0;\n    piVar3 = *(int **)PTR_jobs_00144e5c;\n    piVar9 = piVar3 + *(int *)(puVar1 + 0x18);\n    do {\n      while ((iVar6 = *piVar3, iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4))) {\n        piVar3 = piVar3 + 1;\n        if (piVar3 == piVar9) goto LAB_00065c10;\n      }\n      piVar5 = *(int **)(iVar6 + 4);\n      do {\n        piVar5 = (int *)*piVar5;\n        iVar7 = iVar7 + 1;\n      } while (*(int **)(iVar6 + 4) != piVar5);\n      piVar3 = piVar3 + 1;\n      unaff_s3 = unaff_s3 + iVar7;\n    } while (piVar3 != piVar9);\nLAB_00065c10:\n    in_t2 = *(int *)puVar1;\n    if (-1 < in_t2) goto LAB_00065c1c;\n  }" else (compound_statement "{\n    unaff_s3 = (undefined1 *)0x0;\n    piVar3 = *(int **)PTR_jobs_00144e5c;\n    piVar9 = piVar3 + *(int *)(puVar1 + 0x18);\n    do {\n      while ((iVar6 = *piVar3, iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4))) {\n        piVar3 = piVar3 + 1;\n        if (piVar3 == piVar9) goto LAB_00065c10;\n      }\n      piVar5 = *(int **)(iVar6 + 4);\n      do {\n        piVar5 = (int *)*piVar5;\n        iVar7 = iVar7 + 1;\n      } while (*(int **)(iVar6 + 4) != piVar5);\n      piVar3 = piVar3 + 1;\n      unaff_s3 = unaff_s3 + iVar7;\n    } while (piVar3 != piVar9);\nLAB_00065c10:\n    in_t2 = *(int *)puVar1;\n    if (-1 < in_t2) goto LAB_00065c1c;\n  }" { (expression_statement "unaff_s3 = (undefined1 *)0x0;" (assignment_expression "unaff_s3 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar3 = *(int **)PTR_jobs_00144e5c;" (assignment_expression "piVar3 = *(int **)PTR_jobs_00144e5c" identifier = (pointer_expression "*(int **)PTR_jobs_00144e5c" * (cast_expression "(int **)PTR_jobs_00144e5c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "piVar9 = piVar3 + *(int *)(puVar1 + 0x18);" (assignment_expression "piVar9 = piVar3 + *(int *)(puVar1 + 0x18)" identifier = (binary_expression "piVar3 + *(int *)(puVar1 + 0x18)" identifier + (pointer_expression "*(int *)(puVar1 + 0x18)" * (cast_expression "(int *)(puVar1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x18)" ( (binary_expression "puVar1 + 0x18" identifier + number_literal) )))))) ;) (do_statement "do {\n      while ((iVar6 = *piVar3, iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4))) {\n        piVar3 = piVar3 + 1;\n        if (piVar3 == piVar9) goto LAB_00065c10;\n      }\n      piVar5 = *(int **)(iVar6 + 4);\n      do {\n        piVar5 = (int *)*piVar5;\n        iVar7 = iVar7 + 1;\n      } while (*(int **)(iVar6 + 4) != piVar5);\n      piVar3 = piVar3 + 1;\n      unaff_s3 = unaff_s3 + iVar7;\n    } while (piVar3 != piVar9);" do (compound_statement "{\n      while ((iVar6 = *piVar3, iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4))) {\n        piVar3 = piVar3 + 1;\n        if (piVar3 == piVar9) goto LAB_00065c10;\n      }\n      piVar5 = *(int **)(iVar6 + 4);\n      do {\n        piVar5 = (int *)*piVar5;\n        iVar7 = iVar7 + 1;\n      } while (*(int **)(iVar6 + 4) != piVar5);\n      piVar3 = piVar3 + 1;\n      unaff_s3 = unaff_s3 + iVar7;\n    }" { (while_statement "while ((iVar6 = *piVar3, iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4))) {\n        piVar3 = piVar3 + 1;\n        if (piVar3 == piVar9) goto LAB_00065c10;\n      }" while (parenthesized_expression "((iVar6 = *piVar3, iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4)))" ( (parenthesized_expression "(iVar6 = *piVar3, iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4))" ( (comma_expression "iVar6 = *piVar3, iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4)" (assignment_expression "iVar6 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) , (binary_expression "iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4)" (binary_expression "iVar6 == 0" identifier == number_literal) || (parenthesized_expression "(iVar7 = 0, *(int *)(iVar6 + 0xc) != 4)" ( (comma_expression "iVar7 = 0, *(int *)(iVar6 + 0xc) != 4" (assignment_expression "iVar7 = 0" identifier = number_literal) , (binary_expression "*(int *)(iVar6 + 0xc) != 4" (pointer_expression "*(int *)(iVar6 + 0xc)" * (cast_expression "(int *)(iVar6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) )))) != number_literal)) )))) )) )) (compound_statement "{\n        piVar3 = piVar3 + 1;\n        if (piVar3 == piVar9) goto LAB_00065c10;\n      }" { (expression_statement "piVar3 = piVar3 + 1;" (assignment_expression "piVar3 = piVar3 + 1" identifier = (binary_expression "piVar3 + 1" identifier + number_literal)) ;) (if_statement "if (piVar3 == piVar9) goto LAB_00065c10;" if (parenthesized_expression "(piVar3 == piVar9)" ( (binary_expression "piVar3 == piVar9" identifier == identifier) )) (goto_statement "goto LAB_00065c10;" goto statement_identifier ;)) })) (expression_statement "piVar5 = *(int **)(iVar6 + 4);" (assignment_expression "piVar5 = *(int **)(iVar6 + 4)" identifier = (pointer_expression "*(int **)(iVar6 + 4)" * (cast_expression "(int **)(iVar6 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 4)" ( (binary_expression "iVar6 + 4" identifier + number_literal) ))))) ;) (do_statement "do {\n        piVar5 = (int *)*piVar5;\n        iVar7 = iVar7 + 1;\n      } while (*(int **)(iVar6 + 4) != piVar5);" do (compound_statement "{\n        piVar5 = (int *)*piVar5;\n        iVar7 = iVar7 + 1;\n      }" { (expression_statement "piVar5 = (int *)*piVar5;" (assignment_expression "piVar5 = (int *)*piVar5" identifier = (cast_expression "(int *)*piVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar5" * identifier))) ;) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(int **)(iVar6 + 4) != piVar5)" ( (binary_expression "*(int **)(iVar6 + 4) != piVar5" (pointer_expression "*(int **)(iVar6 + 4)" * (cast_expression "(int **)(iVar6 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 4)" ( (binary_expression "iVar6 + 4" identifier + number_literal) )))) != identifier) )) ;) (expression_statement "piVar3 = piVar3 + 1;" (assignment_expression "piVar3 = piVar3 + 1" identifier = (binary_expression "piVar3 + 1" identifier + number_literal)) ;) (expression_statement "unaff_s3 = unaff_s3 + iVar7;" (assignment_expression "unaff_s3 = unaff_s3 + iVar7" identifier = (binary_expression "unaff_s3 + iVar7" identifier + identifier)) ;) }) while (parenthesized_expression "(piVar3 != piVar9)" ( (binary_expression "piVar3 != piVar9" identifier != identifier) )) ;) (labeled_statement "LAB_00065c10:\n    in_t2 = *(int *)puVar1;" statement_identifier : (expression_statement "in_t2 = *(int *)puVar1;" (assignment_expression "in_t2 = *(int *)puVar1" identifier = (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;)) (if_statement "if (-1 < in_t2) goto LAB_00065c1c;" if (parenthesized_expression "(-1 < in_t2)" ( (binary_expression "-1 < in_t2" number_literal < identifier) )) (goto_statement "goto LAB_00065c1c;" goto statement_identifier ;)) }))) (expression_statement "iVar6 = (*(code *)PTR_getmaxchild_00145174)();" (assignment_expression "iVar6 = (*(code *)PTR_getmaxchild_00145174)()" identifier = (call_expression "(*(code *)PTR_getmaxchild_00145174)()" (parenthesized_expression "(*(code *)PTR_getmaxchild_00145174)" ( (pointer_expression "*(code *)PTR_getmaxchild_00145174" * (cast_expression "(code *)PTR_getmaxchild_00145174" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "in_t2 = iVar6;" (assignment_expression "in_t2 = iVar6" identifier = identifier) ;) (if_statement "if (-1 < iVar6) goto LAB_00065dc4;" if (parenthesized_expression "(-1 < iVar6)" ( (binary_expression "-1 < iVar6" number_literal < identifier) )) (goto_statement "goto LAB_00065dc4;" goto statement_identifier ;)) (expression_statement "in_t2 = 0x20;" (assignment_expression "in_t2 = 0x20" identifier = number_literal) ;) (expression_statement "*(undefined4 *)puVar1 = 0x20;" (assignment_expression "*(undefined4 *)puVar1 = 0x20" (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (labeled_statement "LAB_00065c1c:\n  do {\n    if ((in_t2 < (int)unaff_s3) && (iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6)) {\n      iVar7 = 0;\n      iVar10 = 4;\n      iVar11 = *(int *)PTR_interactive_shell_00144598;\n      piVar9 = *(int **)PTR_jobs_00144e5c;\n      piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n      do {\n        while (((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))))) {\n          iVar7 = iVar7 + 1;\n          piVar9 = piVar9 + 1;\n          if (iVar7 == iVar6) goto LAB_00065cdc;\n        }\n        iVar4 = 0;\n        piVar5 = *(int **)(iVar8 + 4);\n        do {\n          piVar5 = (int *)*piVar5;\n          iVar4 = iVar4 + 1;\n        } while (*(int **)(iVar8 + 4) != piVar5);\n        unaff_s3 = unaff_s3 + -iVar4;\n        iVar7 = iVar7 + 1;\n        if ((int)unaff_s3 <= in_t2) break;\n        piVar9 = piVar9 + 1;\n        *(uint *)(iVar8 + 0x10) = *(uint *)(iVar8 + 0x10) | 2;\n      } while (iVar7 != iVar6);\n    }\nLAB_00065cdc:\n    (*(code *)PTR_sigprocmask_00146514)(3,unaff_s1,0);\nLAB_00065b24:\n    if (local_1c == *(int *)puVar2) {\n      return;\n    }\n    iVar6 = (*(code *)PTR___stack_chk_fail_00146488)();\nLAB_00065dc4:\n    *(int *)puVar1 = iVar6;\n  } while( true );" statement_identifier : (do_statement "do {\n    if ((in_t2 < (int)unaff_s3) && (iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6)) {\n      iVar7 = 0;\n      iVar10 = 4;\n      iVar11 = *(int *)PTR_interactive_shell_00144598;\n      piVar9 = *(int **)PTR_jobs_00144e5c;\n      piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n      do {\n        while (((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))))) {\n          iVar7 = iVar7 + 1;\n          piVar9 = piVar9 + 1;\n          if (iVar7 == iVar6) goto LAB_00065cdc;\n        }\n        iVar4 = 0;\n        piVar5 = *(int **)(iVar8 + 4);\n        do {\n          piVar5 = (int *)*piVar5;\n          iVar4 = iVar4 + 1;\n        } while (*(int **)(iVar8 + 4) != piVar5);\n        unaff_s3 = unaff_s3 + -iVar4;\n        iVar7 = iVar7 + 1;\n        if ((int)unaff_s3 <= in_t2) break;\n        piVar9 = piVar9 + 1;\n        *(uint *)(iVar8 + 0x10) = *(uint *)(iVar8 + 0x10) | 2;\n      } while (iVar7 != iVar6);\n    }\nLAB_00065cdc:\n    (*(code *)PTR_sigprocmask_00146514)(3,unaff_s1,0);\nLAB_00065b24:\n    if (local_1c == *(int *)puVar2) {\n      return;\n    }\n    iVar6 = (*(code *)PTR___stack_chk_fail_00146488)();\nLAB_00065dc4:\n    *(int *)puVar1 = iVar6;\n  } while( true );" do (compound_statement "{\n    if ((in_t2 < (int)unaff_s3) && (iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6)) {\n      iVar7 = 0;\n      iVar10 = 4;\n      iVar11 = *(int *)PTR_interactive_shell_00144598;\n      piVar9 = *(int **)PTR_jobs_00144e5c;\n      piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n      do {\n        while (((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))))) {\n          iVar7 = iVar7 + 1;\n          piVar9 = piVar9 + 1;\n          if (iVar7 == iVar6) goto LAB_00065cdc;\n        }\n        iVar4 = 0;\n        piVar5 = *(int **)(iVar8 + 4);\n        do {\n          piVar5 = (int *)*piVar5;\n          iVar4 = iVar4 + 1;\n        } while (*(int **)(iVar8 + 4) != piVar5);\n        unaff_s3 = unaff_s3 + -iVar4;\n        iVar7 = iVar7 + 1;\n        if ((int)unaff_s3 <= in_t2) break;\n        piVar9 = piVar9 + 1;\n        *(uint *)(iVar8 + 0x10) = *(uint *)(iVar8 + 0x10) | 2;\n      } while (iVar7 != iVar6);\n    }\nLAB_00065cdc:\n    (*(code *)PTR_sigprocmask_00146514)(3,unaff_s1,0);\nLAB_00065b24:\n    if (local_1c == *(int *)puVar2) {\n      return;\n    }\n    iVar6 = (*(code *)PTR___stack_chk_fail_00146488)();\nLAB_00065dc4:\n    *(int *)puVar1 = iVar6;\n  }" { (if_statement "if ((in_t2 < (int)unaff_s3) && (iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6)) {\n      iVar7 = 0;\n      iVar10 = 4;\n      iVar11 = *(int *)PTR_interactive_shell_00144598;\n      piVar9 = *(int **)PTR_jobs_00144e5c;\n      piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n      do {\n        while (((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))))) {\n          iVar7 = iVar7 + 1;\n          piVar9 = piVar9 + 1;\n          if (iVar7 == iVar6) goto LAB_00065cdc;\n        }\n        iVar4 = 0;\n        piVar5 = *(int **)(iVar8 + 4);\n        do {\n          piVar5 = (int *)*piVar5;\n          iVar4 = iVar4 + 1;\n        } while (*(int **)(iVar8 + 4) != piVar5);\n        unaff_s3 = unaff_s3 + -iVar4;\n        iVar7 = iVar7 + 1;\n        if ((int)unaff_s3 <= in_t2) break;\n        piVar9 = piVar9 + 1;\n        *(uint *)(iVar8 + 0x10) = *(uint *)(iVar8 + 0x10) | 2;\n      } while (iVar7 != iVar6);\n    }" if (parenthesized_expression "((in_t2 < (int)unaff_s3) && (iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6))" ( (binary_expression "(in_t2 < (int)unaff_s3) && (iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6)" (parenthesized_expression "(in_t2 < (int)unaff_s3)" ( (binary_expression "in_t2 < (int)unaff_s3" identifier < (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "(iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6)" ( (comma_expression "iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6" (assignment_expression "iVar6 = *(int *)(puVar1 + 0x18)" identifier = (pointer_expression "*(int *)(puVar1 + 0x18)" * (cast_expression "(int *)(puVar1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x18)" ( (binary_expression "puVar1 + 0x18" identifier + number_literal) ))))) , (binary_expression "0 < iVar6" number_literal < identifier)) ))) )) (compound_statement "{\n      iVar7 = 0;\n      iVar10 = 4;\n      iVar11 = *(int *)PTR_interactive_shell_00144598;\n      piVar9 = *(int **)PTR_jobs_00144e5c;\n      piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n      do {\n        while (((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))))) {\n          iVar7 = iVar7 + 1;\n          piVar9 = piVar9 + 1;\n          if (iVar7 == iVar6) goto LAB_00065cdc;\n        }\n        iVar4 = 0;\n        piVar5 = *(int **)(iVar8 + 4);\n        do {\n          piVar5 = (int *)*piVar5;\n          iVar4 = iVar4 + 1;\n        } while (*(int **)(iVar8 + 4) != piVar5);\n        unaff_s3 = unaff_s3 + -iVar4;\n        iVar7 = iVar7 + 1;\n        if ((int)unaff_s3 <= in_t2) break;\n        piVar9 = piVar9 + 1;\n        *(uint *)(iVar8 + 0x10) = *(uint *)(iVar8 + 0x10) | 2;\n      } while (iVar7 != iVar6);\n    }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "iVar10 = 4;" (assignment_expression "iVar10 = 4" identifier = number_literal) ;) (expression_statement "iVar11 = *(int *)PTR_interactive_shell_00144598;" (assignment_expression "iVar11 = *(int *)PTR_interactive_shell_00144598" identifier = (pointer_expression "*(int *)PTR_interactive_shell_00144598" * (cast_expression "(int *)PTR_interactive_shell_00144598" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "piVar9 = *(int **)PTR_jobs_00144e5c;" (assignment_expression "piVar9 = *(int **)PTR_jobs_00144e5c" identifier = (pointer_expression "*(int **)PTR_jobs_00144e5c" * (cast_expression "(int **)PTR_jobs_00144e5c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;" (assignment_expression "piVar3 = (int *)PTR_last_asynchronous_pid_00144d30" identifier = (cast_expression "(int *)PTR_last_asynchronous_pid_00144d30" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n        while (((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))))) {\n          iVar7 = iVar7 + 1;\n          piVar9 = piVar9 + 1;\n          if (iVar7 == iVar6) goto LAB_00065cdc;\n        }\n        iVar4 = 0;\n        piVar5 = *(int **)(iVar8 + 4);\n        do {\n          piVar5 = (int *)*piVar5;\n          iVar4 = iVar4 + 1;\n        } while (*(int **)(iVar8 + 4) != piVar5);\n        unaff_s3 = unaff_s3 + -iVar4;\n        iVar7 = iVar7 + 1;\n        if ((int)unaff_s3 <= in_t2) break;\n        piVar9 = piVar9 + 1;\n        *(uint *)(iVar8 + 0x10) = *(uint *)(iVar8 + 0x10) | 2;\n      } while (iVar7 != iVar6);" do (compound_statement "{\n        while (((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))))) {\n          iVar7 = iVar7 + 1;\n          piVar9 = piVar9 + 1;\n          if (iVar7 == iVar6) goto LAB_00065cdc;\n        }\n        iVar4 = 0;\n        piVar5 = *(int **)(iVar8 + 4);\n        do {\n          piVar5 = (int *)*piVar5;\n          iVar4 = iVar4 + 1;\n        } while (*(int **)(iVar8 + 4) != piVar5);\n        unaff_s3 = unaff_s3 + -iVar4;\n        iVar7 = iVar7 + 1;\n        if ((int)unaff_s3 <= in_t2) break;\n        piVar9 = piVar9 + 1;\n        *(uint *)(iVar8 + 0x10) = *(uint *)(iVar8 + 0x10) | 2;\n      }" { (while_statement "while (((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))))) {\n          iVar7 = iVar7 + 1;\n          piVar9 = piVar9 + 1;\n          if (iVar7 == iVar6) goto LAB_00065cdc;\n        }" while (parenthesized_expression "(((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4))))))" ( (parenthesized_expression "((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))))" ( (binary_expression "(iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4))))" (parenthesized_expression "(iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10))" ( (comma_expression "iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)" (assignment_expression "iVar8 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) , (binary_expression "iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)" (binary_expression "iVar8 == 0" identifier == number_literal) || (parenthesized_expression "(*(int *)(iVar8 + 0xc) != iVar10)" ( (binary_expression "*(int *)(iVar8 + 0xc) != iVar10" (pointer_expression "*(int *)(iVar8 + 0xc)" * (cast_expression "(int *)(iVar8 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0xc)" ( (binary_expression "iVar8 + 0xc" identifier + number_literal) )))) != identifier) )))) )) || (parenthesized_expression "((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4))))" ( (parenthesized_expression "(iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))" ( (binary_expression "iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4))" (binary_expression "iVar11 == 0" identifier == number_literal) && (parenthesized_expression "(iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4))" ( (comma_expression "iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)" (assignment_expression "iVar4 = FUN_00065a6c(iVar7)" identifier = (call_expression "FUN_00065a6c(iVar7)" identifier (argument_list "(iVar7)" ( identifier )))) , (binary_expression "*piVar3 == *(int *)(iVar4 + 4)" (pointer_expression "*piVar3" * identifier) == (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))))) ))) )) ))) )) )) (compound_statement "{\n          iVar7 = iVar7 + 1;\n          piVar9 = piVar9 + 1;\n          if (iVar7 == iVar6) goto LAB_00065cdc;\n        }" { (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "piVar9 = piVar9 + 1;" (assignment_expression "piVar9 = piVar9 + 1" identifier = (binary_expression "piVar9 + 1" identifier + number_literal)) ;) (if_statement "if (iVar7 == iVar6) goto LAB_00065cdc;" if (parenthesized_expression "(iVar7 == iVar6)" ( (binary_expression "iVar7 == iVar6" identifier == identifier) )) (goto_statement "goto LAB_00065cdc;" goto statement_identifier ;)) })) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "piVar5 = *(int **)(iVar8 + 4);" (assignment_expression "piVar5 = *(int **)(iVar8 + 4)" identifier = (pointer_expression "*(int **)(iVar8 + 4)" * (cast_expression "(int **)(iVar8 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 4)" ( (binary_expression "iVar8 + 4" identifier + number_literal) ))))) ;) (do_statement "do {\n          piVar5 = (int *)*piVar5;\n          iVar4 = iVar4 + 1;\n        } while (*(int **)(iVar8 + 4) != piVar5);" do (compound_statement "{\n          piVar5 = (int *)*piVar5;\n          iVar4 = iVar4 + 1;\n        }" { (expression_statement "piVar5 = (int *)*piVar5;" (assignment_expression "piVar5 = (int *)*piVar5" identifier = (cast_expression "(int *)*piVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar5" * identifier))) ;) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(int **)(iVar8 + 4) != piVar5)" ( (binary_expression "*(int **)(iVar8 + 4) != piVar5" (pointer_expression "*(int **)(iVar8 + 4)" * (cast_expression "(int **)(iVar8 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 4)" ( (binary_expression "iVar8 + 4" identifier + number_literal) )))) != identifier) )) ;) (expression_statement "unaff_s3 = unaff_s3 + -iVar4;" (assignment_expression "unaff_s3 = unaff_s3 + -iVar4" identifier = (binary_expression "unaff_s3 + -iVar4" identifier + (unary_expression "-iVar4" - identifier))) ;) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (if_statement "if ((int)unaff_s3 <= in_t2) break;" if (parenthesized_expression "((int)unaff_s3 <= in_t2)" ( (binary_expression "(int)unaff_s3 <= in_t2" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (break_statement "break;" break ;)) (expression_statement "piVar9 = piVar9 + 1;" (assignment_expression "piVar9 = piVar9 + 1" identifier = (binary_expression "piVar9 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(iVar8 + 0x10) = *(uint *)(iVar8 + 0x10) | 2;" (assignment_expression "*(uint *)(iVar8 + 0x10) = *(uint *)(iVar8 + 0x10) | 2" (pointer_expression "*(uint *)(iVar8 + 0x10)" * (cast_expression "(uint *)(iVar8 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x10)" ( (binary_expression "iVar8 + 0x10" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar8 + 0x10) | 2" (pointer_expression "*(uint *)(iVar8 + 0x10)" * (cast_expression "(uint *)(iVar8 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x10)" ( (binary_expression "iVar8 + 0x10" identifier + number_literal) )))) | number_literal)) ;) }) while (parenthesized_expression "(iVar7 != iVar6)" ( (binary_expression "iVar7 != iVar6" identifier != identifier) )) ;) })) (labeled_statement "LAB_00065cdc:\n    (*(code *)PTR_sigprocmask_00146514)(3,unaff_s1,0);" statement_identifier : (expression_statement "(*(code *)PTR_sigprocmask_00146514)(3,unaff_s1,0);" (call_expression "(*(code *)PTR_sigprocmask_00146514)(3,unaff_s1,0)" (parenthesized_expression "(*(code *)PTR_sigprocmask_00146514)" ( (pointer_expression "*(code *)PTR_sigprocmask_00146514" * (cast_expression "(code *)PTR_sigprocmask_00146514" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3,unaff_s1,0)" ( number_literal , identifier , number_literal ))) ;)) (labeled_statement "LAB_00065b24:\n    if (local_1c == *(int *)puVar2) {\n      return;\n    }" statement_identifier : (if_statement "if (local_1c == *(int *)puVar2) {\n      return;\n    }" if (parenthesized_expression "(local_1c == *(int *)puVar2)" ( (binary_expression "local_1c == *(int *)puVar2" identifier == (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) }))) (expression_statement "iVar6 = (*(code *)PTR___stack_chk_fail_00146488)();" (assignment_expression "iVar6 = (*(code *)PTR___stack_chk_fail_00146488)()" identifier = (call_expression "(*(code *)PTR___stack_chk_fail_00146488)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00146488)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00146488" * (cast_expression "(code *)PTR___stack_chk_fail_00146488" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (labeled_statement "LAB_00065dc4:\n    *(int *)puVar1 = iVar6;" statement_identifier : (expression_statement "*(int *)puVar1 = iVar6;" (assignment_expression "*(int *)puVar1 = iVar6" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;)) }) while (parenthesized_expression "( true )" ( true )) ;)) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (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 ( 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 ( IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression (pointer_expression * IDENT) != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) }) while (parenthesized_expression ( BOOL )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * IDENT)) , (binary_expression (binary_expression IDENT == LIT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT)) )))) )) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = LIT) ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression LIT < IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * IDENT)) , (binary_expression (binary_expression IDENT == LIT) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) )))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression (pointer_expression * IDENT) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ))) )) ))) )) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (unary_expression - IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , 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 ;) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;)) }) while (parenthesized_expression ( BOOL )) ;)) })))
(function_definition "void FUN_00065adc(int param_1)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  int *piVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int *piVar9;\n  int iVar10;\n  int in_t2;\n  int iVar11;\n  undefined1 *unaff_s1;\n  undefined1 *unaff_s3;\n  undefined1 auStack_11c [128];\n  undefined1 auStack_9c [128];\n  int local_1c;\n  \n  puVar2 = PTR___stack_chk_guard_001464dc;\n  puVar1 = PTR_js_00144e58;\n  local_1c = *(int *)PTR___stack_chk_guard_001464dc;\n  if (*(int *)(PTR_js_00144e58 + 0x18) == 0) goto LAB_00065b24;\n  unaff_s3 = auStack_11c;\n  (*(code *)PTR_sigemptyset_001462d4)(unaff_s3);\n  unaff_s1 = auStack_9c;\n  (*(code *)PTR_sigaddset_00146364)(unaff_s3,0x12);\n  (*(code *)PTR_sigemptyset_001462d4)(unaff_s1);\n  (*(code *)PTR_sigprocmask_00146514)(1,unaff_s3,unaff_s1);\n  if (param_1 != 0) {\n    iVar6 = *(int *)(puVar1 + 0x18);\n    if (iVar6 < 1) goto LAB_00065cdc;\n    iVar7 = 0;\n    iVar10 = 4;\n    in_t2 = *(int *)PTR_interactive_shell_00144598;\n    piVar9 = *(int **)PTR_jobs_00144e5c;\n    piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n    do {\n      iVar11 = *piVar9;\n      if (((iVar11 != 0) && (*(int *)(iVar11 + 0xc) == iVar10)) &&\n         ((in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4))))) {\n        *(uint *)(iVar11 + 0x10) = *(uint *)(iVar11 + 0x10) | 2;\n      }\n      iVar7 = iVar7 + 1;\n      piVar9 = piVar9 + 1;\n      if (iVar7 == iVar6) goto LAB_00065cdc;\n    } while( true );\n  }\n  if (*(int *)(puVar1 + 0x18) < 1) {\n    if (-1 < *(int *)puVar1) goto LAB_00065cdc;\n    unaff_s3 = (undefined1 *)0x0;\n  }\n  else {\n    unaff_s3 = (undefined1 *)0x0;\n    piVar3 = *(int **)PTR_jobs_00144e5c;\n    piVar9 = piVar3 + *(int *)(puVar1 + 0x18);\n    do {\n      while ((iVar6 = *piVar3, iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4))) {\n        piVar3 = piVar3 + 1;\n        if (piVar3 == piVar9) goto LAB_00065c10;\n      }\n      piVar5 = *(int **)(iVar6 + 4);\n      do {\n        piVar5 = (int *)*piVar5;\n        iVar7 = iVar7 + 1;\n      } while (*(int **)(iVar6 + 4) != piVar5);\n      piVar3 = piVar3 + 1;\n      unaff_s3 = unaff_s3 + iVar7;\n    } while (piVar3 != piVar9);\nLAB_00065c10:\n    in_t2 = *(int *)puVar1;\n    if (-1 < in_t2) goto LAB_00065c1c;\n  }\n  iVar6 = (*(code *)PTR_getmaxchild_00145174)();\n  in_t2 = iVar6;\n  if (-1 < iVar6) goto LAB_00065dc4;\n  in_t2 = 0x20;\n  *(undefined4 *)puVar1 = 0x20;\nLAB_00065c1c:\n  do {\n    if ((in_t2 < (int)unaff_s3) && (iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6)) {\n      iVar7 = 0;\n      iVar10 = 4;\n      iVar11 = *(int *)PTR_interactive_shell_00144598;\n      piVar9 = *(int **)PTR_jobs_00144e5c;\n      piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n      do {\n        while (((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))))) {\n          iVar7 = iVar7 + 1;\n          piVar9 = piVar9 + 1;\n          if (iVar7 == iVar6) goto LAB_00065cdc;\n        }\n        iVar4 = 0;\n        piVar5 = *(int **)(iVar8 + 4);\n        do {\n          piVar5 = (int *)*piVar5;\n          iVar4 = iVar4 + 1;\n        } while (*(int **)(iVar8 + 4) != piVar5);\n        unaff_s3 = unaff_s3 + -iVar4;\n        iVar7 = iVar7 + 1;\n        if ((int)unaff_s3 <= in_t2) break;\n        piVar9 = piVar9 + 1;\n        *(uint *)(iVar8 + 0x10) = *(uint *)(iVar8 + 0x10) | 2;\n      } while (iVar7 != iVar6);\n    }\nLAB_00065cdc:\n    (*(code *)PTR_sigprocmask_00146514)(3,unaff_s1,0);\nLAB_00065b24:\n    if (local_1c == *(int *)puVar2) {\n      return;\n    }\n    iVar6 = (*(code *)PTR___stack_chk_fail_00146488)();\nLAB_00065dc4:\n    *(int *)puVar1 = iVar6;\n  } while( true );\n}" (primitive_type "void") (function_declarator "FUN_00065adc(int param_1)" (identifier "FUN_00065adc") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")"))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  int *piVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int *piVar9;\n  int iVar10;\n  int in_t2;\n  int iVar11;\n  undefined1 *unaff_s1;\n  undefined1 *unaff_s3;\n  undefined1 auStack_11c [128];\n  undefined1 auStack_9c [128];\n  int local_1c;\n  \n  puVar2 = PTR___stack_chk_guard_001464dc;\n  puVar1 = PTR_js_00144e58;\n  local_1c = *(int *)PTR___stack_chk_guard_001464dc;\n  if (*(int *)(PTR_js_00144e58 + 0x18) == 0) goto LAB_00065b24;\n  unaff_s3 = auStack_11c;\n  (*(code *)PTR_sigemptyset_001462d4)(unaff_s3);\n  unaff_s1 = auStack_9c;\n  (*(code *)PTR_sigaddset_00146364)(unaff_s3,0x12);\n  (*(code *)PTR_sigemptyset_001462d4)(unaff_s1);\n  (*(code *)PTR_sigprocmask_00146514)(1,unaff_s3,unaff_s1);\n  if (param_1 != 0) {\n    iVar6 = *(int *)(puVar1 + 0x18);\n    if (iVar6 < 1) goto LAB_00065cdc;\n    iVar7 = 0;\n    iVar10 = 4;\n    in_t2 = *(int *)PTR_interactive_shell_00144598;\n    piVar9 = *(int **)PTR_jobs_00144e5c;\n    piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n    do {\n      iVar11 = *piVar9;\n      if (((iVar11 != 0) && (*(int *)(iVar11 + 0xc) == iVar10)) &&\n         ((in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4))))) {\n        *(uint *)(iVar11 + 0x10) = *(uint *)(iVar11 + 0x10) | 2;\n      }\n      iVar7 = iVar7 + 1;\n      piVar9 = piVar9 + 1;\n      if (iVar7 == iVar6) goto LAB_00065cdc;\n    } while( true );\n  }\n  if (*(int *)(puVar1 + 0x18) < 1) {\n    if (-1 < *(int *)puVar1) goto LAB_00065cdc;\n    unaff_s3 = (undefined1 *)0x0;\n  }\n  else {\n    unaff_s3 = (undefined1 *)0x0;\n    piVar3 = *(int **)PTR_jobs_00144e5c;\n    piVar9 = piVar3 + *(int *)(puVar1 + 0x18);\n    do {\n      while ((iVar6 = *piVar3, iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4))) {\n        piVar3 = piVar3 + 1;\n        if (piVar3 == piVar9) goto LAB_00065c10;\n      }\n      piVar5 = *(int **)(iVar6 + 4);\n      do {\n        piVar5 = (int *)*piVar5;\n        iVar7 = iVar7 + 1;\n      } while (*(int **)(iVar6 + 4) != piVar5);\n      piVar3 = piVar3 + 1;\n      unaff_s3 = unaff_s3 + iVar7;\n    } while (piVar3 != piVar9);\nLAB_00065c10:\n    in_t2 = *(int *)puVar1;\n    if (-1 < in_t2) goto LAB_00065c1c;\n  }\n  iVar6 = (*(code *)PTR_getmaxchild_00145174)();\n  in_t2 = iVar6;\n  if (-1 < iVar6) goto LAB_00065dc4;\n  in_t2 = 0x20;\n  *(undefined4 *)puVar1 = 0x20;\nLAB_00065c1c:\n  do {\n    if ((in_t2 < (int)unaff_s3) && (iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6)) {\n      iVar7 = 0;\n      iVar10 = 4;\n      iVar11 = *(int *)PTR_interactive_shell_00144598;\n      piVar9 = *(int **)PTR_jobs_00144e5c;\n      piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n      do {\n        while (((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))))) {\n          iVar7 = iVar7 + 1;\n          piVar9 = piVar9 + 1;\n          if (iVar7 == iVar6) goto LAB_00065cdc;\n        }\n        iVar4 = 0;\n        piVar5 = *(int **)(iVar8 + 4);\n        do {\n          piVar5 = (int *)*piVar5;\n          iVar4 = iVar4 + 1;\n        } while (*(int **)(iVar8 + 4) != piVar5);\n        unaff_s3 = unaff_s3 + -iVar4;\n        iVar7 = iVar7 + 1;\n        if ((int)unaff_s3 <= in_t2) break;\n        piVar9 = piVar9 + 1;\n        *(uint *)(iVar8 + 0x10) = *(uint *)(iVar8 + 0x10) | 2;\n      } while (iVar7 != iVar6);\n    }\nLAB_00065cdc:\n    (*(code *)PTR_sigprocmask_00146514)(3,unaff_s1,0);\nLAB_00065b24:\n    if (local_1c == *(int *)puVar2) {\n      return;\n    }\n    iVar6 = (*(code *)PTR___stack_chk_fail_00146488)();\nLAB_00065dc4:\n    *(int *)puVar1 = iVar6;\n  } while( true );\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "int *piVar3;" (primitive_type "int") (pointer_declarator "*piVar3" (* "*") (identifier "piVar3")) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "int *piVar9;" (primitive_type "int") (pointer_declarator "*piVar9" (* "*") (identifier "piVar9")) (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "int in_t2;" (primitive_type "int") (identifier "in_t2") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "undefined1 *unaff_s1;" (type_identifier "undefined1") (pointer_declarator "*unaff_s1" (* "*") (identifier "unaff_s1")) (; ";")) (declaration "undefined1 *unaff_s3;" (type_identifier "undefined1") (pointer_declarator "*unaff_s3" (* "*") (identifier "unaff_s3")) (; ";")) (declaration "undefined1 auStack_11c [128];" (type_identifier "undefined1") (array_declarator "auStack_11c [128]" (identifier "auStack_11c") ([ "[") (number_literal "128") (] "]")) (; ";")) (declaration "undefined1 auStack_9c [128];" (type_identifier "undefined1") (array_declarator "auStack_9c [128]" (identifier "auStack_9c") ([ "[") (number_literal "128") (] "]")) (; ";")) (declaration "int local_1c;" (primitive_type "int") (identifier "local_1c") (; ";")) (expression_statement "puVar2 = PTR___stack_chk_guard_001464dc;" (assignment_expression "puVar2 = PTR___stack_chk_guard_001464dc" (identifier "puVar2") (= "=") (identifier "PTR___stack_chk_guard_001464dc")) (; ";")) (expression_statement "puVar1 = PTR_js_00144e58;" (assignment_expression "puVar1 = PTR_js_00144e58" (identifier "puVar1") (= "=") (identifier "PTR_js_00144e58")) (; ";")) (expression_statement "local_1c = *(int *)PTR___stack_chk_guard_001464dc;" (assignment_expression "local_1c = *(int *)PTR___stack_chk_guard_001464dc" (identifier "local_1c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_001464dc" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_001464dc" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_001464dc")))) (; ";")) (if_statement "if (*(int *)(PTR_js_00144e58 + 0x18) == 0) goto LAB_00065b24;" (if "if") (parenthesized_expression "(*(int *)(PTR_js_00144e58 + 0x18) == 0)" (( "(") (binary_expression "*(int *)(PTR_js_00144e58 + 0x18) == 0" (pointer_expression "*(int *)(PTR_js_00144e58 + 0x18)" (* "*") (cast_expression "(int *)(PTR_js_00144e58 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_js_00144e58 + 0x18)" (( "(") (binary_expression "PTR_js_00144e58 + 0x18" (identifier "PTR_js_00144e58") (+ "+") (number_literal "0x18")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00065b24;" (goto "goto") (statement_identifier "LAB_00065b24") (; ";"))) (expression_statement "unaff_s3 = auStack_11c;" (assignment_expression "unaff_s3 = auStack_11c" (identifier "unaff_s3") (= "=") (identifier "auStack_11c")) (; ";")) (expression_statement "(*(code *)PTR_sigemptyset_001462d4)(unaff_s3);" (call_expression "(*(code *)PTR_sigemptyset_001462d4)(unaff_s3)" (parenthesized_expression "(*(code *)PTR_sigemptyset_001462d4)" (( "(") (pointer_expression "*(code *)PTR_sigemptyset_001462d4" (* "*") (cast_expression "(code *)PTR_sigemptyset_001462d4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sigemptyset_001462d4"))) () ")")) (argument_list "(unaff_s3)" (( "(") (identifier "unaff_s3") () ")"))) (; ";")) (expression_statement "unaff_s1 = auStack_9c;" (assignment_expression "unaff_s1 = auStack_9c" (identifier "unaff_s1") (= "=") (identifier "auStack_9c")) (; ";")) (expression_statement "(*(code *)PTR_sigaddset_00146364)(unaff_s3,0x12);" (call_expression "(*(code *)PTR_sigaddset_00146364)(unaff_s3,0x12)" (parenthesized_expression "(*(code *)PTR_sigaddset_00146364)" (( "(") (pointer_expression "*(code *)PTR_sigaddset_00146364" (* "*") (cast_expression "(code *)PTR_sigaddset_00146364" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sigaddset_00146364"))) () ")")) (argument_list "(unaff_s3,0x12)" (( "(") (identifier "unaff_s3") (, ",") (number_literal "0x12") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_sigemptyset_001462d4)(unaff_s1);" (call_expression "(*(code *)PTR_sigemptyset_001462d4)(unaff_s1)" (parenthesized_expression "(*(code *)PTR_sigemptyset_001462d4)" (( "(") (pointer_expression "*(code *)PTR_sigemptyset_001462d4" (* "*") (cast_expression "(code *)PTR_sigemptyset_001462d4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sigemptyset_001462d4"))) () ")")) (argument_list "(unaff_s1)" (( "(") (identifier "unaff_s1") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_sigprocmask_00146514)(1,unaff_s3,unaff_s1);" (call_expression "(*(code *)PTR_sigprocmask_00146514)(1,unaff_s3,unaff_s1)" (parenthesized_expression "(*(code *)PTR_sigprocmask_00146514)" (( "(") (pointer_expression "*(code *)PTR_sigprocmask_00146514" (* "*") (cast_expression "(code *)PTR_sigprocmask_00146514" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sigprocmask_00146514"))) () ")")) (argument_list "(1,unaff_s3,unaff_s1)" (( "(") (number_literal "1") (, ",") (identifier "unaff_s3") (, ",") (identifier "unaff_s1") () ")"))) (; ";")) (if_statement "if (param_1 != 0) {\n    iVar6 = *(int *)(puVar1 + 0x18);\n    if (iVar6 < 1) goto LAB_00065cdc;\n    iVar7 = 0;\n    iVar10 = 4;\n    in_t2 = *(int *)PTR_interactive_shell_00144598;\n    piVar9 = *(int **)PTR_jobs_00144e5c;\n    piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n    do {\n      iVar11 = *piVar9;\n      if (((iVar11 != 0) && (*(int *)(iVar11 + 0xc) == iVar10)) &&\n         ((in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4))))) {\n        *(uint *)(iVar11 + 0x10) = *(uint *)(iVar11 + 0x10) | 2;\n      }\n      iVar7 = iVar7 + 1;\n      piVar9 = piVar9 + 1;\n      if (iVar7 == iVar6) goto LAB_00065cdc;\n    } while( true );\n  }" (if "if") (parenthesized_expression "(param_1 != 0)" (( "(") (binary_expression "param_1 != 0" (identifier "param_1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar6 = *(int *)(puVar1 + 0x18);\n    if (iVar6 < 1) goto LAB_00065cdc;\n    iVar7 = 0;\n    iVar10 = 4;\n    in_t2 = *(int *)PTR_interactive_shell_00144598;\n    piVar9 = *(int **)PTR_jobs_00144e5c;\n    piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n    do {\n      iVar11 = *piVar9;\n      if (((iVar11 != 0) && (*(int *)(iVar11 + 0xc) == iVar10)) &&\n         ((in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4))))) {\n        *(uint *)(iVar11 + 0x10) = *(uint *)(iVar11 + 0x10) | 2;\n      }\n      iVar7 = iVar7 + 1;\n      piVar9 = piVar9 + 1;\n      if (iVar7 == iVar6) goto LAB_00065cdc;\n    } while( true );\n  }" ({ "{") (expression_statement "iVar6 = *(int *)(puVar1 + 0x18);" (assignment_expression "iVar6 = *(int *)(puVar1 + 0x18)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(puVar1 + 0x18)" (* "*") (cast_expression "(int *)(puVar1 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + 0x18)" (( "(") (binary_expression "puVar1 + 0x18" (identifier "puVar1") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if (iVar6 < 1) goto LAB_00065cdc;" (if "if") (parenthesized_expression "(iVar6 < 1)" (( "(") (binary_expression "iVar6 < 1" (identifier "iVar6") (< "<") (number_literal "1")) () ")")) (goto_statement "goto LAB_00065cdc;" (goto "goto") (statement_identifier "LAB_00065cdc") (; ";"))) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar10 = 4;" (assignment_expression "iVar10 = 4" (identifier "iVar10") (= "=") (number_literal "4")) (; ";")) (expression_statement "in_t2 = *(int *)PTR_interactive_shell_00144598;" (assignment_expression "in_t2 = *(int *)PTR_interactive_shell_00144598" (identifier "in_t2") (= "=") (pointer_expression "*(int *)PTR_interactive_shell_00144598" (* "*") (cast_expression "(int *)PTR_interactive_shell_00144598" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_interactive_shell_00144598")))) (; ";")) (expression_statement "piVar9 = *(int **)PTR_jobs_00144e5c;" (assignment_expression "piVar9 = *(int **)PTR_jobs_00144e5c" (identifier "piVar9") (= "=") (pointer_expression "*(int **)PTR_jobs_00144e5c" (* "*") (cast_expression "(int **)PTR_jobs_00144e5c" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_jobs_00144e5c")))) (; ";")) (expression_statement "piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;" (assignment_expression "piVar3 = (int *)PTR_last_asynchronous_pid_00144d30" (identifier "piVar3") (= "=") (cast_expression "(int *)PTR_last_asynchronous_pid_00144d30" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_last_asynchronous_pid_00144d30"))) (; ";")) (do_statement "do {\n      iVar11 = *piVar9;\n      if (((iVar11 != 0) && (*(int *)(iVar11 + 0xc) == iVar10)) &&\n         ((in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4))))) {\n        *(uint *)(iVar11 + 0x10) = *(uint *)(iVar11 + 0x10) | 2;\n      }\n      iVar7 = iVar7 + 1;\n      piVar9 = piVar9 + 1;\n      if (iVar7 == iVar6) goto LAB_00065cdc;\n    } while( true );" (do "do") (compound_statement "{\n      iVar11 = *piVar9;\n      if (((iVar11 != 0) && (*(int *)(iVar11 + 0xc) == iVar10)) &&\n         ((in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4))))) {\n        *(uint *)(iVar11 + 0x10) = *(uint *)(iVar11 + 0x10) | 2;\n      }\n      iVar7 = iVar7 + 1;\n      piVar9 = piVar9 + 1;\n      if (iVar7 == iVar6) goto LAB_00065cdc;\n    }" ({ "{") (expression_statement "iVar11 = *piVar9;" (assignment_expression "iVar11 = *piVar9" (identifier "iVar11") (= "=") (pointer_expression "*piVar9" (* "*") (identifier "piVar9"))) (; ";")) (if_statement "if (((iVar11 != 0) && (*(int *)(iVar11 + 0xc) == iVar10)) &&\n         ((in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4))))) {\n        *(uint *)(iVar11 + 0x10) = *(uint *)(iVar11 + 0x10) | 2;\n      }" (if "if") (parenthesized_expression "(((iVar11 != 0) && (*(int *)(iVar11 + 0xc) == iVar10)) &&\n         ((in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4)))))" (( "(") (binary_expression "((iVar11 != 0) && (*(int *)(iVar11 + 0xc) == iVar10)) &&\n         ((in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4))))" (parenthesized_expression "((iVar11 != 0) && (*(int *)(iVar11 + 0xc) == iVar10))" (( "(") (binary_expression "(iVar11 != 0) && (*(int *)(iVar11 + 0xc) == iVar10)" (parenthesized_expression "(iVar11 != 0)" (( "(") (binary_expression "iVar11 != 0" (identifier "iVar11") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(iVar11 + 0xc) == iVar10)" (( "(") (binary_expression "*(int *)(iVar11 + 0xc) == iVar10" (pointer_expression "*(int *)(iVar11 + 0xc)" (* "*") (cast_expression "(int *)(iVar11 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0xc)" (( "(") (binary_expression "iVar11 + 0xc" (identifier "iVar11") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (identifier "iVar10")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4))))" (( "(") (parenthesized_expression "(in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4)))" (( "(") (binary_expression "in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4))" (binary_expression "in_t2 != 0" (identifier "in_t2") (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "(iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4))" (( "(") (comma_expression "iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4)" (assignment_expression "iVar8 = FUN_00065a6c(iVar7)" (identifier "iVar8") (= "=") (call_expression "FUN_00065a6c(iVar7)" (identifier "FUN_00065a6c") (argument_list "(iVar7)" (( "(") (identifier "iVar7") () ")")))) (, ",") (binary_expression "*piVar3 != *(int *)(iVar8 + 4)" (pointer_expression "*piVar3" (* "*") (identifier "piVar3")) (!= "!=") (pointer_expression "*(int *)(iVar8 + 4)" (* "*") (cast_expression "(int *)(iVar8 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 4)" (( "(") (binary_expression "iVar8 + 4" (identifier "iVar8") (+ "+") (number_literal "4")) () ")")))))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n        *(uint *)(iVar11 + 0x10) = *(uint *)(iVar11 + 0x10) | 2;\n      }" ({ "{") (expression_statement "*(uint *)(iVar11 + 0x10) = *(uint *)(iVar11 + 0x10) | 2;" (assignment_expression "*(uint *)(iVar11 + 0x10) = *(uint *)(iVar11 + 0x10) | 2" (pointer_expression "*(uint *)(iVar11 + 0x10)" (* "*") (cast_expression "(uint *)(iVar11 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x10)" (( "(") (binary_expression "iVar11 + 0x10" (identifier "iVar11") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "*(uint *)(iVar11 + 0x10) | 2" (pointer_expression "*(uint *)(iVar11 + 0x10)" (* "*") (cast_expression "(uint *)(iVar11 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x10)" (( "(") (binary_expression "iVar11 + 0x10" (identifier "iVar11") (+ "+") (number_literal "0x10")) () ")")))) (| "|") (number_literal "2"))) (; ";")) (} "}"))) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + 1" (identifier "iVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar9 = piVar9 + 1;" (assignment_expression "piVar9 = piVar9 + 1" (identifier "piVar9") (= "=") (binary_expression "piVar9 + 1" (identifier "piVar9") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar7 == iVar6) goto LAB_00065cdc;" (if "if") (parenthesized_expression "(iVar7 == iVar6)" (( "(") (binary_expression "iVar7 == iVar6" (identifier "iVar7") (== "==") (identifier "iVar6")) () ")")) (goto_statement "goto LAB_00065cdc;" (goto "goto") (statement_identifier "LAB_00065cdc") (; ";"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (if_statement "if (*(int *)(puVar1 + 0x18) < 1) {\n    if (-1 < *(int *)puVar1) goto LAB_00065cdc;\n    unaff_s3 = (undefined1 *)0x0;\n  }\n  else {\n    unaff_s3 = (undefined1 *)0x0;\n    piVar3 = *(int **)PTR_jobs_00144e5c;\n    piVar9 = piVar3 + *(int *)(puVar1 + 0x18);\n    do {\n      while ((iVar6 = *piVar3, iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4))) {\n        piVar3 = piVar3 + 1;\n        if (piVar3 == piVar9) goto LAB_00065c10;\n      }\n      piVar5 = *(int **)(iVar6 + 4);\n      do {\n        piVar5 = (int *)*piVar5;\n        iVar7 = iVar7 + 1;\n      } while (*(int **)(iVar6 + 4) != piVar5);\n      piVar3 = piVar3 + 1;\n      unaff_s3 = unaff_s3 + iVar7;\n    } while (piVar3 != piVar9);\nLAB_00065c10:\n    in_t2 = *(int *)puVar1;\n    if (-1 < in_t2) goto LAB_00065c1c;\n  }" (if "if") (parenthesized_expression "(*(int *)(puVar1 + 0x18) < 1)" (( "(") (binary_expression "*(int *)(puVar1 + 0x18) < 1" (pointer_expression "*(int *)(puVar1 + 0x18)" (* "*") (cast_expression "(int *)(puVar1 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + 0x18)" (( "(") (binary_expression "puVar1 + 0x18" (identifier "puVar1") (+ "+") (number_literal "0x18")) () ")")))) (< "<") (number_literal "1")) () ")")) (compound_statement "{\n    if (-1 < *(int *)puVar1) goto LAB_00065cdc;\n    unaff_s3 = (undefined1 *)0x0;\n  }" ({ "{") (if_statement "if (-1 < *(int *)puVar1) goto LAB_00065cdc;" (if "if") (parenthesized_expression "(-1 < *(int *)puVar1)" (( "(") (binary_expression "-1 < *(int *)puVar1" (number_literal "-1") (< "<") (pointer_expression "*(int *)puVar1" (* "*") (cast_expression "(int *)puVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1")))) () ")")) (goto_statement "goto LAB_00065cdc;" (goto "goto") (statement_identifier "LAB_00065cdc") (; ";"))) (expression_statement "unaff_s3 = (undefined1 *)0x0;" (assignment_expression "unaff_s3 = (undefined1 *)0x0" (identifier "unaff_s3") (= "=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n    unaff_s3 = (undefined1 *)0x0;\n    piVar3 = *(int **)PTR_jobs_00144e5c;\n    piVar9 = piVar3 + *(int *)(puVar1 + 0x18);\n    do {\n      while ((iVar6 = *piVar3, iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4))) {\n        piVar3 = piVar3 + 1;\n        if (piVar3 == piVar9) goto LAB_00065c10;\n      }\n      piVar5 = *(int **)(iVar6 + 4);\n      do {\n        piVar5 = (int *)*piVar5;\n        iVar7 = iVar7 + 1;\n      } while (*(int **)(iVar6 + 4) != piVar5);\n      piVar3 = piVar3 + 1;\n      unaff_s3 = unaff_s3 + iVar7;\n    } while (piVar3 != piVar9);\nLAB_00065c10:\n    in_t2 = *(int *)puVar1;\n    if (-1 < in_t2) goto LAB_00065c1c;\n  }" (else "else") (compound_statement "{\n    unaff_s3 = (undefined1 *)0x0;\n    piVar3 = *(int **)PTR_jobs_00144e5c;\n    piVar9 = piVar3 + *(int *)(puVar1 + 0x18);\n    do {\n      while ((iVar6 = *piVar3, iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4))) {\n        piVar3 = piVar3 + 1;\n        if (piVar3 == piVar9) goto LAB_00065c10;\n      }\n      piVar5 = *(int **)(iVar6 + 4);\n      do {\n        piVar5 = (int *)*piVar5;\n        iVar7 = iVar7 + 1;\n      } while (*(int **)(iVar6 + 4) != piVar5);\n      piVar3 = piVar3 + 1;\n      unaff_s3 = unaff_s3 + iVar7;\n    } while (piVar3 != piVar9);\nLAB_00065c10:\n    in_t2 = *(int *)puVar1;\n    if (-1 < in_t2) goto LAB_00065c1c;\n  }" ({ "{") (expression_statement "unaff_s3 = (undefined1 *)0x0;" (assignment_expression "unaff_s3 = (undefined1 *)0x0" (identifier "unaff_s3") (= "=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "piVar3 = *(int **)PTR_jobs_00144e5c;" (assignment_expression "piVar3 = *(int **)PTR_jobs_00144e5c" (identifier "piVar3") (= "=") (pointer_expression "*(int **)PTR_jobs_00144e5c" (* "*") (cast_expression "(int **)PTR_jobs_00144e5c" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_jobs_00144e5c")))) (; ";")) (expression_statement "piVar9 = piVar3 + *(int *)(puVar1 + 0x18);" (assignment_expression "piVar9 = piVar3 + *(int *)(puVar1 + 0x18)" (identifier "piVar9") (= "=") (binary_expression "piVar3 + *(int *)(puVar1 + 0x18)" (identifier "piVar3") (+ "+") (pointer_expression "*(int *)(puVar1 + 0x18)" (* "*") (cast_expression "(int *)(puVar1 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + 0x18)" (( "(") (binary_expression "puVar1 + 0x18" (identifier "puVar1") (+ "+") (number_literal "0x18")) () ")")))))) (; ";")) (do_statement "do {\n      while ((iVar6 = *piVar3, iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4))) {\n        piVar3 = piVar3 + 1;\n        if (piVar3 == piVar9) goto LAB_00065c10;\n      }\n      piVar5 = *(int **)(iVar6 + 4);\n      do {\n        piVar5 = (int *)*piVar5;\n        iVar7 = iVar7 + 1;\n      } while (*(int **)(iVar6 + 4) != piVar5);\n      piVar3 = piVar3 + 1;\n      unaff_s3 = unaff_s3 + iVar7;\n    } while (piVar3 != piVar9);" (do "do") (compound_statement "{\n      while ((iVar6 = *piVar3, iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4))) {\n        piVar3 = piVar3 + 1;\n        if (piVar3 == piVar9) goto LAB_00065c10;\n      }\n      piVar5 = *(int **)(iVar6 + 4);\n      do {\n        piVar5 = (int *)*piVar5;\n        iVar7 = iVar7 + 1;\n      } while (*(int **)(iVar6 + 4) != piVar5);\n      piVar3 = piVar3 + 1;\n      unaff_s3 = unaff_s3 + iVar7;\n    }" ({ "{") (while_statement "while ((iVar6 = *piVar3, iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4))) {\n        piVar3 = piVar3 + 1;\n        if (piVar3 == piVar9) goto LAB_00065c10;\n      }" (while "while") (parenthesized_expression "((iVar6 = *piVar3, iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4)))" (( "(") (parenthesized_expression "(iVar6 = *piVar3, iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4))" (( "(") (comma_expression "iVar6 = *piVar3, iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4)" (assignment_expression "iVar6 = *piVar3" (identifier "iVar6") (= "=") (pointer_expression "*piVar3" (* "*") (identifier "piVar3"))) (, ",") (binary_expression "iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4)" (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) (|| "||") (parenthesized_expression "(iVar7 = 0, *(int *)(iVar6 + 0xc) != 4)" (( "(") (comma_expression "iVar7 = 0, *(int *)(iVar6 + 0xc) != 4" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (, ",") (binary_expression "*(int *)(iVar6 + 0xc) != 4" (pointer_expression "*(int *)(iVar6 + 0xc)" (* "*") (cast_expression "(int *)(iVar6 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xc)" (( "(") (binary_expression "iVar6 + 0xc" (identifier "iVar6") (+ "+") (number_literal "0xc")) () ")")))) (!= "!=") (number_literal "4"))) () ")")))) () ")")) () ")")) (compound_statement "{\n        piVar3 = piVar3 + 1;\n        if (piVar3 == piVar9) goto LAB_00065c10;\n      }" ({ "{") (expression_statement "piVar3 = piVar3 + 1;" (assignment_expression "piVar3 = piVar3 + 1" (identifier "piVar3") (= "=") (binary_expression "piVar3 + 1" (identifier "piVar3") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (piVar3 == piVar9) goto LAB_00065c10;" (if "if") (parenthesized_expression "(piVar3 == piVar9)" (( "(") (binary_expression "piVar3 == piVar9" (identifier "piVar3") (== "==") (identifier "piVar9")) () ")")) (goto_statement "goto LAB_00065c10;" (goto "goto") (statement_identifier "LAB_00065c10") (; ";"))) (} "}"))) (expression_statement "piVar5 = *(int **)(iVar6 + 4);" (assignment_expression "piVar5 = *(int **)(iVar6 + 4)" (identifier "piVar5") (= "=") (pointer_expression "*(int **)(iVar6 + 4)" (* "*") (cast_expression "(int **)(iVar6 + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 4)" (( "(") (binary_expression "iVar6 + 4" (identifier "iVar6") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (do_statement "do {\n        piVar5 = (int *)*piVar5;\n        iVar7 = iVar7 + 1;\n      } while (*(int **)(iVar6 + 4) != piVar5);" (do "do") (compound_statement "{\n        piVar5 = (int *)*piVar5;\n        iVar7 = iVar7 + 1;\n      }" ({ "{") (expression_statement "piVar5 = (int *)*piVar5;" (assignment_expression "piVar5 = (int *)*piVar5" (identifier "piVar5") (= "=") (cast_expression "(int *)*piVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar5" (* "*") (identifier "piVar5")))) (; ";")) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + 1" (identifier "iVar7") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(int **)(iVar6 + 4) != piVar5)" (( "(") (binary_expression "*(int **)(iVar6 + 4) != piVar5" (pointer_expression "*(int **)(iVar6 + 4)" (* "*") (cast_expression "(int **)(iVar6 + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 4)" (( "(") (binary_expression "iVar6 + 4" (identifier "iVar6") (+ "+") (number_literal "4")) () ")")))) (!= "!=") (identifier "piVar5")) () ")")) (; ";")) (expression_statement "piVar3 = piVar3 + 1;" (assignment_expression "piVar3 = piVar3 + 1" (identifier "piVar3") (= "=") (binary_expression "piVar3 + 1" (identifier "piVar3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "unaff_s3 = unaff_s3 + iVar7;" (assignment_expression "unaff_s3 = unaff_s3 + iVar7" (identifier "unaff_s3") (= "=") (binary_expression "unaff_s3 + iVar7" (identifier "unaff_s3") (+ "+") (identifier "iVar7"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar3 != piVar9)" (( "(") (binary_expression "piVar3 != piVar9" (identifier "piVar3") (!= "!=") (identifier "piVar9")) () ")")) (; ";")) (labeled_statement "LAB_00065c10:\n    in_t2 = *(int *)puVar1;" (statement_identifier "LAB_00065c10") (: ":") (expression_statement "in_t2 = *(int *)puVar1;" (assignment_expression "in_t2 = *(int *)puVar1" (identifier "in_t2") (= "=") (pointer_expression "*(int *)puVar1" (* "*") (cast_expression "(int *)puVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1")))) (; ";"))) (if_statement "if (-1 < in_t2) goto LAB_00065c1c;" (if "if") (parenthesized_expression "(-1 < in_t2)" (( "(") (binary_expression "-1 < in_t2" (number_literal "-1") (< "<") (identifier "in_t2")) () ")")) (goto_statement "goto LAB_00065c1c;" (goto "goto") (statement_identifier "LAB_00065c1c") (; ";"))) (} "}")))) (expression_statement "iVar6 = (*(code *)PTR_getmaxchild_00145174)();" (assignment_expression "iVar6 = (*(code *)PTR_getmaxchild_00145174)()" (identifier "iVar6") (= "=") (call_expression "(*(code *)PTR_getmaxchild_00145174)()" (parenthesized_expression "(*(code *)PTR_getmaxchild_00145174)" (( "(") (pointer_expression "*(code *)PTR_getmaxchild_00145174" (* "*") (cast_expression "(code *)PTR_getmaxchild_00145174" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_getmaxchild_00145174"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "in_t2 = iVar6;" (assignment_expression "in_t2 = iVar6" (identifier "in_t2") (= "=") (identifier "iVar6")) (; ";")) (if_statement "if (-1 < iVar6) goto LAB_00065dc4;" (if "if") (parenthesized_expression "(-1 < iVar6)" (( "(") (binary_expression "-1 < iVar6" (number_literal "-1") (< "<") (identifier "iVar6")) () ")")) (goto_statement "goto LAB_00065dc4;" (goto "goto") (statement_identifier "LAB_00065dc4") (; ";"))) (expression_statement "in_t2 = 0x20;" (assignment_expression "in_t2 = 0x20" (identifier "in_t2") (= "=") (number_literal "0x20")) (; ";")) (expression_statement "*(undefined4 *)puVar1 = 0x20;" (assignment_expression "*(undefined4 *)puVar1 = 0x20" (pointer_expression "*(undefined4 *)puVar1" (* "*") (cast_expression "(undefined4 *)puVar1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) (= "=") (number_literal "0x20")) (; ";")) (labeled_statement "LAB_00065c1c:\n  do {\n    if ((in_t2 < (int)unaff_s3) && (iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6)) {\n      iVar7 = 0;\n      iVar10 = 4;\n      iVar11 = *(int *)PTR_interactive_shell_00144598;\n      piVar9 = *(int **)PTR_jobs_00144e5c;\n      piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n      do {\n        while (((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))))) {\n          iVar7 = iVar7 + 1;\n          piVar9 = piVar9 + 1;\n          if (iVar7 == iVar6) goto LAB_00065cdc;\n        }\n        iVar4 = 0;\n        piVar5 = *(int **)(iVar8 + 4);\n        do {\n          piVar5 = (int *)*piVar5;\n          iVar4 = iVar4 + 1;\n        } while (*(int **)(iVar8 + 4) != piVar5);\n        unaff_s3 = unaff_s3 + -iVar4;\n        iVar7 = iVar7 + 1;\n        if ((int)unaff_s3 <= in_t2) break;\n        piVar9 = piVar9 + 1;\n        *(uint *)(iVar8 + 0x10) = *(uint *)(iVar8 + 0x10) | 2;\n      } while (iVar7 != iVar6);\n    }\nLAB_00065cdc:\n    (*(code *)PTR_sigprocmask_00146514)(3,unaff_s1,0);\nLAB_00065b24:\n    if (local_1c == *(int *)puVar2) {\n      return;\n    }\n    iVar6 = (*(code *)PTR___stack_chk_fail_00146488)();\nLAB_00065dc4:\n    *(int *)puVar1 = iVar6;\n  } while( true );" (statement_identifier "LAB_00065c1c") (: ":") (do_statement "do {\n    if ((in_t2 < (int)unaff_s3) && (iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6)) {\n      iVar7 = 0;\n      iVar10 = 4;\n      iVar11 = *(int *)PTR_interactive_shell_00144598;\n      piVar9 = *(int **)PTR_jobs_00144e5c;\n      piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n      do {\n        while (((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))))) {\n          iVar7 = iVar7 + 1;\n          piVar9 = piVar9 + 1;\n          if (iVar7 == iVar6) goto LAB_00065cdc;\n        }\n        iVar4 = 0;\n        piVar5 = *(int **)(iVar8 + 4);\n        do {\n          piVar5 = (int *)*piVar5;\n          iVar4 = iVar4 + 1;\n        } while (*(int **)(iVar8 + 4) != piVar5);\n        unaff_s3 = unaff_s3 + -iVar4;\n        iVar7 = iVar7 + 1;\n        if ((int)unaff_s3 <= in_t2) break;\n        piVar9 = piVar9 + 1;\n        *(uint *)(iVar8 + 0x10) = *(uint *)(iVar8 + 0x10) | 2;\n      } while (iVar7 != iVar6);\n    }\nLAB_00065cdc:\n    (*(code *)PTR_sigprocmask_00146514)(3,unaff_s1,0);\nLAB_00065b24:\n    if (local_1c == *(int *)puVar2) {\n      return;\n    }\n    iVar6 = (*(code *)PTR___stack_chk_fail_00146488)();\nLAB_00065dc4:\n    *(int *)puVar1 = iVar6;\n  } while( true );" (do "do") (compound_statement "{\n    if ((in_t2 < (int)unaff_s3) && (iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6)) {\n      iVar7 = 0;\n      iVar10 = 4;\n      iVar11 = *(int *)PTR_interactive_shell_00144598;\n      piVar9 = *(int **)PTR_jobs_00144e5c;\n      piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n      do {\n        while (((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))))) {\n          iVar7 = iVar7 + 1;\n          piVar9 = piVar9 + 1;\n          if (iVar7 == iVar6) goto LAB_00065cdc;\n        }\n        iVar4 = 0;\n        piVar5 = *(int **)(iVar8 + 4);\n        do {\n          piVar5 = (int *)*piVar5;\n          iVar4 = iVar4 + 1;\n        } while (*(int **)(iVar8 + 4) != piVar5);\n        unaff_s3 = unaff_s3 + -iVar4;\n        iVar7 = iVar7 + 1;\n        if ((int)unaff_s3 <= in_t2) break;\n        piVar9 = piVar9 + 1;\n        *(uint *)(iVar8 + 0x10) = *(uint *)(iVar8 + 0x10) | 2;\n      } while (iVar7 != iVar6);\n    }\nLAB_00065cdc:\n    (*(code *)PTR_sigprocmask_00146514)(3,unaff_s1,0);\nLAB_00065b24:\n    if (local_1c == *(int *)puVar2) {\n      return;\n    }\n    iVar6 = (*(code *)PTR___stack_chk_fail_00146488)();\nLAB_00065dc4:\n    *(int *)puVar1 = iVar6;\n  }" ({ "{") (if_statement "if ((in_t2 < (int)unaff_s3) && (iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6)) {\n      iVar7 = 0;\n      iVar10 = 4;\n      iVar11 = *(int *)PTR_interactive_shell_00144598;\n      piVar9 = *(int **)PTR_jobs_00144e5c;\n      piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n      do {\n        while (((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))))) {\n          iVar7 = iVar7 + 1;\n          piVar9 = piVar9 + 1;\n          if (iVar7 == iVar6) goto LAB_00065cdc;\n        }\n        iVar4 = 0;\n        piVar5 = *(int **)(iVar8 + 4);\n        do {\n          piVar5 = (int *)*piVar5;\n          iVar4 = iVar4 + 1;\n        } while (*(int **)(iVar8 + 4) != piVar5);\n        unaff_s3 = unaff_s3 + -iVar4;\n        iVar7 = iVar7 + 1;\n        if ((int)unaff_s3 <= in_t2) break;\n        piVar9 = piVar9 + 1;\n        *(uint *)(iVar8 + 0x10) = *(uint *)(iVar8 + 0x10) | 2;\n      } while (iVar7 != iVar6);\n    }" (if "if") (parenthesized_expression "((in_t2 < (int)unaff_s3) && (iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6))" (( "(") (binary_expression "(in_t2 < (int)unaff_s3) && (iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6)" (parenthesized_expression "(in_t2 < (int)unaff_s3)" (( "(") (binary_expression "in_t2 < (int)unaff_s3" (identifier "in_t2") (< "<") (cast_expression "(int)unaff_s3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s3"))) () ")")) (&& "&&") (parenthesized_expression "(iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6)" (( "(") (comma_expression "iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6" (assignment_expression "iVar6 = *(int *)(puVar1 + 0x18)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(puVar1 + 0x18)" (* "*") (cast_expression "(int *)(puVar1 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + 0x18)" (( "(") (binary_expression "puVar1 + 0x18" (identifier "puVar1") (+ "+") (number_literal "0x18")) () ")"))))) (, ",") (binary_expression "0 < iVar6" (number_literal "0") (< "<") (identifier "iVar6"))) () ")"))) () ")")) (compound_statement "{\n      iVar7 = 0;\n      iVar10 = 4;\n      iVar11 = *(int *)PTR_interactive_shell_00144598;\n      piVar9 = *(int **)PTR_jobs_00144e5c;\n      piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;\n      do {\n        while (((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))))) {\n          iVar7 = iVar7 + 1;\n          piVar9 = piVar9 + 1;\n          if (iVar7 == iVar6) goto LAB_00065cdc;\n        }\n        iVar4 = 0;\n        piVar5 = *(int **)(iVar8 + 4);\n        do {\n          piVar5 = (int *)*piVar5;\n          iVar4 = iVar4 + 1;\n        } while (*(int **)(iVar8 + 4) != piVar5);\n        unaff_s3 = unaff_s3 + -iVar4;\n        iVar7 = iVar7 + 1;\n        if ((int)unaff_s3 <= in_t2) break;\n        piVar9 = piVar9 + 1;\n        *(uint *)(iVar8 + 0x10) = *(uint *)(iVar8 + 0x10) | 2;\n      } while (iVar7 != iVar6);\n    }" ({ "{") (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar10 = 4;" (assignment_expression "iVar10 = 4" (identifier "iVar10") (= "=") (number_literal "4")) (; ";")) (expression_statement "iVar11 = *(int *)PTR_interactive_shell_00144598;" (assignment_expression "iVar11 = *(int *)PTR_interactive_shell_00144598" (identifier "iVar11") (= "=") (pointer_expression "*(int *)PTR_interactive_shell_00144598" (* "*") (cast_expression "(int *)PTR_interactive_shell_00144598" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_interactive_shell_00144598")))) (; ";")) (expression_statement "piVar9 = *(int **)PTR_jobs_00144e5c;" (assignment_expression "piVar9 = *(int **)PTR_jobs_00144e5c" (identifier "piVar9") (= "=") (pointer_expression "*(int **)PTR_jobs_00144e5c" (* "*") (cast_expression "(int **)PTR_jobs_00144e5c" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_jobs_00144e5c")))) (; ";")) (expression_statement "piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;" (assignment_expression "piVar3 = (int *)PTR_last_asynchronous_pid_00144d30" (identifier "piVar3") (= "=") (cast_expression "(int *)PTR_last_asynchronous_pid_00144d30" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_last_asynchronous_pid_00144d30"))) (; ";")) (do_statement "do {\n        while (((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))))) {\n          iVar7 = iVar7 + 1;\n          piVar9 = piVar9 + 1;\n          if (iVar7 == iVar6) goto LAB_00065cdc;\n        }\n        iVar4 = 0;\n        piVar5 = *(int **)(iVar8 + 4);\n        do {\n          piVar5 = (int *)*piVar5;\n          iVar4 = iVar4 + 1;\n        } while (*(int **)(iVar8 + 4) != piVar5);\n        unaff_s3 = unaff_s3 + -iVar4;\n        iVar7 = iVar7 + 1;\n        if ((int)unaff_s3 <= in_t2) break;\n        piVar9 = piVar9 + 1;\n        *(uint *)(iVar8 + 0x10) = *(uint *)(iVar8 + 0x10) | 2;\n      } while (iVar7 != iVar6);" (do "do") (compound_statement "{\n        while (((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))))) {\n          iVar7 = iVar7 + 1;\n          piVar9 = piVar9 + 1;\n          if (iVar7 == iVar6) goto LAB_00065cdc;\n        }\n        iVar4 = 0;\n        piVar5 = *(int **)(iVar8 + 4);\n        do {\n          piVar5 = (int *)*piVar5;\n          iVar4 = iVar4 + 1;\n        } while (*(int **)(iVar8 + 4) != piVar5);\n        unaff_s3 = unaff_s3 + -iVar4;\n        iVar7 = iVar7 + 1;\n        if ((int)unaff_s3 <= in_t2) break;\n        piVar9 = piVar9 + 1;\n        *(uint *)(iVar8 + 0x10) = *(uint *)(iVar8 + 0x10) | 2;\n      }" ({ "{") (while_statement "while (((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))))) {\n          iVar7 = iVar7 + 1;\n          piVar9 = piVar9 + 1;\n          if (iVar7 == iVar6) goto LAB_00065cdc;\n        }" (while "while") (parenthesized_expression "(((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4))))))" (( "(") (parenthesized_expression "((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))))" (( "(") (binary_expression "(iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||\n               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4))))" (parenthesized_expression "(iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10))" (( "(") (comma_expression "iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)" (assignment_expression "iVar8 = *piVar9" (identifier "iVar8") (= "=") (pointer_expression "*piVar9" (* "*") (identifier "piVar9"))) (, ",") (binary_expression "iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)" (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) (|| "||") (parenthesized_expression "(*(int *)(iVar8 + 0xc) != iVar10)" (( "(") (binary_expression "*(int *)(iVar8 + 0xc) != iVar10" (pointer_expression "*(int *)(iVar8 + 0xc)" (* "*") (cast_expression "(int *)(iVar8 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0xc)" (( "(") (binary_expression "iVar8 + 0xc" (identifier "iVar8") (+ "+") (number_literal "0xc")) () ")")))) (!= "!=") (identifier "iVar10")) () ")")))) () ")")) (|| "||") (parenthesized_expression "((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4))))" (( "(") (parenthesized_expression "(iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))" (( "(") (binary_expression "iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4))" (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "(iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4))" (( "(") (comma_expression "iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)" (assignment_expression "iVar4 = FUN_00065a6c(iVar7)" (identifier "iVar4") (= "=") (call_expression "FUN_00065a6c(iVar7)" (identifier "FUN_00065a6c") (argument_list "(iVar7)" (( "(") (identifier "iVar7") () ")")))) (, ",") (binary_expression "*piVar3 == *(int *)(iVar4 + 4)" (pointer_expression "*piVar3" (* "*") (identifier "piVar3")) (== "==") (pointer_expression "*(int *)(iVar4 + 4)" (* "*") (cast_expression "(int *)(iVar4 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 4)" (( "(") (binary_expression "iVar4 + 4" (identifier "iVar4") (+ "+") (number_literal "4")) () ")")))))) () ")"))) () ")")) () ")"))) () ")")) () ")")) (compound_statement "{\n          iVar7 = iVar7 + 1;\n          piVar9 = piVar9 + 1;\n          if (iVar7 == iVar6) goto LAB_00065cdc;\n        }" ({ "{") (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + 1" (identifier "iVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar9 = piVar9 + 1;" (assignment_expression "piVar9 = piVar9 + 1" (identifier "piVar9") (= "=") (binary_expression "piVar9 + 1" (identifier "piVar9") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar7 == iVar6) goto LAB_00065cdc;" (if "if") (parenthesized_expression "(iVar7 == iVar6)" (( "(") (binary_expression "iVar7 == iVar6" (identifier "iVar7") (== "==") (identifier "iVar6")) () ")")) (goto_statement "goto LAB_00065cdc;" (goto "goto") (statement_identifier "LAB_00065cdc") (; ";"))) (} "}"))) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar5 = *(int **)(iVar8 + 4);" (assignment_expression "piVar5 = *(int **)(iVar8 + 4)" (identifier "piVar5") (= "=") (pointer_expression "*(int **)(iVar8 + 4)" (* "*") (cast_expression "(int **)(iVar8 + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar8 + 4)" (( "(") (binary_expression "iVar8 + 4" (identifier "iVar8") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (do_statement "do {\n          piVar5 = (int *)*piVar5;\n          iVar4 = iVar4 + 1;\n        } while (*(int **)(iVar8 + 4) != piVar5);" (do "do") (compound_statement "{\n          piVar5 = (int *)*piVar5;\n          iVar4 = iVar4 + 1;\n        }" ({ "{") (expression_statement "piVar5 = (int *)*piVar5;" (assignment_expression "piVar5 = (int *)*piVar5" (identifier "piVar5") (= "=") (cast_expression "(int *)*piVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar5" (* "*") (identifier "piVar5")))) (; ";")) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(int **)(iVar8 + 4) != piVar5)" (( "(") (binary_expression "*(int **)(iVar8 + 4) != piVar5" (pointer_expression "*(int **)(iVar8 + 4)" (* "*") (cast_expression "(int **)(iVar8 + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar8 + 4)" (( "(") (binary_expression "iVar8 + 4" (identifier "iVar8") (+ "+") (number_literal "4")) () ")")))) (!= "!=") (identifier "piVar5")) () ")")) (; ";")) (expression_statement "unaff_s3 = unaff_s3 + -iVar4;" (assignment_expression "unaff_s3 = unaff_s3 + -iVar4" (identifier "unaff_s3") (= "=") (binary_expression "unaff_s3 + -iVar4" (identifier "unaff_s3") (+ "+") (unary_expression "-iVar4" (- "-") (identifier "iVar4")))) (; ";")) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + 1" (identifier "iVar7") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if ((int)unaff_s3 <= in_t2) break;" (if "if") (parenthesized_expression "((int)unaff_s3 <= in_t2)" (( "(") (binary_expression "(int)unaff_s3 <= in_t2" (cast_expression "(int)unaff_s3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s3")) (<= "<=") (identifier "in_t2")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "piVar9 = piVar9 + 1;" (assignment_expression "piVar9 = piVar9 + 1" (identifier "piVar9") (= "=") (binary_expression "piVar9 + 1" (identifier "piVar9") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(uint *)(iVar8 + 0x10) = *(uint *)(iVar8 + 0x10) | 2;" (assignment_expression "*(uint *)(iVar8 + 0x10) = *(uint *)(iVar8 + 0x10) | 2" (pointer_expression "*(uint *)(iVar8 + 0x10)" (* "*") (cast_expression "(uint *)(iVar8 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x10)" (( "(") (binary_expression "iVar8 + 0x10" (identifier "iVar8") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "*(uint *)(iVar8 + 0x10) | 2" (pointer_expression "*(uint *)(iVar8 + 0x10)" (* "*") (cast_expression "(uint *)(iVar8 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x10)" (( "(") (binary_expression "iVar8 + 0x10" (identifier "iVar8") (+ "+") (number_literal "0x10")) () ")")))) (| "|") (number_literal "2"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar7 != iVar6)" (( "(") (binary_expression "iVar7 != iVar6" (identifier "iVar7") (!= "!=") (identifier "iVar6")) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_00065cdc:\n    (*(code *)PTR_sigprocmask_00146514)(3,unaff_s1,0);" (statement_identifier "LAB_00065cdc") (: ":") (expression_statement "(*(code *)PTR_sigprocmask_00146514)(3,unaff_s1,0);" (call_expression "(*(code *)PTR_sigprocmask_00146514)(3,unaff_s1,0)" (parenthesized_expression "(*(code *)PTR_sigprocmask_00146514)" (( "(") (pointer_expression "*(code *)PTR_sigprocmask_00146514" (* "*") (cast_expression "(code *)PTR_sigprocmask_00146514" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sigprocmask_00146514"))) () ")")) (argument_list "(3,unaff_s1,0)" (( "(") (number_literal "3") (, ",") (identifier "unaff_s1") (, ",") (number_literal "0") () ")"))) (; ";"))) (labeled_statement "LAB_00065b24:\n    if (local_1c == *(int *)puVar2) {\n      return;\n    }" (statement_identifier "LAB_00065b24") (: ":") (if_statement "if (local_1c == *(int *)puVar2) {\n      return;\n    }" (if "if") (parenthesized_expression "(local_1c == *(int *)puVar2)" (( "(") (binary_expression "local_1c == *(int *)puVar2" (identifier "local_1c") (== "==") (pointer_expression "*(int *)puVar2" (* "*") (cast_expression "(int *)puVar2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2")))) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}")))) (expression_statement "iVar6 = (*(code *)PTR___stack_chk_fail_00146488)();" (assignment_expression "iVar6 = (*(code *)PTR___stack_chk_fail_00146488)()" (identifier "iVar6") (= "=") (call_expression "(*(code *)PTR___stack_chk_fail_00146488)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00146488)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_00146488" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_00146488" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_00146488"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (labeled_statement "LAB_00065dc4:\n    *(int *)puVar1 = iVar6;" (statement_identifier "LAB_00065dc4") (: ":") (expression_statement "*(int *)puVar1 = iVar6;" (assignment_expression "*(int *)puVar1 = iVar6" (pointer_expression "*(int *)puVar1" (* "*") (cast_expression "(int *)puVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) (= "=") (identifier "iVar6")) (; ";"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";"))) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (goto_statement label: (statement_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 (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 (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (identifier) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier)))) right: (binary_expression left: (pointer_expression argument: (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))))))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier)))) condition: (parenthesized_expression (true))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) 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))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (do_statement body: (compound_statement (while_statement condition: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (comma_expression left: (assignment_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)))))))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (goto_statement label: (statement_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)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))) (labeled_statement label: (statement_identifier) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (parenthesized_expression (comma_expression left: (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)))))) right: (binary_expression left: (number_literal) right: (identifier)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (do_statement body: (compound_statement (while_statement condition: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier)))) right: (binary_expression left: (pointer_expression argument: (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)))))))))))))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (labeled_statement label: (statement_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 (number_literal) (identifier) (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)))) (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)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier))))) condition: (parenthesized_expression (true)))))))

void MASKED(int param_1)

{
  undefined *puVar1;
  undefined *puVar2;
  int *piVar3;
  int iVar4;
  int *piVar5;
  int iVar6;
  int iVar7;
  int iVar8;
  int *piVar9;
  int iVar10;
  int in_t2;
  int iVar11;
  undefined1 *unaff_s1;
  undefined1 *unaff_s3;
  undefined1 auStack_11c [128];
  undefined1 auStack_9c [128];
  int local_1c;
  
  puVar2 = PTR___stack_chk_guard_001464dc;
  puVar1 = PTR_js_00144e58;
  local_1c = *(int *)PTR___stack_chk_guard_001464dc;
  if (*(int *)(PTR_js_00144e58 + 0x18) == 0) goto LAB_00065b24;
  unaff_s3 = auStack_11c;
  (*(code *)PTR_sigemptyset_001462d4)(unaff_s3);
  unaff_s1 = auStack_9c;
  (*(code *)PTR_sigaddset_00146364)(unaff_s3,0x12);
  (*(code *)PTR_sigemptyset_001462d4)(unaff_s1);
  (*(code *)PTR_sigprocmask_00146514)(1,unaff_s3,unaff_s1);
  if (param_1 != 0) {
    iVar6 = *(int *)(puVar1 + 0x18);
    if (iVar6 < 1) goto LAB_00065cdc;
    iVar7 = 0;
    iVar10 = 4;
    in_t2 = *(int *)PTR_interactive_shell_00144598;
    piVar9 = *(int **)PTR_jobs_00144e5c;
    piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;
    do {
      iVar11 = *piVar9;
      if (((iVar11 != 0) && (*(int *)(iVar11 + 0xc) == iVar10)) &&
         ((in_t2 != 0 || (iVar8 = FUN_00065a6c(iVar7), *piVar3 != *(int *)(iVar8 + 4))))) {
        *(uint *)(iVar11 + 0x10) = *(uint *)(iVar11 + 0x10) | 2;
      }
      iVar7 = iVar7 + 1;
      piVar9 = piVar9 + 1;
      if (iVar7 == iVar6) goto LAB_00065cdc;
    } while( true );
  }
  if (*(int *)(puVar1 + 0x18) < 1) {
    if (-1 < *(int *)puVar1) goto LAB_00065cdc;
    unaff_s3 = (undefined1 *)0x0;
  }
  else {
    unaff_s3 = (undefined1 *)0x0;
    piVar3 = *(int **)PTR_jobs_00144e5c;
    piVar9 = piVar3 + *(int *)(puVar1 + 0x18);
    do {
      while ((iVar6 = *piVar3, iVar6 == 0 || (iVar7 = 0, *(int *)(iVar6 + 0xc) != 4))) {
        piVar3 = piVar3 + 1;
        if (piVar3 == piVar9) goto LAB_00065c10;
      }
      piVar5 = *(int **)(iVar6 + 4);
      do {
        piVar5 = (int *)*piVar5;
        iVar7 = iVar7 + 1;
      } while (*(int **)(iVar6 + 4) != piVar5);
      piVar3 = piVar3 + 1;
      unaff_s3 = unaff_s3 + iVar7;
    } while (piVar3 != piVar9);
LAB_00065c10:
    in_t2 = *(int *)puVar1;
    if (-1 < in_t2) goto LAB_00065c1c;
  }
  iVar6 = (*(code *)PTR_getmaxchild_00145174)();
  in_t2 = iVar6;
  if (-1 < iVar6) goto LAB_00065dc4;
  in_t2 = 0x20;
  *(undefined4 *)puVar1 = 0x20;
LAB_00065c1c:
  do {
    if ((in_t2 < (int)unaff_s3) && (iVar6 = *(int *)(puVar1 + 0x18), 0 < iVar6)) {
      iVar7 = 0;
      iVar10 = 4;
      iVar11 = *(int *)PTR_interactive_shell_00144598;
      piVar9 = *(int **)PTR_jobs_00144e5c;
      piVar3 = (int *)PTR_last_asynchronous_pid_00144d30;
      do {
        while (((iVar8 = *piVar9, iVar8 == 0 || (*(int *)(iVar8 + 0xc) != iVar10)) ||
               ((iVar11 == 0 && (iVar4 = FUN_00065a6c(iVar7), *piVar3 == *(int *)(iVar4 + 4)))))) {
          iVar7 = iVar7 + 1;
          piVar9 = piVar9 + 1;
          if (iVar7 == iVar6) goto LAB_00065cdc;
        }
        iVar4 = 0;
        piVar5 = *(int **)(iVar8 + 4);
        do {
          piVar5 = (int *)*piVar5;
          iVar4 = iVar4 + 1;
        } while (*(int **)(iVar8 + 4) != piVar5);
        unaff_s3 = unaff_s3 + -iVar4;
        iVar7 = iVar7 + 1;
        if ((int)unaff_s3 <= in_t2) break;
        piVar9 = piVar9 + 1;
        *(uint *)(iVar8 + 0x10) = *(uint *)(iVar8 + 0x10) | 2;
      } while (iVar7 != iVar6);
    }
LAB_00065cdc:
    (*(code *)PTR_sigprocmask_00146514)(3,unaff_s1,0);
LAB_00065b24:
    if (local_1c == *(int *)puVar2) {
      return;
    }
    iVar6 = (*(code *)PTR___stack_chk_fail_00146488)();
LAB_00065dc4:
    *(int *)puVar1 = iVar6;
  } while( true );
}

